C++ Utilities
4.7.0
Common C++ classes and routines used by my applications such as argument parser, IO and conversion utilities
|
The ArgumentParser class provides a means for handling command line arguments. More...
#include <argumentparser.h>
Public Member Functions | |
ArgumentParser () | |
Constructs a new ArgumentParser. More... | |
const ArgumentVector & | mainArguments () const |
Returns the main arguments. More... | |
void | setMainArguments (const ArgumentInitializerList &mainArguments) |
Sets the main arguments for the parser. More... | |
void | addMainArgument (Argument *argument) |
Adds the specified argument to the main argument. More... | |
void | printHelp (std::ostream &os) const |
Prints help text for all assigned arguments. More... | |
void | parseArgs (int argc, const char *const *argv) |
Parses the specified command line arguments. More... | |
void | readArgs (int argc, const char *const *argv) |
Parses the specified command line arguments. More... | |
void | resetArgs () |
Resets all Argument instances assigned as mainArguments() and sub arguments. More... | |
unsigned int | actualArgumentCount () const |
Returns the actual number of arguments that could be found when parsing. More... | |
const char * | executable () const |
Returns the name of the current executable. More... | |
UnknownArgumentBehavior | unknownArgumentBehavior () const |
Returns how unknown arguments are treated. More... | |
void | setUnknownArgumentBehavior (UnknownArgumentBehavior behavior) |
Sets how unknown arguments are treated. More... | |
Argument * | defaultArgument () const |
Returns the default argument. More... | |
void | setDefaultArgument (Argument *argument) |
Sets the default argument. More... | |
void | checkConstraints () |
Checks whether contraints are violated. More... | |
void | invokeCallbacks () |
Invokes all assigned callbacks. More... | |
bool | isUncombinableMainArgPresent () const |
Checks whether at least one uncombinable main argument is present. More... | |
The ArgumentParser class provides a means for handling command line arguments.
To setup the parser create instances of ApplicationUtilities::Argument to define a set of known arguments and assign these to the parser using setMainArguments().
To invoke parsing call parseArgs(). The parser will verify the previously assigned definitions (and might throw std::invalid_argument) and then parse the given command line arguments according the definitions (and might throw ApplicationUtilities::Failure).
Definition at line 232 of file argumentparser.h.
ApplicationUtilities::ArgumentParser::ArgumentParser | ( | ) |
Constructs a new ArgumentParser.
Definition at line 545 of file argumentparser.cpp.
|
inline |
Returns the actual number of arguments that could be found when parsing.
Definition at line 751 of file argumentparser.h.
void ApplicationUtilities::ArgumentParser::addMainArgument | ( | Argument * | argument | ) |
Adds the specified argument to the main argument.
Definition at line 594 of file argumentparser.cpp.
|
inline |
Checks whether contraints are violated.
Throws | Failure if constraints are violated. |
Definition at line 807 of file argumentparser.h.
|
inline |
Returns the default argument.
Definition at line 788 of file argumentparser.h.
|
inline |
Returns the name of the current executable.
Definition at line 759 of file argumentparser.h.
|
inline |
Invokes all assigned callbacks.
Definition at line 816 of file argumentparser.h.
bool ApplicationUtilities::ArgumentParser::isUncombinableMainArgPresent | ( | ) | const |
Checks whether at least one uncombinable main argument is present.
Definition at line 736 of file argumentparser.cpp.
|
inline |
Returns the main arguments.
Definition at line 743 of file argumentparser.h.
void ApplicationUtilities::ArgumentParser::parseArgs | ( | int | argc, |
const char *const * | argv | ||
) |
Parses the specified command line arguments.
Throws | Failure if the specified arguments are invalid or violate the constraints defined by the Argument instances. |
Definition at line 651 of file argumentparser.cpp.
void ApplicationUtilities::ArgumentParser::printHelp | ( | std::ostream & | os | ) | const |
Prints help text for all assigned arguments.
Definition at line 603 of file argumentparser.cpp.
void ApplicationUtilities::ArgumentParser::readArgs | ( | int | argc, |
const char *const * | argv | ||
) |
Parses the specified command line arguments.
Throws | Failure if the specified arguments are invalid. |
Definition at line 669 of file argumentparser.cpp.
void ApplicationUtilities::ArgumentParser::resetArgs | ( | ) |
Resets all Argument instances assigned as mainArguments() and sub arguments.
Definition at line 725 of file argumentparser.cpp.
|
inline |
Sets the default argument.
Definition at line 797 of file argumentparser.h.
void ApplicationUtilities::ArgumentParser::setMainArguments | ( | const ArgumentInitializerList & | mainArguments | ) |
Sets the main arguments for the parser.
The parser will use these argument definitions to when parsing the command line arguments and when printing help information.
Definition at line 562 of file argumentparser.cpp.
|
inline |
Sets how unknown arguments are treated.
The default value is UnknownArgumentBehavior::Fail.
Definition at line 779 of file argumentparser.h.
|
inline |
Returns how unknown arguments are treated.
The default value is UnknownArgumentBehavior::Fail.
Definition at line 769 of file argumentparser.h.