Evo C++ Library v0.5.1
|
Evo advanced preprocessor macros. More...
#include "impl/sys.h"
Go to the source code of this file.
Macros | |
#define | EVO_CONCAT(A, B) EVO_CONCAT_IMPL(A, B) |
Concatenate two tokens into a single token using the preprocessor. More... | |
#define | EVO_COUNT_ARGS(...) |
Count number of arguments passed to macro. More... | |
#define | EVO_EXPAND(X) X |
Expand argument to itself. More... | |
#define | EVO_MAP_FIELDS(...) |
Create a list of fields and templated load/save/dump helper methods. More... | |
#define | EVO_MAP_FIELDS_KEY(...) |
Create a list of fields and templated load/save/dump helper methods. More... | |
#define | EVO_STRINGIFY(X) EVO_STRINGIFY_IMPL(X) |
Make argument token a string literal using the preprocessor. More... | |
#define | INCL_evo_macro_h |
Evo advanced preprocessor macros.
#define EVO_CONCAT | ( | A, | |
B | |||
) | EVO_CONCAT_IMPL(A, B) |
Concatenate two tokens into a single token using the preprocessor.
A | Token beginning |
B | Token end |
#define EVO_COUNT_ARGS | ( | ... | ) |
Count number of arguments passed to macro.
EVO_CONCAT(FOO_, EVO_COUNT_ARGS(a))
resolves to FOO_1
#define EVO_EXPAND | ( | X | ) | X |
Expand argument to itself.
X | Parameter to expand |
#define EVO_MAP_FIELDS | ( | ... | ) |
Create a list of fields and templated load/save/dump helper methods.
struct
and defines member variables and methods for ittemplate<class T> void load(const T& map)
– load from map into fieldstemplate<class T> void save(T& map) const
– save from fields to maptemplate<class T> void dump(T& out) const
– dump fields to output stream/stringstructs
... | Fields to define, where each field is a pair of arguments as: type, name |
#define EVO_MAP_FIELDS_KEY | ( | ... | ) |
Create a list of fields and templated load/save/dump helper methods.
... | Fields to define, where each field is 3 arguments as: type, name, key |
#define EVO_STRINGIFY | ( | X | ) | EVO_STRINGIFY_IMPL(X) |
Make argument token a string literal using the preprocessor.
X | Argument to make a string literal |
#define INCL_evo_macro_h |