8#ifndef HPP_ALIB_CLI_ARGUMENTS
9#define HPP_ALIB_CLI_ARGUMENTS 1
15namespace alib {
namespace cli {
118 template<
typename TEnum>
120 : declElement( element )
121 , resourceInfo(element)
313 template<
typename TEnum>
315 : declElement( element )
316 , resourceInfo(element)
319 record= enums::GetRecord(element);
488 template<
typename TEnum>
542 void addParamDecls();
634 template<
typename TEnum>
636 : declElement( element )
637 , resourceInfo(element)
640 record= enums::GetRecord(element);
ERCommandDecl record
A copy (!) of the enum record.
CommandLine & CmdLine
The command line instance we belong to.
const String & Identifier()
const String & HelpTextLong()
const String & HelpTextShort()
int MinimumRecognitionLength()
Enum declElement
The enumeration element given with construction.
List< MonoAllocator, ParameterDecl * > Parameters
Command parameters.
ResourceInfo resourceInfo
The resource information of the enumeration type given with construction.
const Enum & Element() const
const String & FormatString()
Enum declElement
The enumeration element given with construction.
ExitCodeDecl(TEnum element)
ERExitCodeDecl record
A copy (!) of the enum record.
ResourceInfo resourceInfo
The resource information of the enumeration type given with construction.
cli::Exceptions AssociatedCLIException()
OptionDecl(TEnum element)
const String & Identifier()
const String & ValueSeparator()
int MinimumRecognitionLength()
Enum declElement
The enumeration element given with construction.
EROptionDecl record
A copy (!) of the enum record.
const String & ShortcutReplacementString()
character IdentifierChar()
integer QtyExpectedArgsFollowing()
const String & HelpText()
ResourceInfo resourceInfo
The resource information of the enumeration type given with construction.
const String & HelpUsageLine()
const Enum & Element() const
const String & Identifier()
ERParameterDecl record
A copy (!) of the enum record.
const String & GetHelpTextShort()
int QtyExpectedArgsFollowing()
const String & ValueSeparator()
const String & GetHelpTextLong()
int MinimumRecognitionLength()
Enum declElement
The enumeration element given with construction.
ParameterDecl(TEnum element)
nchar ValueListSeparator()
ResourceInfo resourceInfo
The resource information of the enumeration type given with construction.
const Enum & Element() const
constexpr bool IsNotEmpty() const
TChar CharAtStart() const
const T_EnumRecords< TEnum >::Type & GetRecord(TEnum element)
LocalString< 64 > String64
Type alias name for TLocalString<character,64>.
NLocalString< 64 > NString64
Type alias name for TLocalString<nchar,64>.
characters::character character
Type alias in namespace alib.
characters::nchar nchar
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
A command of a ALib CLI command line.
List< MonoAllocator, Parameter *, Recycling::Shared > ParametersMandatory
Mandatory parameters parsed.
List< MonoAllocator, Parameter *, Recycling::Shared > ParametersOptional
Optional parameters parsed.
ALib Enum Record type used by class CommandDecl.
ERCommandDecl() noexcept=default
String parameters
List of parameters attached. Separated by '/'.
ERExitCodeDecl() noexcept
int associatedCLIException
The CLI module exception associated to this exit code.
ALib Enum Record type used by class OptionDecl.
integer RequiredArguments
EROptionDecl() noexcept=default
String shortcutReplacementString
ALib Enum Record type used by class ParameterDecl.
ERParameterDecl() noexcept=default
bool isOptional
Denotes if this is an optional parameter.
String identifier
The identifier of the parameter.
ALIB_API void Parse()
Implementation of EnumRecordPrototype::Parse.
List< MonoAllocator, String, Recycling::Shared > Args
Arguments belonging to this option.
A declaration for a cli::Parameter.
List< MonoAllocator, String, Recycling::Shared > Args
Arguments belonging to us.
CommandLine * CmdLine
The cli command line.
Parsed(CommandLine *cmdLine)
integer ConsumedArguments
int MinimumRecognitionLength
String EnumElementName
The name of the enum element.