Mirror reflection library 0.5.13
|
Defines | |
#define | MIRROR_QREG_GLOBAL_SCOPE_NAMESPACE(NAMESPACE) |
Macro for quick registering of a single namespace under the global scope. | |
#define | MIRROR_QREG_NESTED_NAMESPACE(PARENT_NAMESPACE, NESTED_NAMESPACE) |
Macro for quick registering of a namespace nested in top-level namespace. | |
#define | MIRROR_QREG_NESTED_NESTED_NAMESPACE(GRANDPARENT_NAMESPACE, PARENT_NAMESPACE, NESTED_NAMESPACE) |
Macro for quick registering of a namespace nested in a nested namespace. | |
#define | MIRROR_QREG_GLOBAL_SCOPE_ENUM(ENUM, VALUES) |
Macro for quick registering of global scope enumerations. | |
#define | MIRROR_QREG_ENUM(NAMESPACE, ENUM, VALUES) |
Macro for quick registering of enumerations. | |
#define | MIRROR_QREG_NESTED_ENUM(PARENT_CLASS, ENUM, VALUES) |
Macro for quick registering of enumerations nested in a class. |
Even if flexible, the regular registering macros can be little cumbersome for some registering tasks. For example the registering of a POD class involves specifying all member variables and the default, copy and structure initializer constructors, each by a separate macro invocation. The quick registering macros simplify the registering of some special constructs like POD classes, enums, etc. at the cost of a dependency on an external library (Boost.Preprocessor).
More on registering can be found in the Registering with Mirror section.
#define MIRROR_QREG_ENUM | ( | NAMESPACE, | |
ENUM, | |||
VALUES | |||
) |
Macro for quick registering of enumerations.
NAMESPACE | the full namespace name inside of which the enum is nested. |
ENUM | the base enum name. |
VALUES | a sequence of enumeration value names enclosed in parenthesises for example (x)(y)(z) |
#define MIRROR_QREG_GLOBAL_SCOPE_ENUM | ( | ENUM, | |
VALUES | |||
) |
Macro for quick registering of global scope enumerations.
ENUM | the base enum name. |
VALUES | a sequence of enumeration value names enclosed in parenthesises for example (x)(y)(z) |
#define MIRROR_QREG_GLOBAL_SCOPE_NAMESPACE | ( | NAMESPACE | ) |
Macro for quick registering of a single namespace under the global scope.
This macro can be used for registering of a single namespace defined directly in the global scope i.e. not a nested namespace. This macro takes care of registering the namespace and initializing the member type list.
NAMESPACE | the name of the namespace to be registered |
#define MIRROR_QREG_NESTED_ENUM | ( | PARENT_CLASS, | |
ENUM, | |||
VALUES | |||
) |
Macro for quick registering of enumerations nested in a class.
PARENT_CLASS | the full class name inside of which the enum is nested. |
ENUM | the base enum name. |
VALUES | a sequence of member variable names enclosed in parenthesises for example (x)(y)(z) |
#define MIRROR_QREG_NESTED_NAMESPACE | ( | PARENT_NAMESPACE, | |
NESTED_NAMESPACE | |||
) |
Macro for quick registering of a namespace nested in top-level namespace.
This macro can be used for registering of a single namespace defined in another namespace nested directly in the global scope. This macro takes care of registering the namespace and initializing the member type list. The enclosing parent namespace must be registered before the nested namespace is registered.
PARENT_NAMESPACE | the name of the parent namespace |
NESTED_NAMESPACE | the name of the nested namespace to be registered |
#define MIRROR_QREG_NESTED_NESTED_NAMESPACE | ( | GRANDPARENT_NAMESPACE, | |
PARENT_NAMESPACE, | |||
NESTED_NAMESPACE | |||
) |
Macro for quick registering of a namespace nested in a nested namespace.
This macro can be used for registering of a single namespace defined in another namespace nested in namespace under the global scope. This macro takes care of registering the namespace and initializing the member type list. The enclosing parent namespace must be registered before the nested namespace is registered.
GRANDPARENT_NAMESPACE | the name of the top-level namespace |
PARENT_NAMESPACE | the name of the parent namespace |
NESTED_NAMESPACE | the name of the nested namespace to be registered |