Go to the source code of this file.
|
#define | ETL_DECLARE_ENUM_TYPE(TypeName, ValueType) |
|
#define | ETL_ENUM_TYPE(value, name) |
|
#define | ETL_END_ENUM_TYPE |
|
◆ ETL_DECLARE_ENUM_TYPE
#define ETL_DECLARE_ENUM_TYPE |
( |
|
TypeName, |
|
|
|
ValueType |
|
) |
| |
Value: typedef ValueType value_type; \
TypeName() : value(static_cast<enum_type>(value_type())) {} \
TypeName(const TypeName &other) : value(other.value) {} \
TypeName(enum_type value_) : value(value_) {} \
TypeName& operator=(const TypeName &other) {value = other.value; return *this;} \
explicit TypeName(value_type value_) : value(static_cast<enum_type>(value_)) {} \
operator value_type() const {return static_cast<value_type>(value);} \
value_type get_value() const {return static_cast<value_type>(value);} \
enum_type get_enum() const {return value;} \
const char* c_str() const \
{ \
switch (value) \
{
◆ ETL_END_ENUM_TYPE
#define ETL_END_ENUM_TYPE |
Value: default: \
return "?"; \
} \
} \
private: \
enum_type value;
◆ ETL_ENUM_TYPE
#define ETL_ENUM_TYPE |
( |
|
value, |
|
|
|
name |
|
) |
| |
Value: case value: \
return name; \