Gives information and allows modifications to an option after creation.
When an option is added with Options::addOption(), an object of a subclass of OptionInfo is returned. This object can be later used to access information about the option. Non-const methods also allow later changing (some of) the option settings provided at initialization time. The properties accessible/modifiable through this interface are implemented based on need, and may not be implemented for all cases.
This class is also used by OptionsVisitor and OptionsModifyingVisitor as the interface that allows querying/modifying each visited option.
This class isolates the details of the internal option implementation from callers. Although this class is a simple reference to the underlying implementation, it is implemented as non-copyable to allow const/non-const status of a reference to this class to indicate whether modifications are allowed. Otherwise, separate classes would be needed for access and modification, complicating the implementation. In the implementation, there is always a single OptionInfo instance referring to one option. The underlying implementation object always owns this instance, and only references are passed to callers.
- See Also
- Options::addOption()
-
OptionsVisitor
-
OptionsModifyingVisitor
|
template<class InfoType > |
bool | isType () const |
| Test whether the option is of a particular type. More...
|
|
template<class InfoType > |
InfoType * | toType () |
| Convert the info object to a particular type if the type is correct. More...
|
|
template<class InfoType > |
const InfoType * | toType () const |
| Convert the info object to a particular type if the type is correct. More...
|
|
bool | isSet () const |
| Returns true if the option has been set.
|
|
bool | isHidden () const |
| Returns true if the option is a hidden option.
|
|
bool | isRequired () const |
| Returns true if the option is required.
|
|
int | minValueCount () const |
| Returns the minimum number of values that this option accepts.
|
|
int | maxValueCount () const |
| Returns the maximum number of values that this option accepts.
|
|
const std::string & | name () const |
| Returns the name of the option.
|
|
std::string | type () const |
| Returns the type of the option as a string.
|
|
std::string | formatDescription () const |
| Returns the description of the option.
|
|
std::string | formatDefaultValueIfSet () const |
| Returns the default value if set for the option as a string. More...
|
|
int | valueCount () const |
| Returns the number of values given for the option.
|
|
std::string | formatValue (int i) const |
| Returns the i'th value of the option as a string.
|
|