byeolMeta.hpp
Go to the documentation of this file.
1
3#pragma once
4
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__)