Euphoria
|
eu::core::EnumType Struct Reference
Represents a dynamically loaded "enum type". More...
#include <enum.h>
Public Types | |
using | ValueToNameMap = std::map< size_t, std::string > |
using | NameToValueMap = std::map< std::string, size_t > |
Public Member Functions | |
EnumType (std::string name) | |
~EnumType () | |
EnumType (const EnumType &)=delete | |
EnumType (EnumType &&)=delete | |
void | operator= (const EnumType &)=delete |
void | operator= (EnumType &&)=delete |
EnumValue | to_enum (const std::string &name) |
void | add_enums (const std::vector< std::string > &names) |
void | add_enum (const std::string &name) |
std::string | to_string (size_t v) const |
Public Attributes | |
std::string | type_name |
ValueToNameMap | value_to_name |
NameToValueMap | name_to_value |
bool | is_adding |
size_t | next_index |
Detailed Description
Represents a dynamically loaded "enum type".
Declare globally grab specific enums before or after load, and load adds new, verifies created and asserts misspelled values. Advantages over hashes: type safety, catches bad spelling, no collisions and perhaps faster to generate?
Member Typedef Documentation
◆ NameToValueMap
using eu::core::EnumType::NameToValueMap = std::map<std::string, size_t> |
◆ ValueToNameMap
using eu::core::EnumType::ValueToNameMap = std::map<size_t, std::string> |
Constructor & Destructor Documentation
◆ EnumType() [1/3]
◆ ~EnumType()
◆ EnumType() [2/3]
|
delete |
◆ EnumType() [3/3]
|
delete |
Member Function Documentation
◆ add_enum()
void eu::core::EnumType::add_enum | ( | const std::string & | name | ) |
◆ add_enums()
void eu::core::EnumType::add_enums | ( | const std::vector< std::string > & | names | ) |
◆ operator=() [1/2]
|
delete |
◆ operator=() [2/2]
|
delete |
◆ to_enum()
EnumValue eu::core::EnumType::to_enum | ( | const std::string & | name | ) |
◆ to_string()
Member Data Documentation
◆ is_adding
◆ name_to_value
NameToValueMap eu::core::EnumType::name_to_value |
◆ next_index
◆ type_name
◆ value_to_name
ValueToNameMap eu::core::EnumType::value_to_name |
The documentation for this struct was generated from the following files: