#include <CmdLineParser.hpp>
Public Types | |
enum | EArgumentTypeFlag { E_NO_ARG, E_REQUIRED_ARG, E_OPTIONAL_ARG } |
Flags that can be used to specify how a command line option is processing by the CmdLineParser class. More... | |
enum | EErrorCodes { E_INVALID_OPTION, E_MISSING_ARGUMENT, E_INVALID_NON_OPTION_ARG, E_MISSING_OPTION } |
Error codes that may be found in a CmdLineParserException. More... | |
enum | EAllowNonOptionArgsFlag { E_NON_OPTION_ARGS_ALLOWED, E_NON_OPTION_ARGS_INVALID } |
Flags used to control whether or not non option arguments are allowed on the command line. More... | |
Public Member Functions | |
CmdLineParser (int argc, char const *const *const argv, const Option *options, EAllowNonOptionArgsFlag allowNonOptionArgs) | |
Construct a new CmdLineParser object. | |
String | getOptionValue (int id, const char *defaultValue="") const |
Retrieve a value that corresponds to a string option id. | |
String | mustGetOptionValue (int id, const char *exceptionMessage="") const |
Retrieve a value that corresponds to an string option id. | |
StringArray | getOptionValueList (int id) const |
Retrieve the values from all occurences of a string option. | |
StringArray | mustGetOptionValueList (int id, const char *exceptionMessage="") const |
Retrieve all occurences of a string option. | |
bool | isSet (int id) const |
Retrieve the value of a boolean option or check for the presence of string option. | |
size_t | getNonOptionCount () const |
String | getNonOptionArg (size_t n) const |
Retrieve a non-option argument. | |
StringArray | getNonOptionArgs () const |
Retrieve all non-option arguments. | |
Static Public Member Functions | |
static String | getUsage (const Option *options, unsigned int maxColumns=80) |
Generate a usage string for the options. | |
Private Types | |
typedef SortedVectorMap< int, StringArray > | optionsMap_t |
Private Attributes | |
optionsMap_t | m_parsedOptions |
StringArray | m_nonOptionArgs |
Classes | |
struct | Option |
The Option structure is used to hold information about a single command line option. More... |
Thread safety: read/write Copy semantics: Value Exception safety: Strong
Definition at line 57 of file CmdLineParser.hpp.
|
Definition at line 230 of file CmdLineParser.hpp. |
|
Flags used to control whether or not non option arguments are allowed on the command line.
Definition at line 119 of file CmdLineParser.hpp. |
|
Flags that can be used to specify how a command line option is processing by the CmdLineParser class.
Definition at line 65 of file CmdLineParser.hpp. |
|
Error codes that may be found in a CmdLineParserException.
Definition at line 78 of file CmdLineParser.hpp. |
|
Construct a new CmdLineParser object.
Definition at line 87 of file CmdLineParser.cpp. References BLOCXX_ASSERT, BLOCXX_THROW_ERR, BLOCXX_NAMESPACE::String::c_str(), E_INVALID_OPTION, E_MISSING_ARGUMENT, E_NO_ARG, E_OPTIONAL_ARG, E_REQUIRED_ARG, BLOCXX_NAMESPACE::String::length(), BLOCXX_NAMESPACE::CmdLineParser::Option::longopt, m_parsedOptions, BLOCXX_NAMESPACE::CmdLineParser::Option::shortopt, BLOCXX_NAMESPACE::String::substring(), and val. |
|
Retrieve a non-option argument.
Definition at line 369 of file CmdLineParser.cpp. References m_nonOptionArgs. |
|
Retrieve all non-option arguments.
Definition at line 376 of file CmdLineParser.cpp. References m_nonOptionArgs. |
|
Definition at line 362 of file CmdLineParser.cpp. References m_nonOptionArgs, and BLOCXX_NAMESPACE::Array< T >::size(). |
|
Retrieve a value that corresponds to a string option id.
Definition at line 304 of file CmdLineParser.cpp. References BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::end(), BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::find(), and m_parsedOptions. |
|
Retrieve the values from all occurences of a string option.
Definition at line 330 of file CmdLineParser.cpp. References BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::end(), BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::find(), and m_parsedOptions. |
|
Generate a usage string for the options. e.g.: "Options:\n" " -1, --one first description\n" " -2, --two [arg] second description (default is optional)\n" " -3, --three <arg> third description\n" The format [arg] is used to represent E_OPTIONAL_ARG options. The format <arg> is used to represent E_REQUIRED_ARG options.
Definition at line 196 of file CmdLineParser.cpp. References BLOCXX_NAMESPACE::CmdLineParser::Option::shortopt. |
|
Retrieve the value of a boolean option or check for the presence of string option.
Definition at line 355 of file CmdLineParser.cpp. References BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::count(), and m_parsedOptions. |
|
Retrieve a value that corresponds to an string option id. Throw and exception if the option was not specified.
Definition at line 317 of file CmdLineParser.cpp. References BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::end(), BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::find(), and m_parsedOptions. |
|
Retrieve all occurences of a string option.
Definition at line 343 of file CmdLineParser.cpp. References BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::end(), BLOCXX_NAMESPACE::SortedVectorMap< Key, T, Compare >::find(), and m_parsedOptions. |
|
Definition at line 232 of file CmdLineParser.hpp. Referenced by getNonOptionArg(), getNonOptionArgs(), and getNonOptionCount(). |
|
Definition at line 231 of file CmdLineParser.hpp. Referenced by CmdLineParser(), getOptionValue(), getOptionValueList(), isSet(), mustGetOptionValue(), and mustGetOptionValueList(). |