8#ifndef HPP_ALIB_CLI_COMMANDLINE
9#define HPP_ALIB_CLI_COMMANDLINE 1
11#if !defined (HPP_ALIB_CLI_ARGUMENTS)
15#if !defined(HPP_ALIB_COMPATIBILITY_STD_BOXING_FUNCTIONAL)
19#if !defined (HPP_ALIB_MONOMEM_HASHMAP)
23#if !defined (HPP_ALIB_MONOMEM_STDCONTAINERMA)
28namespace alib {
namespace cli {
53 #if !defined(ALIB_DOX)
276 #if defined(ALIB_DOX)
284 template<
typename TEnum>
288 template<
typename TEnum>
305 #if defined(ALIB_DOX)
313 template<
typename TEnum>
317 template<
typename TEnum>
335 #if defined(ALIB_DOX)
343 template<
typename TEnum>
347 template<
typename TEnum>
366 #if defined(ALIB_DOX)
374 template<
typename TEnum>
378 template<
typename TEnum>
534 "CLI",
"Argument index out of bounds" )
585, Args ( &CmdLine->allocator, cmdLine->stringListRecycler )
590, Args ( &CmdLine->allocator, cmdLine->stringListRecycler )
593template<
typename TEnum>
595: declElement (element)
596, resourceInfo(element)
598, Parameters (&cmdLine.allocator)
608, ParametersMandatory( &cmdLine->allocator, cmdLine->paramListRecycler )
609, ParametersOptional ( &cmdLine->allocator, cmdLine->paramListRecycler )
ALIB_API void addParamDecls()
CommandDecl(TEnum element, CommandLine &cmdLine)
lang::resources::ResourcePool * Resources
List< OptionDecl * > OptionDecls
void Init(lang::Camp *resModule)
List< ParameterDecl * > ParameterDecls
List< Parameter *, Recycling::Shared >::TSharedRecycler paramListRecycler
virtual ALIB_API Command * NextCommand()
List< Command * >::Iterator NextCommandIt
virtual String GetArg(integer idx)
HashMap< Enum, ExitCodeDecl * > ExitCodeDecls
List< Command * > CommandsParsed
const String & TryResource(const NString &name)
NCString ResourceCategory
virtual ALIB_API void ReadOptions()
std::vector< String, StdContMA< String > > ArgStrings
virtual ALIB_API String PopArg()
MonoAllocator & GetAllocator()
virtual integer ArgCount()
ALIB_API void RemoveArg(integer argNo)
ALIB_API Option * GetOption(Enum element)
const String & GetResource(const NString &name)
virtual ALIB_API void ReadNextCommands()
List< String, Recycling::Shared >::TSharedRecycler stringListRecycler
List< String, Recycling::Shared > OptionArgsIgnored
List< CommandDecl * > CommandDecls
std::vector< integer, StdContMA< integer > > ArgsLeft
resources::ResourcePool & GetResourcePool()
NCString ResourceCategory
virtual const String & Get(const NString &category, const NString &name, bool dbgAssert)=0
ALIB_FORCE_INLINE T * Emplace(TArgs &&... args)
#define ATMP_VOID_IF(Cond)
#define ALIB_ASSERT_ERROR(cond,...)
const T_EnumRecords< TEnum >::Type & GetRecord(TEnum element)
cli::CLIUtil CLIUtil
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
Command(CommandLine *cmdLine)
Option(CommandLine *cmdLine)
Parameter(CommandLine *cmdLine)
static constexpr ForwardIterator end()