#include <OW_CmdLineParser.hpp>
Collaboration diagram for OW_NAMESPACE::CmdLineParser:
Public Types | |
enum | EArgumentTypeFlag { E_NO_ARG, E_REQUIRED_ARG, E_OPTIONAL_ARG } |
enum | EErrorCodes { E_INVALID_OPTION, E_MISSING_ARGUMENT, E_INVALID_NON_OPTION_ARG, E_MISSING_OPTION } |
enum | EAllowNonOptionArgsFlag { E_NON_OPTION_ARGS_ALLOWED, E_NON_OPTION_ARGS_INVALID } |
Public Member Functions | |
CmdLineParser (int argc, char const *const *const argv, const Option *options, EAllowNonOptionArgsFlag allowNonOptionArgs) | |
String | getOptionValue (int id, const char *defaultValue="") const |
Read out a string option. | |
String | mustGetOptionValue (int id, const char *exceptionMessage="") const |
Read out a string option. | |
StringArray | getOptionValueList (int id) const |
Read out all occurences of a string option. | |
StringArray | mustGetOptionValueList (int id, const char *exceptionMessage="") const |
Read out all occurences of a string option. | |
bool | isSet (int id) const |
Read out a boolean option or check for the presence of string option. | |
size_t | getNonOptionCount () const |
Read the number of arguments that aren't options (but, for example, filenames). | |
String | getNonOptionArg (size_t n) const |
Read out an non-option argument. | |
StringArray | getNonOptionArgs () const |
Read out the non-option args. | |
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 |
Thread safety: read/write Copy semantics: Value Exception safety: Strong
Definition at line 55 of file OW_CmdLineParser.hpp.
|
Definition at line 180 of file OW_CmdLineParser.hpp. |
|
Definition at line 84 of file OW_CmdLineParser.hpp. |
|
Definition at line 58 of file OW_CmdLineParser.hpp. |
|
Definition at line 66 of file OW_CmdLineParser.hpp. |
|
Definition at line 85 of file OW_CmdLineParser.cpp. References OW_NAMESPACE::String::c_str(), E_INVALID_OPTION, E_MISSING_ARGUMENT, E_NO_ARG, E_OPTIONAL_ARG, E_REQUIRED_ARG, OW_NAMESPACE::String::length(), OW_NAMESPACE::CmdLineParser::Option::longopt, m_parsedOptions, OW_ASSERT, OW_THROW_ERR, OW_NAMESPACE::CmdLineParser::Option::shortopt, OW_NAMESPACE::String::substring(), and val. |
|
Read out an non-option argument.
Definition at line 367 of file OW_CmdLineParser.cpp. References m_nonOptionArgs. |
|
Read out the non-option args.
Definition at line 374 of file OW_CmdLineParser.cpp. References m_nonOptionArgs. |
|
Read the number of arguments that aren't options (but, for example, filenames).
Definition at line 360 of file OW_CmdLineParser.cpp. References m_nonOptionArgs, and OW_NAMESPACE::Array< T >::size(). |
|
Read out a string option.
Definition at line 302 of file OW_CmdLineParser.cpp. References OW_NAMESPACE::SortedVectorMap< Key, T, Compare >::end(), OW_NAMESPACE::SortedVectorMap< Key, T, Compare >::find(), and m_parsedOptions. |
|
Read out all occurences of a string option.
Definition at line 328 of file OW_CmdLineParser.cpp. References OW_NAMESPACE::SortedVectorMap< Key, T, Compare >::end(), OW_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" [arg] is used for E_OPTIONAL_ARG options, and <arg> for E_REQUIRED_ARG options.
Definition at line 194 of file OW_CmdLineParser.cpp. References OW_NAMESPACE::CmdLineParser::Option::shortopt. |
|
Read out a boolean option or check for the presence of string option.
Definition at line 353 of file OW_CmdLineParser.cpp. References OW_NAMESPACE::SortedVectorMap< Key, T, Compare >::count(), and m_parsedOptions. |
|
Read out a string option.
Definition at line 315 of file OW_CmdLineParser.cpp. References OW_NAMESPACE::SortedVectorMap< Key, T, Compare >::end(), OW_NAMESPACE::SortedVectorMap< Key, T, Compare >::find(), and m_parsedOptions. |
|
Read out all occurences of a string option.
Definition at line 341 of file OW_CmdLineParser.cpp. References OW_NAMESPACE::SortedVectorMap< Key, T, Compare >::end(), OW_NAMESPACE::SortedVectorMap< Key, T, Compare >::find(), and m_parsedOptions. |
|
Definition at line 182 of file OW_CmdLineParser.hpp. Referenced by getNonOptionArg(), getNonOptionArgs(), and getNonOptionCount(). |
|
Definition at line 181 of file OW_CmdLineParser.hpp. Referenced by CmdLineParser(), getOptionValue(), getOptionValueList(), isSet(), mustGetOptionValue(), and mustGetOptionValueList(). |