8#ifndef HPP_ALIB_CONFIG_CONFIGURATION
9#define HPP_ALIB_CONFIG_CONFIGURATION 1
11#if !defined (HPP_ALIB_ENUMS_BITWISE)
17#if !defined(HPP_ALIB_STRINGS_SUBSTRING)
21#if !defined(HPP_ALIB_STRINGS_NUMBERFORMAT)
25#if !defined(HPP_ALIB_CONFIG_VARIABLE)
28#if !defined(HPP_ALIB_CONFIG_PLUGINS)
31#if !defined(HPP_ALIB_LANG_PLUGINS)
34#if !defined(HPP_ALIB_CONFIG_INMEMORY_PLUGIN)
40namespace alib {
namespace config {
156 CLIArgs* cliParameters= GetPluginTypeSafe<CLIArgs>();
158 cliParameters->
SetArgs( argc,
reinterpret_cast<const void**
>( argv ),
false );
175 CLIArgs* cliParameters= GetPluginTypeSafe<CLIArgs>();
177 cliParameters->
SetArgs( argc,
reinterpret_cast<const void**
>( argv ),
true );
186 #if defined(ALIB_DOX)
202 template<
typename TEnum>
206 template<
typename TEnum>
215 if( decl.DefaultValue.IsNotEmpty()
216 && decl.EnumElementName.IndexOf(
'%') < 0)
void SetArgs(int argc, const void **argv=nullptr, bool areWideChar=false)
virtual void ResetToSection(const String §ionName)=0
ALIB_API integer LoadFromString(Variable &variable, const String &externalizedValue)
CString SubstitutionVariableDelimiters
void SetCommandLineArgs(int argc, const wchar_t **argv)
ALIB_API Priorities Load(Variable &variable)
std::vector< String > TrueValues
alib::NumberFormat NumberFormat
String SubstitutionVariableEnd
String SubstitutionVariableStart
ALIB_API Priorities Store(Variable &variable, const String &externalizedValue=nullptr)
ALIB_API bool IsTrue(const String &value)
ALIB_API Iterator * GetIterator(const String §ionName)
ALIB_API Priorities Protect(Variable &variable, const String &externalizedValue=nullptr)
ALIB_API Priorities StoreDefault(Variable &variable, const String &externalizedValue=nullptr)
ALIB_API int FetchFromDefault(ConfigurationPlugin &dest, const String §ion=NullString())
void SetCommandLineArgs(int argc=0, const nchar **argv=nullptr)
ALIB_API Priorities loadImpl(Variable &variable, bool substitute)
const String & DefaultValue() const
void SetPriority(Priorities priority)
ALIB_API Variable & Declare(const VariableDecl &declaration, const Box &replacements)
Priorities Priority() const
void SetConfig(Configuration *config)
#define ALIB_ASSERT_MODULE(modulename)
#define ATMP_VOID_IF(Cond)
#define ALIB_ASSERT_ERROR(cond,...)
config::Variable Variable
Type alias in namespace alib.
constexpr String NullString()
config::Configuration Configuration
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
characters::nchar nchar
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
static constexpr ForwardIterator end()