이 파일의 문서화 페이지로 가기
14#define __BY__DECL_CLONE(ME) \
16 clonable* clone() const override { return new ME(*this); } \
27#define __BY__BASE_TYPE type
32#define __BY__DECL_TYPE(METATYPE) \
34 typedef METATYPE metaType; \
35 const __BY__BASE_TYPE& getType() const override { return ttype<me>::get(); } \
41#define __BY__DECL_ADT_1(ME) \
43 __BY__DECL_TYPE(__BY__BASE_TYPE) \
44 __BY__DECL_INIT_META(ME)
45#define __BY__DECL_ADT_2(ME, SUPER) __BY__DECL_ADT_3(ME, SUPER, __BY__BASE_TYPE)
46#define __BY__DECL_ADT_3(ME, SUPER, SUPERTYPE) \
47 __BY__DECL_ME_2(ME, SUPER) \
48 __BY__DECL_TYPE(SUPERTYPE) \
49 __BY__DECL_INIT_META(ME)
50#define __BY__DECL_ADT(...) BY_OVERLOAD(__BY__DECL_ADT, __VA_ARGS__)
54#define __BY__DECL_CLASS_1(ME) \
55 __BY__DECL_ADT_1(ME) \
57#define __BY__DECL_CLASS_2(ME, SUPER) \
58 __BY__DECL_ADT_2(ME, SUPER) \
60#define __BY__DECL_CLASS_3(ME, SUPER, SUPERTYPE) \
61 __BY__DECL_ADT_3(ME, SUPER, SUPERTYPE) \
63#define __BY__DECL_CLASS(...) BY_OVERLOAD(__BY__DECL_CLASS, __VA_ARGS__)
to Top