8#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
9# error "Symbol ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
52 return A_CHAR(
"Command Line Arguments");
64 Substring varNameWithoutCategory=
nullptr;
70 varNameWithoutCategory= name.
Substring(defaultCategory.Length());
99 if constexpr (!std::same_as<character, char>)
101 stringConverter.
Reset(
reinterpret_cast<const char**
>(argV)[i] );
102 cliArg= stringConverter;
105 cliArg=
reinterpret_cast<const character**
>(argV)[i];
110 if constexpr (!std::same_as<character, wchar_t>)
112 stringConverter.
Reset(
reinterpret_cast<const wchar_t**
>(argV)[i] );
113 cliArg= stringConverter;
116 cliArg=
reinterpret_cast<const character**
>(argV)[i];
164 return A_CHAR(
"Environment Variables");
175 Substring varNameWithoutCategory=
nullptr;
182 target.
Reset(result);
190 varNameWithoutCategory= varName.
Substring(defaultCategory.Length());
195 target.
Reset(result);
ALIB_DLL integer SearchAndReplace(TChar needle, TChar replacement, integer startIdx=0, integer endIdx=strings::MAX_LEN)
void DbgDisableBufferReplacementWarning()
constexpr bool IsEmpty() const
constexpr bool IsNotEmpty() const
TString< TChar > Substring(integer regionStart, integer regionLength=MAX_LEN) const
bool StartsWith(const TString &needle) const
bool ConsumeString(const TString< TChar > &consumable)
TSubstring & Trim(const TCString< TChar > &whiteSpaces=CStringConstantsTraits< TChar >::DefaultWhitespaces())
uint8_t QtyMandatoryHyphens
ALIB_DLL CLIVariablesPlugin(MonoAllocator &ma, Priority pPriority=Priority::CLI)
StringVectorMA DefaultCategories
uint8_t QtyOptionalHyphens
virtual ALIB_DLL String Name() const override
StringVectorMA AlternativeArgs
virtual ALIB_DLL bool Get(const String &name, AString &target) override
ConfigurationPlugin(Priority pPriority)
ALIB_DLL EnvironmentVariablesPlugin(MonoAllocator &ma, Priority pPriority=Priority::Environment)
StringVectorMA DefaultCategories
virtual ALIB_DLL bool Get(const String &name, AString &target) override
virtual ALIB_DLL String Name() const override
#define ALIB_WARNINGS_RESTORE
#define ALIB_WARNINGS_ALLOW_UNREACHABLE_CODE
@ Keep
Chooses not no clear existing data.
@ Keep
Keep whitespaces in string.
LocalString< 256 > String256
Type alias name for TLocalString<character,256>.
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
camp::Basecamp BASECAMP
The singleton instance of ALib Camp class Basecamp.
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
strings::TString< character > String
Type alias in namespace alib.
characters::character character
Type alias in namespace alib.
strings::TSubstring< character > Substring
Type alias in namespace alib.
static ALIB_DLL bool Get(const CString &varName, AString &target, lang::CurrentData targetData=lang::CurrentData::Clear)