Class Scine::Utils::UniversalSettings::ParametrizedOptionListDescriptor

class ParametrizedOptionListDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor

SettingDescriptor for a list of options, of which one must be chosen, with corresponding settings (that depend on the exact option).

This is for example useful if one of several algorithms must be chosen for some task and each algorithm has specific settings.

Public Functions

ParametrizedOptionListDescriptor(std::string propertyDescription)

Constructor.

Parameters
  • propertyDescription: A string describing what the options are for

std::unique_ptr<SettingDescriptor> clone() const

Create a heap-allocated base pointer copy of this instance.

Return

A heap-allocated copy of this instance

GenericValue getDefaultGenericValue() const

Creates a type-erased representation of the setting’s default value.

Return

A type-erased representation of the setting’s default value

bool validValue(const GenericValue &v) const

Checks if a particular type-erased representation of a setting is a valid value for this kind of setting.

Return

Whether the type-erased representation is a valid value for this kind of setting

Parameters
  • v: A type-erased setting representation

int optionCount() const

Returns the number of available options.

bool optionExists(const std::string &name) const

Returns whether a string-identified option exists.

int getDefaultIndex() const

Returns the index of the default option within the list of options.

Exceptions

const std::string &getDefaultValue() const

Returns the default chosen value.

const std::string &getDefaultOption() const

Returns the default chosen value.

const std::vector<OptionAndSettings> &getAllOptions() const

Read-only accessor to list of option strings and their matching settings.

void addOption(std::string option)

Add an option for which there are no specific settings.

void addOption(std::string option, DescriptorCollection optionSettings)

Add an option with the corresponding specific settings.

void setDefaultOption(const std::string &def)

Sets the default option to a particular string.

Parameters
  • def: The option to select as default

Exceptions

const DescriptorCollection &getSettings(const std::string &option) const

Fetch the settings corresponding to a particular option.

const DescriptorCollection &getDefaultSettings() const

Fetch the settings corresponding to the default option.