8#ifndef HPP_ALIB_CONFIG_PLUGINS
9#define HPP_ALIB_CONFIG_PLUGINS 1
11#if !defined (HPP_ALIB_CONFIG_VARIABLE)
15#if !defined (HPP_ALIB_STRINGS_SUBSTRING)
19#if !defined (_GLIBCXX_VECTOR) && !defined(_VECTOR_)
23namespace alib {
namespace config {
216 return Store( variable );
322 #if !defined(ALIB_DOX)
399 void SetArgs(
int argc,
const void** argv=
nullptr,
bool areWideChar=
false )
401 this->argCount=
static_cast<size_t>( argc );
402 this->argVector= argv;
403 this->wArgs= areWideChar;
421 virtual bool Load(
Variable& variable,
bool searchOnly=
false )
override;
virtual ~CLIArgs() override
size_t argCount
The number of command line arguments.
virtual ALIB_API bool Load(Variable &variable, bool searchOnly=false) override
const void ** argVector
The list of command line arguments.
virtual ALIB_API Iterator * GetIterator(const String §ionName) override
virtual ALIB_API String Name() const override
std::vector< AString > AlternativeArgs
int AllowedMinimumShortCut
std::vector< AString > DefaultCategories
void SetArgs(int argc, const void **argv=nullptr, bool areWideChar=false)
virtual bool Next(Variable &variable)=0
virtual ~ConfigurationPlugin()
XTernalizer * StringConverter
virtual bool Store(Variable &variable, const String &externalizedValue)
XTernalizer defaultStringConverter
virtual bool Store(Variable &variable)
virtual ALIB_API bool Load(Variable &variable, bool searchOnly=false)=0
virtual String Name() const =0
virtual Iterator * GetIterator(const String §ionName)
virtual ALIB_API bool Load(Variable &variable, bool searchOnly=false) override
virtual ALIB_API String Name() const override
virtual ~Environment() override
virtual ALIB_API void ExternalizeValue(const String &src, AString &dest, character delim)
virtual ALIB_API void InternalizeValue(const String &src, AString &dest)
virtual ALIB_API void LoadFromString(Variable &variable, const String &src)
constexpr bool IsNotNull() const
bool nextCLIArg(CLIArgs &cliArgs, size_t &nextArgNo, const String §ionName, Variable &variable)
characters::character character
Type alias in namespace alib.