byeolMeta.hpp
Go to the documentation of this file.
1
3
#pragma once
4
5
#include "
indep/macro/forEach.hpp
"
6
#include "indep/macro/overload.hpp"
7
8
// byeol universal DECL macro:
9
// BY_DECL is generalized API used to describe the metadata of class in byeol.
10
// BY_DECL can be used to define detailed metadata about a class by chaining sub-command sets.
11
// with BY macro, I can clarify that those INIT_META, VISIT are should be after of BY macro.
12
// and limit the scope of availbility.
13
// these macros which are available only inside of BY macro are called to sub-commands.
14
//
15
// Usage:
16
// use BY_DECL macro at declaration of your class.
17
//
18
// class Foo {
19
// BY_DECL(cmd1(arg1, arg2, ...), cmd2(arg1, arg2, ...), ...)
20
//
21
// public:
22
// ...and your codes...
23
// };
24
25
#define _ON_EACH_DECL(cmd) __BY__DECL_##cmd
26
#define BY(...) BY_EACH(_ON_EACH_DECL, __VA_ARGS__)
forEach.hpp