![]() |
Nilorea Library
C utilities for networking, threading, graphics
|
Macro to build enums and their tostring counterparts, a reduced version of https://github.com/FredBienvenu/SmartEnum. More...
#include <string.h>#include <stdbool.h>
Include dependency graph for n_enum.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | __N_ENUM_DECLARE_ENUM(MACRO_DEFINITION, enum_name) |
| macro for ENUM declaration | |
| #define | __N_ENUM_DECLARE_FUNCTION(__N_ENUM_FUNCTION, enum_name) __N_ENUM_FUNCTION(enum_name); |
| create a getter function | |
| #define | __N_ENUM_DEFINE_FUNCTION_FROMSTRING(MACRO_DEFINITION, enum_name) |
| create getter functions fromString | |
| #define | __N_ENUM_DEFINE_FUNCTION_FROMSTRING_EX(MACRO_DEFINITION, enum_name) |
| create getter functions fromStringEx | |
| #define | __N_ENUM_DEFINE_FUNCTION_ISSTRINGVALID(MACRO_DEFINITION, enum_name) |
| create getter for function isStringValue | |
| #define | __N_ENUM_DEFINE_FUNCTION_ISVALID(MACRO_DEFINITION, enum_name) |
| create getter functions is_valid | |
| #define | __N_ENUM_DEFINE_FUNCTION_TOSTRING(MACRO_DEFINITION, enum_name) |
| create getter functions toString | |
| #define | __N_ENUM_FUNCTION_FROMSTRING(enum_name) enum_name N_ENUM_ENTRY(enum_name, fromString)(const char* str_value) |
| create a value from string function | |
| #define | __N_ENUM_FUNCTION_FROMSTRING_EX(enum_name) enum_name N_ENUM_ENTRY(enum_name, fromStringEx)(const char* str_value, int index) |
| create a value from string function | |
| #define | __N_ENUM_FUNCTION_ISSTRINGVALID(enum_name) bool N_ENUM_ENTRY(enum_name, isStringValid)(const char* str_value) |
| create a is string valid function | |
| #define | __N_ENUM_FUNCTION_ISVALID(enum_name) bool N_ENUM_ENTRY(enum_name, isValid)(enum_name value) |
| create a test function | |
| #define | __N_ENUM_FUNCTION_TOSTRING(enum_name) const char* N_ENUM_ENTRY(enum_name, toString)(enum_name value) |
| create a to string function | |
| #define | __N_ENUM_MACRO_ENTRY_CASE(element_name) case element_name: |
| utils macro case value | |
| #define | __N_ENUM_MACRO_ENTRY_COMPARE(element_name) if (!strcmp(#element_name, str_value)) |
| utils macros string compare | |
| #define | __N_ENUM_MACRO_ENTRY_COMPARE_EX(element_name) if (!strcmp(#element_name + index, str_value)) |
| utils macros string ex compare | |
| #define | __N_ENUM_MACRO_ENTRY_TO_ENUM_ELEMENT(element_name, element_value) element_name = element_value, |
| macro to convert N_ENUMS entry to a real ENUM element | |
| #define | __N_ENUM_MACRO_ENTRY_TO_FROMSTRING_COMPARE(element_name, element_value) |
| macro to convert string to N_ENUMS value | |
| #define | __N_ENUM_MACRO_ENTRY_TO_FROMSTRING_COMPARE_EX(element_name, element_value) |
| macro to convert string to N_ENUMS value | |
| #define | __N_ENUM_MACRO_ENTRY_TO_ISSTRINGVALID_COMPARE(element_name, element_value) |
| macro to test if the string is a valid enum entry | |
| #define | __N_ENUM_MACRO_ENTRY_TO_ISVALID_CASE(element_name, element_value) |
| macro to test N_ENUMS entry | |
| #define | __N_ENUM_MACRO_ENTRY_TO_TOSTRING_CASE(element_name, element_value) |
| macro to convert N_ENUMS entry to a string element | |
| #define | __N_ENUM_MACRO_ENTRY_UNKNOWN_VALUE(enum_name) __##enum_name##_UNKNOWN_VALUE__ |
| utils macros unknown value | |
| #define | N_ENUM_DECLARE(MACRO_DEFINITION, enum_name) |
| Macro to declare a N_ENUM. | |
| #define | N_ENUM_DEFINE(MACRO_DEFINITION, enum_name) |
| Macro to define an N_ENUM. | |
| #define | N_ENUM_ENTRY(class, method) class##__##method |
| helper to build an N_ENUM | |
Macro to build enums and their tostring counterparts, a reduced version of https://github.com/FredBienvenu/SmartEnum.
Definition in file n_enum.h.