|  | 
|  | 
|  | Option (const Option &)=delete | 
|  | 
| Option & | operator= (const Option &)=delete | 
|  | 
| std::size_t | count () const | 
|  | Count the total number of times an option was passed. 
 | 
|  | 
| bool | empty () const | 
|  | True if the option was not passed. 
 | 
|  | 
|  | operator bool () const | 
|  | This class is true if option is passed. 
 | 
|  | 
| void | clear () | 
|  | Clear the parsed results (mostly for testing) 
 | 
|  | 
|  | 
| Option * | expected (int value) | 
|  | Set the number of expected arguments. 
 | 
|  | 
| Option * | expected (int value_min, int value_max) | 
|  | Set the range of expected arguments. 
 | 
|  | 
| Option * | allow_extra_args (bool value=true) | 
|  | 
| bool | get_allow_extra_args () const | 
|  | Get the current value of allow extra args. 
 | 
|  | 
| Option * | run_callback_for_default (bool value=true) | 
|  | 
| bool | get_run_callback_for_default () const | 
|  | Get the current value of run_callback_for_default. 
 | 
|  | 
| Option * | check (Validator validator, const std::string &validator_name="") | 
|  | Adds a Validator with a built in type name. 
 | 
|  | 
| Option * | check (std::function< std::string(const std::string &)> Validator, std::string Validator_description="", std::string Validator_name="") | 
|  | Adds a Validator. Takes a const string& and returns an error message (empty if conversion/check is okay). 
 | 
|  | 
| Option * | transform (Validator Validator, const std::string &Validator_name="") | 
|  | Adds a transforming Validator with a built in type name. 
 | 
|  | 
| Option * | transform (const std::function< std::string(std::string)> &func, std::string transform_description="", std::string transform_name="") | 
|  | Adds a Validator-like function that can change result. 
 | 
|  | 
| Option * | each (const std::function< void(std::string)> &func) | 
|  | Adds a user supplied function to run on each item passed in (communicate though lambda capture) 
 | 
|  | 
| Validator * | get_validator (const std::string &Validator_name="") | 
|  | Get a named Validator. 
 | 
|  | 
| Validator * | get_validator (int index) | 
|  | Get a Validator by index NOTE: this may not be the order of definition. 
 | 
|  | 
| Option * | needs (Option *opt) | 
|  | Sets required options. 
 | 
|  | 
| template<typename T  = App> | 
| Option * | needs (std::string opt_name) | 
|  | Can find a string if needed. 
 | 
|  | 
| template<typename A , typename B , typename... ARG> | 
| Option * | needs (A opt, B opt1, ARG... args) | 
|  | Any number supported, any mix of string and Opt. 
 | 
|  | 
| bool | remove_needs (Option *opt) | 
|  | Remove needs link from an option. Returns true if the option really was in the needs list. 
 | 
|  | 
| Option * | excludes (Option *opt) | 
|  | Sets excluded options. 
 | 
|  | 
| template<typename T  = App> | 
| Option * | excludes (std::string opt_name) | 
|  | Can find a string if needed. 
 | 
|  | 
| template<typename A , typename B , typename... ARG> | 
| Option * | excludes (A opt, B opt1, ARG... args) | 
|  | Any number supported, any mix of string and Opt. 
 | 
|  | 
| bool | remove_excludes (Option *opt) | 
|  | Remove needs link from an option. Returns true if the option really was in the needs list. 
 | 
|  | 
| Option * | envname (std::string name) | 
|  | Sets environment variable to read if no option given. 
 | 
|  | 
| template<typename T  = App> | 
| Option * | ignore_case (bool value=true) | 
|  | 
| template<typename T  = App> | 
| Option * | ignore_underscore (bool value=true) | 
|  | 
| Option * | multi_option_policy (MultiOptionPolicy value=MultiOptionPolicy::Throw) | 
|  | Take the last argument if given multiple times (or another policy) 
 | 
|  | 
| Option * | disable_flag_override (bool value=true) | 
|  | Disable flag overrides values, e.g. –flag=is not allowed. 
 | 
|  | 
|  | 
| int | get_type_size () const | 
|  | The number of arguments the option expects. 
 | 
|  | 
| int | get_type_size_min () const | 
|  | The minimum number of arguments the option expects. 
 | 
|  | 
| int | get_type_size_max () const | 
|  | The maximum number of arguments the option expects. 
 | 
|  | 
| std::string | get_envname () const | 
|  | The environment variable associated to this value. 
 | 
|  | 
| std::set< Option * > | get_needs () const | 
|  | The set of options needed. 
 | 
|  | 
| std::set< Option * > | get_excludes () const | 
|  | The set of options excluded. 
 | 
|  | 
| std::string | get_default_str () const | 
|  | The default value (for help printing) 
 | 
|  | 
| callback_t | get_callback () const | 
|  | Get the callback function. 
 | 
|  | 
| const std::vector< std::string > & | get_lnames () const | 
|  | Get the long names. 
 | 
|  | 
| const std::vector< std::string > & | get_snames () const | 
|  | Get the short names. 
 | 
|  | 
| const std::vector< std::string > & | get_fnames () const | 
|  | Get the flag names with specified default values. 
 | 
|  | 
| int | get_expected () const | 
|  | The number of times the option expects to be included. 
 | 
|  | 
| int | get_expected_min () const | 
|  | The number of times the option expects to be included. 
 | 
|  | 
| int | get_expected_max () const | 
|  | The max number of times the option expects to be included. 
 | 
|  | 
| int | get_items_expected_min () const | 
|  | The total min number of expected string values to be used. 
 | 
|  | 
| int | get_items_expected_max () const | 
|  | Get the maximum number of items expected to be returned and used for the callback. 
 | 
|  | 
| int | get_items_expected () const | 
|  | The total min number of expected string values to be used. 
 | 
|  | 
| bool | get_positional () const | 
|  | True if the argument can be given directly. 
 | 
|  | 
| bool | nonpositional () const | 
|  | True if option has at least one non-positional name. 
 | 
|  | 
| bool | has_description () const | 
|  | True if option has description. 
 | 
|  | 
| const std::string & | get_description () const | 
|  | Get the description. 
 | 
|  | 
| Option * | description (std::string option_description) | 
|  | Set the description. 
 | 
|  | 
|  | 
| std::string | get_name (bool positional=false, bool all_options=false) const | 
|  | Gets a comma separated list of names. Will include / prefer the positional name if positional is true. If all_options is false, pick just the most descriptive name to show. Use get_name(true)to get the positional name (replacesget_pname)
 | 
|  | 
|  | 
| void | run_callback () | 
|  | Process the callback. 
 | 
|  | 
| const std::string & | matching_name (const Option &other) const | 
|  | If options share any of the same names, find it. 
 | 
|  | 
| bool | operator== (const Option &other) const | 
|  | If options share any of the same names, they are equal (not counting positional) 
 | 
|  | 
| bool | check_name (std::string name) const | 
|  | Check a name. Requires "-" or "--" for short / long, supports positional name. 
 | 
|  | 
| bool | check_sname (std::string name) const | 
|  | Requires "-" to be removed from string. 
 | 
|  | 
| bool | check_lname (std::string name) const | 
|  | Requires "--" to be removed from string. 
 | 
|  | 
| bool | check_fname (std::string name) const | 
|  | Requires "--" to be removed from string. 
 | 
|  | 
| std::string | get_flag_value (const std::string &name, std::string input_value) const | 
|  | 
| Option * | add_result (std::string s) | 
|  | Puts a result at the end. 
 | 
|  | 
| Option * | add_result (std::string s, int &results_added) | 
|  | Puts a result at the end and get a count of the number of arguments actually added. 
 | 
|  | 
| Option * | add_result (std::vector< std::string > s) | 
|  | Puts a result at the end. 
 | 
|  | 
| results_t | results () const | 
|  | Get a copy of the results. 
 | 
|  | 
| results_t | reduced_results () const | 
|  | Get a copy of the results. 
 | 
|  | 
| template<typename T , enable_if_t<!std::is_const< T >::value, detail::enabler >  = detail::dummy> | 
| void | results (T &output) const | 
|  | Get the results as a specified type. 
 | 
|  | 
| template<typename T > | 
| T | as () const | 
|  | Return the results as the specified type. 
 | 
|  | 
| bool | get_callback_run () const | 
|  | See if the callback has been run already. 
 | 
|  | 
| Option * | group (const std::string &name) | 
|  | Changes the group membership. 
 | 
|  | 
| Option * | required (bool value=true) | 
|  | Set the option as required. 
 | 
|  | 
| Option * | mandatory (bool value=true) | 
|  | Support Plumbum term. 
 | 
|  | 
| Option * | always_capture_default (bool value=true) | 
|  | 
| const std::string & | get_group () const | 
|  | Get the group of this option. 
 | 
|  | 
| bool | get_required () const | 
|  | True if this is a required option. 
 | 
|  | 
| bool | get_ignore_case () const | 
|  | The status of ignore case. 
 | 
|  | 
| bool | get_ignore_underscore () const | 
|  | The status of ignore_underscore. 
 | 
|  | 
| bool | get_configurable () const | 
|  | The status of configurable. 
 | 
|  | 
| bool | get_disable_flag_override () const | 
|  | The status of configurable. 
 | 
|  | 
| char | get_delimiter () const | 
|  | Get the current delimiter char. 
 | 
|  | 
| bool | get_always_capture_default () const | 
|  | Return true if this will automatically capture the default value for help printing. 
 | 
|  | 
| MultiOptionPolicy | get_multi_option_policy () const | 
|  | The status of the multi option policy. 
 | 
|  | 
| Option * | take_last () | 
|  | Set the multi option policy to take last. 
 | 
|  | 
| Option * | take_first () | 
|  | Set the multi option policy to take last. 
 | 
|  | 
| Option * | take_all () | 
|  | Set the multi option policy to take all arguments. 
 | 
|  | 
| Option * | join () | 
|  | Set the multi option policy to join. 
 | 
|  | 
| Option * | join (char delim) | 
|  | Set the multi option policy to join with a specific delimiter. 
 | 
|  | 
| Option * | configurable (bool value=true) | 
|  | Allow in a configuration file. 
 | 
|  | 
| Option * | delimiter (char value='\0') | 
|  | Allow in a configuration file. 
 | 
|  | 
|  | 
|  | 
| std::vector< std::string > | snames_ {} | 
|  | A list of the short names ( -a) without the leading dashes.
 | 
|  | 
| std::vector< std::string > | lnames_ {} | 
|  | A list of the long names ( --long) without the leading dashes.
 | 
|  | 
| std::vector< std::pair< std::string, std::string > > | default_flag_values_ {} | 
|  | 
| std::vector< std::string > | fnames_ {} | 
|  | a list of flag names with specified default values; 
 | 
|  | 
| std::string | pname_ {} | 
|  | A positional name. 
 | 
|  | 
| std::string | envname_ {} | 
|  | If given, check the environment for this option. 
 | 
|  | 
|  | 
| std::string | description_ {} | 
|  | The description for help strings. 
 | 
|  | 
| std::string | default_str_ {} | 
|  | A human readable default value, either manually set, captured, or captured by default. 
 | 
|  | 
| std::function< std::string()> | type_name_ {[]() { return std::string(); }} | 
|  | 
| std::function< std::string()> | default_function_ {} | 
|  | Run this function to capture a default (ignore if empty) 
 | 
|  | 
|  | 
| int | type_size_max_ {1} | 
|  | 
| int | type_size_min_ {1} | 
|  | The minimum number of arguments an option should be expecting. 
 | 
|  | 
| int | expected_min_ {1} | 
|  | The minimum number of expected values. 
 | 
|  | 
| int | expected_max_ {1} | 
|  | The maximum number of expected values. 
 | 
|  | 
| std::vector< Validator > | validators_ {} | 
|  | A list of Validators to run on each value parsed. 
 | 
|  | 
| std::set< Option * > | needs_ {} | 
|  | A list of options that are required with this option. 
 | 
|  | 
| std::set< Option * > | excludes_ {} | 
|  | A list of options that are excluded with this option. 
 | 
|  | 
|  | 
| App * | parent_ {nullptr} | 
|  | Remember the parent app. 
 | 
|  | 
| callback_t | callback_ {} | 
|  | Options store a callback to do all the work. 
 | 
|  | 
| std::string | group_ | 
|  | The group membership. 
 | 
|  | 
| bool | required_ | 
|  | True if this is a required option. 
 | 
|  | 
| bool | ignore_case_ | 
|  | Ignore the case when matching (option, not value) 
 | 
|  | 
| bool | ignore_underscore_ | 
|  | Ignore underscores when matching (option, not value) 
 | 
|  | 
| bool | configurable_ | 
|  | Allow this option to be given in a configuration file. 
 | 
|  | 
| bool | disable_flag_override_ | 
|  | Disable overriding flag values with '=value'. 
 | 
|  | 
| char | delimiter_ | 
|  | Specify a delimiter character for vector arguments. 
 | 
|  | 
| bool | always_capture_default_ | 
|  | Automatically capture default value. 
 | 
|  | 
| MultiOptionPolicy | multi_option_policy_ | 
|  | Policy for handling multiple arguments beyond the expected Max. 
 | 
|  |