A declaration for a cli::Command.
Construction is done by passing a custom enum element of an enum type equipped with ALib Enum Records of type ERCommandDecl.
When bootstrapping ALib CLI, method CommandLine::DefineCommands has to be invoked for (each) enum type.
Definition at line 453 of file arguments.inl.
Public Field Index: | |
| CommandLine & | CmdLine |
| The command line instance we belong to. | |
| List< MonoAllocator, ParameterDecl * > | Parameters |
| Command parameters. | |
Public Method Index: | |
| template<typename TEnum> | |
| CommandDecl (TEnum element, CommandLine &cmdLine) | |
| const Enum & | Element () const |
| ALIB_DLL ParameterDecl * | GetParameterDecl (const String &name) |
| const String & | HelpTextLong () |
| const String & | HelpTextShort () |
| const String & | Identifier () |
| int | MinimumRecognitionLength () |
Protected Field Index: | |
| Enum | declElement |
| The enumeration element given with construction. | |
| ERCommandDecl | record |
| A copy (!) of the enum record. | |
| ResourceInfo | resourceInfo |
| The resource information of the enumeration type given with construction. | |
Protected Method Index: | |
| ALIB_DLL void | addParamDecls () |
| CommandLine& alib::cli::CommandDecl::CmdLine |
The command line instance we belong to.
Definition at line 467 of file arguments.inl.
|
protected |
The enumeration element given with construction.
Definition at line 457 of file arguments.inl.
| List<MonoAllocator, ParameterDecl*> alib::cli::CommandDecl::Parameters |
Command parameters.
Definition at line 470 of file arguments.inl.
|
protected |
A copy (!) of the enum record.
Definition at line 460 of file arguments.inl.
|
protected |
The resource information of the enumeration type given with construction.
Definition at line 463 of file arguments.inl.
|
inline |
Templated constructor which takes an enum element of a custom type equipped with ALib Enum Records of type ERCommandDecl.
Field Parameters is filled as specified in the enum record.
| TEnum | C++ enum type equipped with corresponding ALib Enum Records. |
| element | The enum element |
| cmdLine | The command line object. Will be stored. |
Definition at line 522 of file commandline.inl.
|
protected |
Called from the constructor. Parses field ERCommandDecl::parameters of the enum record, and loads the corresponding parameters.
Definition at line 38 of file arguments.cpp.
|
inline |
Returns the type and integral value of the enumeration element used with construction.
Definition at line 486 of file arguments.inl.
| ParameterDecl * alib::cli::CommandDecl::GetParameterDecl | ( | const String & | name | ) |
Searches in Parameters for the declaration of parameter name.
| name | The declaration name of the parameter. |
nullptr if parameter was not declared. Definition at line 59 of file arguments.cpp.
|
inline |
Returns the long version of the help text. Loads the string from resourceInfo using resource name "THlpCmdLngNN", where NN is the enum element's integral value.
Definition at line 518 of file arguments.inl.
|
inline |
Returns the short version of the help text. Loads the string from resourceInfo using resource name "THlpCmdShtNN", where NN is the enum element's integral value.
Definition at line 509 of file arguments.inl.
|
inline |
Returns the identifier (name) of the command
Definition at line 493 of file arguments.inl.
|
inline |
Returns the minimum parse length of the identifier.
Definition at line 500 of file arguments.inl.