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>
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) __N_ENUM_MACRO_ENTRY_COMPARE(element_name) return element_name; |
macro to convert string to N_ENUMS value | |
#define | __N_ENUM_MACRO_ENTRY_TO_FROMSTRING_COMPARE_EX(element_name, element_value) __N_ENUM_MACRO_ENTRY_COMPARE_EX(element_name) return element_name; |
macro to convert string to N_ENUMS value | |
#define | __N_ENUM_MACRO_ENTRY_TO_ISSTRINGVALID_COMPARE(element_name, element_value) __N_ENUM_MACRO_ENTRY_COMPARE(element_name) return true; |
macro to test if the string is a valid enum entry | |
#define | __N_ENUM_MACRO_ENTRY_TO_ISVALID_CASE(element_name, element_value) __N_ENUM_MACRO_ENTRY_CASE(element_name) return true; |
macro to test N_ENUMS entry | |
#define | __N_ENUM_MACRO_ENTRY_TO_TOSTRING_CASE(element_name, element_value) __N_ENUM_MACRO_ENTRY_CASE(element_name) return #element_name; |
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.