240 template<
typename TEnum>
262 template<
typename TEnum>
286 template<
typename TEnum>
308 template<
typename TEnum>
316 allocator().New<ExitCodeDecl>(recordIt.Enum()) );
462 "CLI",
"Argument index out of bounds" )
513,
Args ( cmdLine->stringListRecycler )
518,
Args ( cmdLine->stringListRecycler )
521template<
typename TEnum>
NCString ResourceCategory
SPResourcePool & GetResourcePool()
ERCommandDecl record
A copy (!) of the enum record.
CommandLine & CmdLine
The command line instance we belong to.
CommandDecl(TEnum element, CommandLine &cmdLine)
ResourceInfo resourceInfo
The resource information of the enumeration type given with construction.
ALIB_DLL void addParamDecls()
List< MonoAllocator, ParameterDecl * > Parameters
Command parameters.
Enum declElement
The enumeration element given with construction.
ALIB_DLL void RemoveArg(integer argNo)
List< MonoAllocator, Option * > Options
The options parsed in the order of their appearance.
List< MonoAllocator, String, Recycling::Shared >::SharedRecyclerType stringListRecycler
The element recycler shared between lists of strings.
const String & TryResource(const NString &name)
virtual ALIB_DLL void ReadOptions()
virtual ALIB_DLL void ReadNextCommands()
List< MonoAllocator, ParameterDecl * > ParameterDecls
Possible Parameters.
List< MonoAllocator, String, Recycling::Shared > OptionArgsIgnored
ALIB_DLL Option * GetOption(Enum element)
List< MonoAllocator, OptionDecl * > OptionDecls
Possible Options.
void Init(camp::Camp *resModule)
MonoAllocator & GetAllocator() noexcept
const String & GetResource(const NString &name)
StdVectorMono< integer > ArgsLeft
List< MonoAllocator, CommandDecl * > CommandDecls
Commands defined.
CommandLine()
Constructor.
NCString ResourceCategory
The resource category to fetch CLI resources within field Resources.
List< MonoAllocator, Parameter *, Recycling::Shared >::SharedRecyclerType paramListRecycler
virtual ~CommandLine()
Virtual empty destructor.
List< MonoAllocator, Command * > CommandsParsed
A list of commands actually parsed. Filled with method ReadNextCommands.
StdVectorMono< String > ArgStrings
List< MonoAllocator, Command * >::iterator NextCommandIt
The next command in CommandsParsed to be processed. Used with method NextCommand.
HashMap< MonoAllocator, Enum, ExitCodeDecl * > ExitCodeDecls
Possible Errors.
resources::ResourcePool * Resources
virtual ALIB_DLL String PopArg()
virtual ALIB_DLL Command * NextCommand()
virtual String GetArg(integer idx)
virtual integer ArgCount()
typename detail::RecyclingSelector< TRecycling > ::template HookType< TAllocator, detail::ListElement< T > > SharedRecyclerType
#define ALIB_ASSERT_ERROR(cond, domain,...)
DryRunModes
Dry run modes.
const RecordsTraits< TEnum >::Type & GetRecord(TEnum element)
std::vector< T, SCAMono< T > > StdVectorMono
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
strings::TString< nchar > NString
Type alias in namespace alib.
containers::HashMap< TAllocator, TKey, TMapped, THash, TEqual, THashCaching, TRecycling > HashMap
Type alias in namespace alib.
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
enumrecords::EnumRecords< TEnum > EnumRecords
Type alias in namespace alib.
strings::TCString< nchar > NCString
Type alias in namespace alib.
boxing::Enum Enum
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
containers::List< TAllocator, T, TRecycling > List
Type alias in namespace alib.
cli::CommandLine CommandLine
Type alias in namespace alib.
A command of a ALib CLI command line.
Command(CommandLine *cmdLine)
List< MonoAllocator, Parameter *, Recycling::Shared > ParametersOptional
Optional parameters parsed.
List< MonoAllocator, Parameter *, Recycling::Shared > ParametersMandatory
Mandatory parameters parsed.
List< MonoAllocator, String, Recycling::Shared > Args
Arguments belonging to this option.
Option(CommandLine *cmdLine)
A declaration for a cli::Parameter.
Parameter(CommandLine *cmdLine)
List< MonoAllocator, String, Recycling::Shared > Args
Arguments belonging to us.
Parsed(CommandLine *cmdLine)
static ForwardIterator begin()
static constexpr ForwardIterator end()