This class implements an adapter for enums containing flags to define the string literals of the enum entries.
More...
|
| EnumFlagsDictionary (const InitializerList &fields) |
| Constructor passing the enum fields as initializer list. More...
|
|
| EnumFlagsDictionary (T flagsMask, const InitializerList &fields) |
| Constructor passing the enum fields as initializer list. More...
|
|
| EnumFlagsDictionary (T flagsMask, const char *invalidValueString, const InitializerList &fields) |
| Constructor passing the enum fields as initializer list. More...
|
|
| EnumFlagsDictionary (U flagsMask, const InitializerList &fields) |
| Constructor passing the enum fields as initializer list. More...
|
|
| EnumFlagsDictionary (U flagsMask, const char *invalidValueString, const InitializerList &fields) |
| Constructor passing the enum fields as initializer list. More...
|
|
std::ostream & | WriteEnumString (std::ostream &os, T value) const |
| Writes the string of the specified enum value to the given stream. More...
|
|
std::istream & | ReadEnumValue (std::istream &is, T &value) const |
| Tries to return the enum entry of the specified string. More...
|
|
String | GetEnumString (T value) const |
| Returns the string of the specified enum entry. More...
|
|
bool | TryGetEnumString (T value, String &result) const |
| Returns the string of the specified enum value or nullptr if the value could not be found. More...
|
|
T | GetEnumValue (const String &fieldName) const |
| Returns the value of the specified enum string. More...
|
|
bool | TryGetEnumValue (const String &fieldName, T &value) const |
| Tries to get the enum value of the specified string. More...
|
|
|
using | Fields = std::map< T, const char * > |
| The container type containing the value/name pairs of all enum fields.
|
|
using | InitializerList = std::initializer_list< typename Fields::value_type > |
| The initializer list type of the Fields container.
|
|
using | U = typename std::underlying_type< T >::type |
| The underlying integral type of the enum.
|
|
| EnumDictionaryBase (const InitializerList &fields) |
| Constructor passing the enum fields as initializer list. More...
|
|
| EnumDictionaryBase (const char *invalidValueString, const InitializerList &fields) |
| Constructor passing the enum fields as initializer list. More...
|
|
| EnumDictionaryBase (const EnumDictionaryBase &arg) |
| Copy constructor.
|
|
| EnumDictionaryBase (EnumDictionaryBase &&arg) noexcept |
| Move constructor.
|
|
EnumDictionaryBase & | operator= (const EnumDictionaryBase &arg) |
| Copy-assignment operator.
|
|
EnumDictionaryBase & | operator= (EnumDictionaryBase &&arg) noexcept |
| Move-assignment operator.
|
|
| ~EnumDictionaryBase (void) |
| Destructor.
|
|
bool | TryGetEnumStringInternal (T value, const char *&pResult) const |
| Returns the string of the specified enum value or nullptr if the value could not be found. More...
|
|
bool | TryGetEnumValueInternal (const char *fieldName, T &value) const |
| Tries to get the enum value of the specified string. More...
|
|
Fields | fields |
|
String | invalidValueString |
|
static const T | zeroValue = static_cast<T>(0) |
|
template<class T, char Delimiter = '|'>
class Arp::Base::Core::EnumFlagsDictionary< T, Delimiter >
This class implements an adapter for enums containing flags to define the string literals of the enum entries.
- Template Parameters
-
This is a helper class to make enums parsable and loggable or formattable, respectively.