双向枚举-名称注册表。
More...
#include <tools_enum.h>
|
| static bool | empty () |
| | 检查注册表是否为空。
|
| static void | set (ENUMT aenum, const char *aname, int anum=0) |
| | 注册枚举值及其名称。
|
| static ENUMT | enum_null () |
| | 获取空枚举值(无效值)。
|
| static ENUMT | get_enum (const char *aname, int anum=0) |
| | 根据名称获取枚举值(不区分大小写)。
|
| static const data * | get_data (const ENUMT aenum, int anum=0) |
| | 获取枚举值对应的名称数据。
|
| static const char * | name (const ENUMT aenum, int anum=0) |
| | 获取枚举值的原始名称。
|
| static const char * | tolower_name (const ENUMT aenum, int anum=0) |
| | 获取枚举值的小写名称。
|
| static const char * | toupper_name (const ENUMT aenum, int anum=0) |
| | 获取枚举值的大写名称。
|
| static void | print () |
| | 打印所有已注册的枚举值和名称。
|
template<typename ENUMT>
class ngl::tools::enum2name< ENUMT >
双向枚举-名称注册表。
提供枚举值与字符串之间的双向映射,支持原始、小写、大写三种形式的查找。 通过模板参数区分不同的枚举类型,支持多分组(anum参数)。
- Template Parameters
-
- Note
- 禁止实例化,所有方法均为静态方法。
-
使用em_pram(NAME)宏可简化枚举注册。
◆ empty()
检查注册表是否为空。
- Returns
- true 无已注册枚举
-
false 有已注册枚举
◆ enum_null()
获取空枚举值(无效值)。
- Returns
- ENUMT 空枚举值(-1转换)
◆ get_data()
获取枚举值对应的名称数据。
- Parameters
-
- Returns
- const data* 名称数据指针,未找到返回nullptr
◆ get_enum()
根据名称获取枚举值(不区分大小写)。
- Parameters
-
| aname | 枚举名称字符串 |
| anum | 分组号,默认为0 |
- Returns
- ENUMT 对应的枚举值,未找到返回enum_null()
◆ name()
获取枚举值的原始名称。
- Parameters
-
- Returns
- const char* 原始名称字符串,未找到返回nullptr
◆ print()
打印所有已注册的枚举值和名称。
调试用,输出格式为 "枚举值:名称"。
◆ set()
注册枚举值及其名称。
- Parameters
-
| aenum | 枚举值 |
| aname | 枚举名称字符串 |
| anum | 分组号,默认为0 |
- Note
- 同时注册原始、小写、大写三种形式。
◆ tolower_name()
获取枚举值的小写名称。
- Parameters
-
- Returns
- const char* 小写名称字符串,未找到返回nullptr
◆ toupper_name()
获取枚举值的大写名称。
- Parameters
-
- Returns
- const char* 大写名称字符串,未找到返回nullptr
The documentation for this class was generated from the following file: