22 #ifndef ICL_CORE_CONFIG_CONFIG_ENUM_H_INCLUDED 23 #define ICL_CORE_CONFIG_CONFIG_ENUM_H_INCLUDED 33 #define CONFIG_ENUM(key, value, descriptions) \ 34 (new icl_core::config::ConfigEnum<ICL_CORE_CONFIG_TYPEOF(value)>(key, value, descriptions)) 50 const char *
const *descriptions,
51 const char *end_marker = NULL)
Helper definitions for template programming.
static ConfigManager & instance()
bool string2Enum(const String &str, int32_t &value, const char *const *descriptions, const char *end_marker)
icl_core::ConvertToRef< T >::ToRef m_value
Implements a thread-safe logging framework.
bool get(const String &key, typename ConvertToRef< T >::ToRef value) const
virtual icl_core::String key() const
const char * m_end_marker
Contains Interface base classes and base types.
virtual icl_core::String stringValue() const
Contains helper functions to handle enums with textual descriptions.
icl_core::String m_str_value
const char *const * m_descriptions
ConfigEnum(const icl_core::String &key, typename icl_core::ConvertToRef< T >::ToRef value, const char *const *descriptions, const char *end_marker=NULL)