Gromacs
2025-dev-20241002-88a4191
|
#include <gromacs/options/basicoptions.h>
Specifies an option that provides floating-point (float) values.
Public methods in this class do not throw.
Public Types | |
typedef FloatOptionInfo | InfoType |
OptionInfo subclass corresponding to this option type. | |
Public Types inherited from gmx::OptionTemplate< float, FloatOption > | |
typedef float | ValueType |
Type that stores a single option value. | |
typedef FloatOption | MyClass |
Alias for the derived class type. | |
Public Member Functions | |
FloatOption (const char *name) | |
Initializes an option with the given name. | |
MyClass & | vector () |
Sets the option to return a vector value. More... | |
MyClass & | timeValue () |
Marks this option as providing a time value whose unit can be changed. More... | |
Public Member Functions inherited from gmx::OptionTemplate< float, FloatOption > | |
MyClass & | description (const char *descr) |
Sets a description for the option. More... | |
MyClass & | hidden (bool bHidden=true) |
Hides the option from normal help output. | |
MyClass & | required (bool bRequired=true) |
Requires the option to be specified explicitly. More... | |
MyClass & | allowMultiple (bool bMulti=true) |
Allows the option to be specified multiple times. | |
MyClass & | valueCount (int count) |
Requires exactly count values for the option. | |
MyClass & | multiValue (bool bMulti=true) |
Allows any number of values for the option. | |
MyClass & | defaultValue (const float &defaultValue) |
Sets a default value for the option. More... | |
MyClass & | defaultValueIfSet (const float &defaultValue) |
Sets a default value for the option when it is set. More... | |
MyClass & | store (float *store) |
Stores value(s) in memory pointed by store . More... | |
MyClass & | storeCount (int *countptr) |
Stores number of values in the value pointed by countptr . More... | |
MyClass & | storeVector (std::vector< float > *store) |
Stores option values in the provided vector. More... | |
MyClass & | storeIsSet (bool *store) |
Stores whether the option was explicitly set. More... | |
Friends | |
class | FloatOptionStorage |
Needed to initialize FloatOptionStorage from this class without otherwise unnecessary accessors. | |
Additional Inherited Members | |
Protected Types inherited from gmx::OptionTemplate< float, FloatOption > | |
typedef OptionTemplate< float, FloatOption > | MyBase |
Alias for the template class for use in base classes. | |
Protected Member Functions inherited from gmx::OptionTemplate< float, FloatOption > | |
const float * | defaultValue () const |
Returns a pointer to user-specified default value, or NULL if there is none. | |
const float * | defaultValueIfSet () const |
Returns a pointer to user-specified default value, or NULL if there is none. | |
float * | store () const |
Returns a pointer to the storage location, or NULL if none specified. | |
std::vector< float > * | storeVector () const |
Returns a pointer to the storage vector, or NULL if none specified. | |
OptionTemplate (const char *name) | |
Initializes the name and default values for an option. | |
MyClass & | me () |
Returns *this casted into MyClass to reduce typing. | |
Protected Member Functions inherited from gmx::AbstractOption | |
AbstractOption (const char *name) | |
Initializes the name and default values for an option. | |
void | setDescription (const char *descr) |
Sets the description for the option. | |
void | setStoreIsSet (bool *store) |
Sets the storage location for whether the option is set. | |
void | setFlag (OptionFlag flag) |
Sets a flag for the option. | |
void | clearFlag (OptionFlag flag) |
Clears a flag for the option. | |
void | setFlag (OptionFlag flag, bool bSet) |
Sets or clears a flag for the option. | |
bool | isVector () const |
Returns true if the option is vector-valued. | |
void | setVector () |
Sets the option to be vector-valued. More... | |
void | setValueCount (int count) |
Sets the required number of values for the option. | |
Protected Attributes inherited from gmx::AbstractOption | |
int | minValueCount_ |
Minimum number of values required for the option. | |
int | maxValueCount_ |
Maximum number of values allowed for the option. | |
|
inline |
Marks this option as providing a time value whose unit can be changed.
By itself, this option does nothing. It marks the option as a time value such that TimeUnitManager::scaleTimeOptions() can process it. In typical cases, GROMACS scales the time options just before Options::finish() has been called, so the option value is only available after all option values have been processed. All values in the program are in ps (including any default value); user-provided values are scaled according to the time unit set in TimeUnitManager.
|
inline |
Sets the option to return a vector value.
A vector value returns a fixed number of values, the default being three (can be changed with valueCount()). However, it also accepts a single value, in which case the value is used to fill the whole vector.