class option_description
Declaration
class option_description { /* full declaration omitted */ };Description
Describes one possible command line/config file option. There are two kinds of properties of an option. First describe it syntactically and are used only to validate input. Second affect interpretation of the option, for example default value for it or function that should be called when the value is finally known. Routines which perform parsing never use second kind of properties \ -- they are side effect free.
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:36
Method Overview
- public std::string canonical_display_name(int canonical_option_style = 0) const
- public const std::string & description() const
- public std::string format_name() const
- public std::string format_parameter() const
- public const std::string & key(const std::string & option) const
- public const std::string & long_name() const
- public const std::pair<const std::string *, std::size_t> long_names() const
- public pika::program_options::option_description::match_result match(const std::string & option, bool approx, bool long_ignore_case, bool short_ignore_case) const
- public option_description()
- public option_description(const char * name, const pika::program_options::value_semantic * s)
- public option_description(const char * name, const pika::program_options::value_semantic * s, const char * description)
- public std::shared_ptr<const value_semantic> semantic() const
- public virtual ~option_description()
Methods
std::string canonical_display_name(
int canonical_option_style = 0) const
std::string canonical_display_name(
int canonical_option_style = 0) constDescription
Returns the canonical name for the option description to enable the user to recognized a matching option. 1) For short options ('-', '/'), returns the short name prefixed. 2) For long options ('--' / '-') returns the first long name prefixed 3) All other cases, returns the first long name (if present) or the short name, un-prefixed.
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:104
Parameters
- int canonical_option_style = 0
const std::string& description() const
const std::string& description() constDescription
Explanation of this option
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:112
std::string format_name() const
std::string format_name() constDescription
Returns the option name, formatted suitably for usage message.
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:118
std::string format_parameter() const
std::string format_parameter() constDescription
Returns the parameter name and properties, formatted suitably for usage message.
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:122
const std::string& key(
const std::string& option) const
const std::string& key(
const std::string& option) constDescription
Returns the key that should identify the option, in particular in the variables_map class. The 'option' parameter is the option spelling from the input source. If option name contains '*', returns 'option'. If long name was specified, it's the long name, otherwise it's a short name with pre-pended '-'.
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:95
Parameters
- const std::string& option
const std::string& long_name() const
const std::string& long_name() constDeclared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:107
const std::pair<const std::string*, std::size_t>
long_names() const
const std::pair<const std::string*, std::size_t>
long_names() constDeclared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:109
pika::program_options::option_description::
match_result
match(const std::string& option,
bool approx,
bool long_ignore_case,
bool short_ignore_case) const
pika::program_options::option_description::
match_result
match(const std::string& option,
bool approx,
bool long_ignore_case,
bool short_ignore_case) constDescription
Given 'option', specified in the input source, returns 'true' if 'option' specifies *this.
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:84
Parameters
- const std::string& option
- bool approx
- bool long_ignore_case
- bool short_ignore_case
option_description()
option_description()Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:39
option_description(
const char* name,
const pika::program_options::value_semantic*
s)
option_description(
const char* name,
const pika::program_options::value_semantic*
s)Description
Initializes the object with the passed data. Note: it would be nice to make the second parameter auto_ptr, to explicitly pass ownership. Unfortunately, it's often needed to create objects of types derived from 'value_semantic': options_description d; d.add_options()("a", parameter <int >("n")->default_value(1)); Here, the static type returned by 'parameter' should be derived from value_semantic. Alas, derived->base conversion for auto_ptr does not really work, see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2000/n1232.pdf http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#84 So, we have to use plain old pointers. Besides, users are not expected to use the constructor directly. The 'name' parameter is interpreted by the following rules: - if there's no "," character in 'name', it specifies long name - otherwise, the part before "," specifies long name and the part after \ -- short name.
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:65
Parameters
- const char* name
- const pika::program_options::value_semantic* s
option_description(
const char* name,
const pika::program_options::value_semantic*
s,
const char* description)
option_description(
const char* name,
const pika::program_options::value_semantic*
s,
const char* description)Description
Initializes the class with the passed data.
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:69
Parameters
- const char* name
- const pika::program_options::value_semantic* s
- const char* description
std::shared_ptr<const value_semantic> semantic()
const
std::shared_ptr<const value_semantic> semantic()
constDescription
Semantic of option's value
Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:115
virtual ~option_description()
virtual ~option_description()Declared at: libs/pika/program_options/include/pika/program_options/options_description.hpp:72