Namespace Scine::Utils::UniversalSettings

namespace UniversalSettings

Functions

ValueCollection createDefaultValueCollection(const DescriptorCollection &descriptors)
class BoolDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <BoolDescriptor.h>

Setting descriptor-derived boolean value.

SettingDescriptor for a bool value. This is a class that contains a string that explains what the setting is for and also a default value.

class CollectionListDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <CollectionListDescriptor.h>

SettingDescriptor for multiple SettingsDescriptors.

class DescriptorCollection : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <DescriptorCollection.h>

Setting that wraps a vector<pair<str, GenericDescriptor>>.

A setting (string descriptor, generic value pair) whose value is a list of string, GenericDescriptor pairs, which altogether define a nested list of descriptors.

Information

Checks whether a particular descriptor field exists in the configuration

class DirectoryDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <DirectoryDescriptor.h>

SettingDescriptor for a directory path.

class DoubleDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <DoubleDescriptor.h>

SettingDescriptor for a floating-point value.

Can set boundaries on valid values and a default value for this kind of setting.

class Exception : public runtime_error
#include <Exceptions.h>

Base class for UniversalSettings exceptions.

Subclassed by Scine::Utils::UniversalSettings::AlreadyExistingDescriptorException, Scine::Utils::UniversalSettings::AlreadyExistingValueException, Scine::Utils::UniversalSettings::EmptyOptionListException, Scine::Utils::UniversalSettings::InexistingDescriptorException, Scine::Utils::UniversalSettings::InexistingValueException, Scine::Utils::UniversalSettings::InvalidDescriptorConversionException, Scine::Utils::UniversalSettings::InvalidValueConversionException, Scine::Utils::UniversalSettings::OptionAlreadyExistsException, Scine::Utils::UniversalSettings::OptionDoesNotExistException, Scine::Utils::UniversalSettings::ValueHasDifferentTypeException

class FileDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <FileDescriptor.h>

SettingDescriptor for a file path.

class GenericDescriptor
#include <GenericDescriptor.h>

Wrapper around SettingDescriptor that hides the setting type.

Makes it possible to handle setting descriptors as objects (but is in principle similar to a pointer to the base class SettingDescriptor).

template<typename BaseT>
class GenericInstanceEditor
#include <GenericInstanceEditor.h>

Same as GenericInstanceEditor, defined below, without create function for the case that the constructor needs more parameters, which can then be specified in the derived class.

template<typename Base>
class GenericInstanceEditorWithDefaultConstructor : public Scine::Utils::UniversalSettings::GenericInstanceEditor<Base>
#include <GenericInstanceEditor.h>

Template for a class being able to create and modify instances of some polymorphic type from settings specified in the UniversalSettings syntax.

template<typename BaseEditor, typename T>
class GenericInstanceEditorImpl : public BaseEditor
#include <GenericInstanceEditor.h>

Specification of GenericInstanceEditorWithoutCreateFunction with the type T, to generate automatically some of the virtual functions.

Template Parameters
  • BaseEditor: must be some GenericInstanceEditor

  • T: class to instantiate, must be a * derived class of the template parameter of BaseEditor.

Subclassed by Scine::Utils::UniversalSettings::GenericInstanceEditorWithDefaultConstructorImpl< BaseEditor, T >

template<typename BaseEditor, typename T>
class GenericInstanceEditorWithDefaultConstructorImpl : public Scine::Utils::UniversalSettings::GenericInstanceEditorImpl<BaseEditor, T>
#include <GenericInstanceEditor.h>

Specification of GenericInstanceEditor with the type T, to generate automatically some of the virtual functions.

Template Parameters

class GenericValue
#include <GenericValue.h>

Class that uniformly stores multiple types of values.

Wrapper around some parameter value that hides the actual value. Makes it possible to handle different types as one object.

class InformationOutput
#include <InformationOutput.h>

This class prints information about setting descriptors in a human-readable format.

class IntDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <IntDescriptor.h>

SettingDescriptor for an integer value.

class IntListDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <IntListDescriptor.h>

SettingDescriptor for a list of integer values.

class OptionListDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <OptionListDescriptor.h>

SettingDescriptor for a list of options, of which one must be chosen.

class ParametrizedOptionListDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <ParametrizedOptionListDescriptor.h>

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.

struct ParametrizedOptionValue
#include <ParametrizedOptionValue.h>

Value struct for a ParametrizedOptionList NB: settingsKey is relevant for the generation of input files, as the option and the settings would be saved in different nodes in YAML, for instance. The key for the selectedOption is not registered, it is taken to be the one saved in SettingValueCollection.

class SettingDescriptor
#include <SettingDescriptor.h>

Class to restrict a particular setting’s type and values.

Contains a string explaining what the setting is for, possibly a default value and a function that checks if the contained value is valid for the setting described.

This is an abstract base class for type-specific descriptor implementations. Other classes derive from it not because of the need for polymorphism, but to collect common functionality (i.e. property description).

Subclassed by Scine::Utils::UniversalSettings::BoolDescriptor, Scine::Utils::UniversalSettings::CollectionListDescriptor, Scine::Utils::UniversalSettings::DescriptorCollection, Scine::Utils::UniversalSettings::DirectoryDescriptor, Scine::Utils::UniversalSettings::DoubleDescriptor, Scine::Utils::UniversalSettings::FileDescriptor, Scine::Utils::UniversalSettings::IntDescriptor, Scine::Utils::UniversalSettings::IntListDescriptor, Scine::Utils::UniversalSettings::OptionListDescriptor, Scine::Utils::UniversalSettings::ParametrizedOptionListDescriptor, Scine::Utils::UniversalSettings::StringDescriptor, Scine::Utils::UniversalSettings::StringListDescriptor

class SettingPopulator
#include <SettingPopulator.h>

This class populates the common settings of many calculators.

These settings include molecular charge, spin multiplicity, restricted/unrestricted formalism, and SCF options. It populates a Utils::UniversalSettings::DescriptorCollection with default values.

class StringDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <StringDescriptor.h>

SettingDescriptor for a string value.

class StringListDescriptor : public Scine::Utils::UniversalSettings::SettingDescriptor
#include <StringListDescriptor.h>

SettingDescriptor for a list of strings.

class ValueCollection
#include <ValueCollection.h>

Wrapper around vector<pair<string, GenericValue>>

Class holding values corresponding to some SettingDescriptorCollection. The functions addXXX() throw a AlreadyExistingValueException if the given name already exists. The functions getXXX() throw a InexistingValueException if the given value does not exist, and a InvalidValueConversionException if the incorrect type is requested. The functions modifyXXX() assume the key is already existing and throw a InexistingValueException if not, and a InvalidValueConversionException if the type is not the same.

Subclassed by Scine::Utils::Settings