File SettingDescriptor.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine
This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils
-
namespace
UniversalSettings
-
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
Public Functions
-
virtual
~SettingDescriptor
()¶
-
virtual std::unique_ptr<SettingDescriptor>
clone
() const = 0 Create a heap-allocated base pointer copy of this instance.
- Return
A heap-allocated copy of this instance
-
void
setPropertyDescription
(std::string propertyDescription) Changes the string explanation of what the setting is for.
- Parameters
propertyDescription
: The string explanation of what the setting is for
-
const std::string &
getPropertyDescription
() const Fetches the string explanation of what the setting is for.
- Return
The string explanation of what the setting is for
-
virtual GenericValue
getDefaultGenericValue
() const = 0 Creates a type-erased representation of the setting’s default value.
- Return
A type-erased representation of the setting’s default value
-
virtual bool
validValue
(const GenericValue &v) const = 0 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
Protected Functions
-
SettingDescriptor
(std::string propertyDescription) Allow instantiation only through derived classes.
Private Members
-
std::string
propertyDescription_
¶ String that explains what the setting is for.
-
virtual
-
class
-
namespace
-
namespace