|
args-parser 6.3.6
|
CmdLine is class that holds all rguments and parse command line arguments in the correspondence with holded arguments. More...
#include <cmd_line.hpp>
Public Types | |
| enum | CmdLineOpt { Empty = 0 , CommandIsRequired = 1 , HandlePositionalArguments = 2 } |
| Command line options. More... | |
| using | ArgPtr = ArgPtrToAPI |
| Smart pointer to the argument. | |
| using | Arguments = std::vector<ArgPtr> |
| List of child arguments. | |
| using | CmdLineOpts = int |
| Storage of command line options. | |
Public Member Functions | |
| CmdLine (CmdLineOpts opt=Empty) | |
| Construct empty CmdLine. | |
| CmdLine (int argc, const char *const *argv, CmdLineOpts opt=Empty) | |
| Construct CmdLine with set command line arguments. | |
| virtual | ~CmdLine () |
| CmdLineOpts | parserOptions () const |
| CmdLine & | addArg (ArgIface *arg) |
| Add argument. | |
| CmdLine & | addArg (ArgIface &arg) |
| Add argument. | |
| CmdLine & | addArg (ArgPtr arg) |
| Add argument. | |
| void | parse () |
| Parse arguments. | |
| void | parse (int argc, const char *const *argv) |
| Parse arguments. | |
| const StringList & | positional () const |
| const String & | positionalDescription () const |
| CmdLine & | setPositionalDescription (const String &d) |
| Set positional string description for the help. | |
| ArgIface * | findArgument (const String &name) |
| const ArgIface * | findArgument (const String &name) const |
| const Arguments & | arguments () const |
| bool | isMisspelledName (const String &name, StringList &possibleNames) const |
| CmdLine & | addHelp (bool throwExceptionOnPrint=true, const String &appExe=String(), const String &appDesc=String(), String::size_type length=79, const String &posDesc=String()) |
| Add help. | |
| template<typename T> | |
| void | addHelp (T throwExceptionOnPrint, const String &appExe=String(), const String &appDesc=String(), String::size_type length=79)=delete |
| String | value (const String &name) const |
| StringList | values (const String &name) const |
| bool | isDefined (const String &name) const |
| void | clear () |
| Clear state of the arguments. | |
| Public Member Functions inherited from Args::details::API< PARENT, SELF, ARGPTR, true > | |
| API (PARENT &parent, SELF &self) | |
| virtual | ~API () |
| template<typename NAME> | |
| API< PARENT, OnlyOneGroup, ARGPTR, false > | addOnlyOneGroup (NAME &&name, bool required=false) |
| Add OnlyOneGroup. | |
| template<typename NAME> | |
| API< PARENT, AllOfGroup, ARGPTR, false > | addAllOfGroup (NAME &&name, bool required=false) |
| Add AllOfGroup. | |
| template<typename NAME> | |
| API< PARENT, AtLeastOneGroup, ARGPTR, false > | addAtLeastOneGroup (NAME &&name, bool required=false) |
| Add AtLeastOneGroup. | |
| template<typename NAME> | |
| PARENT & | addArgWithFlagAndName (Char flag, NAME &&name, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const String &defaultValue=String(), const String &valueSpecifier=String()) |
| Add argument. | |
| PARENT & | addArgWithFlagOnly (Char flag, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const String &defaultValue=String(), const String &valueSpecifier=String()) |
| Add argument with flag only. | |
| template<typename NAME> | |
| PARENT & | addArgWithNameOnly (NAME &&name, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const String &defaultValue=String(), const String &valueSpecifier=String()) |
| Add argument with name only. | |
| template<typename NAME> | |
| PARENT & | addMultiArg (Char flag, NAME &&name, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const String &defaultValue=String(), const String &valueSpecifier=String()) |
| Add multi argument. | |
| PARENT & | addMultiArgWithFlagOnly (Char flag, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const String &defaultValue=String(), const String &valueSpecifier=String()) |
| Add multi argument with flag only. | |
| template<typename NAME> | |
| PARENT & | addMultiArgWithNameOnly (NAME &&name, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const String &defaultValue=String(), const String &valueSpecifier=String()) |
| Add multi argument with name only. | |
| template<typename NAME> | |
| PARENT & | addMultiArgWithDefaulValues (Char flag, NAME &&name, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const StringList &defaultValues=StringList(), const String &valueSpecifier=String()) |
| Add multi argument. | |
| PARENT & | addMultiArgWithFlagOnlyAndDefaultValues (Char flag, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const StringList &defaultValues=StringList(), const String &valueSpecifier=String()) |
| Add multi argument with flag only. | |
| template<typename NAME> | |
| PARENT & | addMultiArgWithNameOnlyAndDefaultValues (NAME &&name, bool isWithValue=false, bool isRequired=false, const String &desc=String(), const String &longDesc=String(), const StringList &defaultValues=StringList(), const String &valueSpecifier=String()) |
| Add multi argument with name only. | |
| template<typename NAME> | |
| API< PARENT, Command, ARGPTR, false > | addCommand (NAME &&name, ValueOptions opt=ValueOptions::NoValue, bool isSubCommandRequired=false, const String &desc=String(), const String &longDesc=String(), const String &defaultValue=String(), const String &valueSpecifier=String()) |
| Add Command. | |
| template<typename NAME> | |
| API< PARENT, Command, ARGPTR, false > | addCommandWithDefaultValues (NAME &&name, ValueOptions opt=ValueOptions::NoValue, bool isSubCommandRequired=false, const String &desc=String(), const String &longDesc=String(), const StringList &defaultValues=StringList(), const String &valueSpecifier=String()) |
| Add Command. | |
CmdLine is class that holds all rguments and parse command line arguments in the correspondence with holded arguments.
Definition at line 97 of file cmd_line.hpp.
| using Args::CmdLine::ArgPtr = ArgPtrToAPI |
Smart pointer to the argument.
Definition at line 101 of file cmd_line.hpp.
| using Args::CmdLine::Arguments = std::vector<ArgPtr> |
List of child arguments.
Definition at line 103 of file cmd_line.hpp.
| using Args::CmdLine::CmdLineOpts = int |
Storage of command line options.
Definition at line 116 of file cmd_line.hpp.
Command line options.
| Enumerator | |
|---|---|
| Empty | No special options. |
| CommandIsRequired | Command should be defined. |
| HandlePositionalArguments | Handle positional arguments. |
Definition at line 106 of file cmd_line.hpp.
|
inlineexplicit |
Construct empty CmdLine.
Definition at line 119 of file cmd_line.hpp.
|
inline |
Construct CmdLine with set command line arguments.
Definition at line 495 of file cmd_line.hpp.
|
inlinevirtual |
Definition at line 143 of file cmd_line.hpp.
Add argument.
Definition at line 530 of file cmd_line.hpp.
Add argument.
Definition at line 512 of file cmd_line.hpp.
Add argument.
Definition at line 160 of file cmd_line.hpp.
|
inline |
Add help.
| throwExceptionOnPrint | Should exception be thrown on help printing. |
| appExe | Application executable. |
| appDesc | Application description. |
| length | Line length. |
| posDesc | Positional string in the help. |
Definition at line 292 of file cmd_line.hpp.
|
delete |
|
inline |
Definition at line 721 of file cmd_line.hpp.
|
inline |
Clear state of the arguments.
Definition at line 406 of file cmd_line.hpp.
Definition at line 211 of file cmd_line.hpp.
Definition at line 238 of file cmd_line.hpp.
|
inline |
| name | Name of the argument. Should be full name, i.e '-a' or '–arg' or 'add' if it's a command or subcommand. |
Definition at line 391 of file cmd_line.hpp.
|
inline |
| name | Name to check (misspelled). |
| possibleNames | List of possible names for the given misspelled name. |
Definition at line 267 of file cmd_line.hpp.
|
inline |
Parse arguments.
Definition at line 535 of file cmd_line.hpp.
|
inline |
Parse arguments.
Definition at line 181 of file cmd_line.hpp.
|
inline |
Definition at line 148 of file cmd_line.hpp.
|
inline |
Definition at line 191 of file cmd_line.hpp.
|
inline |
Definition at line 197 of file cmd_line.hpp.
Set positional string description for the help.
Definition at line 203 of file cmd_line.hpp.
| name | Name of the argument. Should be full name, i.e '-a' or '–arg' or 'add' if it's a command or subcommand. |
Definition at line 335 of file cmd_line.hpp.
|
inline |
| name | Name of the argument. Should be full name, i.e '-a' or '–arg' or 'add' if it's a command or subcommand. |
Definition at line 362 of file cmd_line.hpp.