Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
n_enum.h File Reference

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)
 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)
 create a value from string function
#define __N_ENUM_FUNCTION_FROMSTRING_EX(enum_name)
 create a value from string function
#define __N_ENUM_FUNCTION_ISSTRINGVALID(enum_name)
 create a is string valid function
#define __N_ENUM_FUNCTION_ISVALID(enum_name)
 create a test function
#define __N_ENUM_FUNCTION_TOSTRING(enum_name)
 create a to string function
#define __N_ENUM_MACRO_ENTRY_CASE(element_name)
 utils macro case value
#define __N_ENUM_MACRO_ENTRY_COMPARE(element_name)
 utils macros string compare
#define __N_ENUM_MACRO_ENTRY_COMPARE_EX(element_name)
 utils macros string ex compare.
#define __N_ENUM_MACRO_ENTRY_TO_ENUM_ELEMENT(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)
 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)
 helper to build an N_ENUM

Detailed Description

Macro to build enums and their tostring counterparts, a reduced version of https://github.com/FredBienvenu/SmartEnum.

Author
Castagnier Mickael, based on original FredBienvenu SmartEnum entry
Version
1.0
Date
28/09/2021

Definition in file n_enum.h.