Go to the source code of this file.
|
| #define | __BY__DECL_CLONE(ME) |
| | Meta-programming macro definitions for byeol type system.
|
| |
|
#define | __BY__BASE_TYPE type |
| | Define super meta type for class type introspection.
|
| |
| #define | __BY__DECL_TYPE(METATYPE) |
| |
| #define | __BY__DECL_ADT_1(ME) |
| |
|
#define | __BY__DECL_ADT_2(ME, SUPER) __BY__DECL_ADT_3(ME, SUPER, __BY__BASE_TYPE) |
| |
| #define | __BY__DECL_ADT_3(ME, SUPER, SUPERTYPE) |
| |
|
#define | __BY__DECL_ADT(...) BY_OVERLOAD(__BY__DECL_ADT, __VA_ARGS__) |
| |
| #define | __BY__DECL_CLASS_1(ME) |
| |
| #define | __BY__DECL_CLASS_2(ME, SUPER) |
| |
| #define | __BY__DECL_CLASS_3(ME, SUPER, SUPERTYPE) |
| |
|
#define | __BY__DECL_CLASS(...) BY_OVERLOAD(__BY__DECL_CLASS, __VA_ARGS__) |
| |
◆ __BY__DECL_ADT_1
| #define __BY__DECL_ADT_1 |
( |
| ME | ) |
|
Value: __BY__DECL_ME_1(ME) \
__BY__DECL_INIT_META(ME)
◆ __BY__DECL_ADT_3
| #define __BY__DECL_ADT_3 |
( |
| ME, |
|
|
| SUPER, |
|
|
| SUPERTYPE ) |
Value: __BY__DECL_ME_2(ME, SUPER) \
__BY__DECL_TYPE(SUPERTYPE) \
__BY__DECL_INIT_META(ME)
◆ __BY__DECL_CLASS_1
| #define __BY__DECL_CLASS_1 |
( |
| ME | ) |
|
Value: __BY__DECL_ADT_1(ME) \
__BY__DECL_CLONE(ME)
◆ __BY__DECL_CLASS_2
| #define __BY__DECL_CLASS_2 |
( |
| ME, |
|
|
| SUPER ) |
Value: __BY__DECL_ADT_2(ME, SUPER) \
__BY__DECL_CLONE(ME)
◆ __BY__DECL_CLASS_3
| #define __BY__DECL_CLASS_3 |
( |
| ME, |
|
|
| SUPER, |
|
|
| SUPERTYPE ) |
Value: __BY__DECL_ADT_3(ME, SUPER, SUPERTYPE) \
__BY__DECL_CLONE(ME)
◆ __BY__DECL_CLONE
| #define __BY__DECL_CLONE |
( |
| ME | ) |
|
Value:public: \
clonable* clone() const override { return new ME(*this); } \
\
private:
Meta-programming macro definitions for byeol type system.
◆ __BY__DECL_TYPE
| #define __BY__DECL_TYPE |
( |
| METATYPE | ) |
|
Value:public: \
typedef METATYPE metaType; \
const __BY__BASE_TYPE& getType()
const override {
return ttype<me>::get(); } \
\
private: