Leaf that holds a read-only value. More...
#include "IOption.hpp"
Public Types | |
typedef NameT< nam > | Name |
Public Member Functions | |
virtual UsageLevel | usageLevel () const =0 |
Frequency / expected skills of users that access this leaf. | |
virtual ValueSource | valueSource () const =0 |
The context in which the value has been set. | |
virtual bool | empty () const =0 |
If its value has not been set, a leaf is considered empty. More... | |
virtual const T & | get () const =0 |
Get the value. | |
virtual const T & | getOr (const T &default_) const =0 |
Get the value or default_ if empty. | |
Public Member Functions inherited from IBase | |
virtual Names | enumerator () const =0 |
The option name as enumerator. | |
virtual String | name () const =0 |
The option name as string. | |
virtual String | path () const =0 |
The option name as string, preceded by the names of its parents, if any, interspersed with '.'. | |
virtual String | shortDescription () const =0 |
One-liner that describes this option. | |
virtual String | longDescription () const =0 |
Longer text that describes this option in more detail. | |
virtual bool | readOnly () const =0 |
Returns true if this or any of its parents is read-only. | |
virtual UsageLevel | minUsageLevel () const =0 |
For a leaf, this is its own usage level. For a node, this is the minimum usage level of all of its descendants: basic < mid < pro. | |
virtual Specs | specialization () const =0 |
The sub-type of this option. | |
Leaf that holds a read-only value.
nam | The leaf name. |
rdOnly | If true, then this leaf's value may not be changed. |
T | The value type. |
|
pure virtual |
If its value has not been set, a leaf is considered empty.
Accessing its value then raises an exception.