C++ Utilities
5.3.0
Useful C++ classes and routines 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, ParseArgumentBehavior behavior=ParseArgumentBehavior::CheckConstraints|ParseArgumentBehavior::InvokeCallbacks|ParseArgumentBehavior::ExitOnFailure) |
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... | |
void | checkConstraints () |
Checks whether contraints are violated. More... | |
void | invokeCallbacks () |
Invokes all assigned callbacks. 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... | |
Argument * | specifiedOperation () const |
Returns the first operation argument specified by the user or nullptr if no operation has been specified. More... | |
bool | isUncombinableMainArgPresent () const |
Checks whether at least one uncombinable main argument is present. More... | |
void | setExitFunction (std::function< void(int)> exitFunction) |
Specifies a function quit the application. More... | |
const HelpArgument & | helpArg () const |
Returns the --help argument. More... | |
HelpArgument & | helpArg () |
const NoColorArgument & | noColorArg () const |
Returns the --no-color argument. More... | |
NoColorArgument & | noColorArg () |
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 CppUtilities::Failure).
Definition at line 450 of file argumentparser.h.
CppUtilities::ArgumentParser::ArgumentParser | ( | ) |
Constructs a new ArgumentParser.
Definition at line 730 of file argumentparser.cpp.
|
inline |
Returns the actual number of arguments that could be found when parsing.
Definition at line 1096 of file argumentparser.h.
void CppUtilities::ArgumentParser::addMainArgument | ( | Argument * | argument | ) |
Adds the specified argument to the main argument.
Definition at line 779 of file argumentparser.cpp.
|
inline |
Checks whether contraints are violated.
Throws | Failure if constraints are violated. |
Definition at line 1152 of file argumentparser.h.
|
inline |
Returns the default argument.
Definition at line 1133 of file argumentparser.h.
|
inline |
Returns the name of the current executable.
Definition at line 1104 of file argumentparser.h.
HelpArgument& CppUtilities::ArgumentParser::helpArg | ( | ) |
|
inline |
Returns the --help
argument.
Definition at line 1178 of file argumentparser.h.
|
inline |
Invokes all assigned callbacks.
Definition at line 1161 of file argumentparser.h.
bool CppUtilities::ArgumentParser::isUncombinableMainArgPresent | ( | ) | const |
Checks whether at least one uncombinable main argument is present.
Definition at line 1020 of file argumentparser.cpp.
|
inline |
Returns the main arguments.
Definition at line 1088 of file argumentparser.h.
NoColorArgument& CppUtilities::ArgumentParser::noColorArg | ( | ) |
|
inline |
Returns the --no-color
argument.
Definition at line 1194 of file argumentparser.h.
void CppUtilities::ArgumentParser::parseArgs | ( | int | argc, |
const char *const * | argv, | ||
ParseArgumentBehavior | behavior = ParseArgumentBehavior::CheckConstraints | ParseArgumentBehavior::InvokeCallbacks | ParseArgumentBehavior::ExitOnFailure |
||
) |
Parses the specified command line arguments.
The behavior is configurable by specifying the behavior argument. See ParseArgumentBehavior for the options. By default, all options are present.
Throws | Failure if the specified arguments are invalid and the ParseArgumentBehavior::ExitOnFailure flag is not present. |
Definition at line 894 of file argumentparser.cpp.
void CppUtilities::ArgumentParser::printHelp | ( | std::ostream & | os | ) | const |
Prints help text for all assigned arguments.
Definition at line 788 of file argumentparser.cpp.
void CppUtilities::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 930 of file argumentparser.cpp.
void CppUtilities::ArgumentParser::resetArgs | ( | ) |
Resets all Argument instances assigned as mainArguments() and sub arguments.
Definition at line 994 of file argumentparser.cpp.
|
inline |
Sets the default argument.
Definition at line 1142 of file argumentparser.h.
|
inline |
Specifies a function quit the application.
Definition at line 1170 of file argumentparser.h.
void CppUtilities::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 748 of file argumentparser.cpp.
|
inline |
Sets how unknown arguments are treated.
The default value is UnknownArgumentBehavior::Fail.
Definition at line 1124 of file argumentparser.h.
Argument * CppUtilities::ArgumentParser::specifiedOperation | ( | ) | const |
Returns the first operation argument specified by the user or nullptr if no operation has been specified.
Definition at line 1007 of file argumentparser.cpp.
|
inline |
Returns how unknown arguments are treated.
The default value is UnknownArgumentBehavior::Fail.
Definition at line 1114 of file argumentparser.h.