|
|
| 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 (replaces get_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.
|
|