The class implements an adapter for enums to define the string literals of the enum entries.
More...
|
| | EnumDictionary (const InitializerList &fields) |
| | Constructor passing the enum fields as initializer list. More...
|
| |
| | EnumDictionary (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...
|
| |
| const char * | GetEnumString (T value) const |
| | Returns the string of the specified enum entry. More...
|
| |
| bool | TryGetEnumString (T value, const char *&pResult) const |
| | Returns the string of the specified enum value or nullptr if the value could not be found. More...
|
| |
| T | GetEnumValue (const char *fieldName) const |
| | Returns the value of the specified enum string. More...
|
| |
| bool | TryGetEnumValue (const char *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>
class Arp::Base::Core::EnumDictionary< T >
The class implements an adapter for enums 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.