Mirror reflection library 0.5.13
|
Defines | |
#define | MIRRORED_CLASS(FULL_CLASS_NAME) mirror::MetaClass |
Reflects the class passed as the FULL_CLASS_NAME argument. | |
#define | MIRRORED_ENUM(FULL_ENUM_NAME) mirror::MetaEnum |
Reflects the class passed as the FULL_ENUM_NAME argument. | |
#define | MIRRORED_FREE_FUNCTIONS(NAMESPACE, NAME) mirror::MetaOverloadedFunctions |
Reflects a set of functions named NAME defined in the NAMESPACE namespace. | |
#define | MIRRORED_GLOBAL_SCOPE_FUNCTIONS(NAME) mirror::MetaOverloadedFunctions |
Reflects a set of functions named NAME defined in the global scope. | |
#define | MIRRORED_META_OBJECT(META_OBJECT) mirror::MetaMetaObject |
Reflects the meta_object passed as the META_OBJECT argument. | |
#define | MIRRORED_NAMESPACE(FULL_NAMESPACE_NAME) mirror::MetaNamespace |
Reflects the namespace passed as the FULL_NAMESPACE_NAME argument. | |
#define | MIRRORED_GLOBAL_SCOPE() mirror::MetaNamespace |
Reflects the global scope namespace. | |
#define | MIRRORED_UNSPECIFIED_SCOPE() mirror::MetaNamespace |
Reflects an unspecified (local) scope. | |
#define | MIRRORED_TYPE(FULL_TYPE_NAME) mirror::MetaType |
Reflects the type passed as the FULL_TYPE_NAME argument. | |
#define | MIRRORED_TEMPLATE(FULL_TEMPLATE_NAME) mirror::MetaTypeTemplate |
Reflects the template passed as the FULL_TEMPLATE_NAME argument. | |
#define | MIRRORED_TYPEDEF(NAMESPACE, TYPEDEF) mirror::MetaTypedef |
Reflects the typedef TYPEDEF defined in the NAMESPACE namespace. | |
#define | MIRRORED_GLOBAL_SCOPE_TYPEDEF(TYPEDEF) mirror::MetaTypedef |
Reflects the typedef TYPEDEF defined in the global scope. | |
#define | MIRRORED_FREE_VARIABLE(NAMESPACE, VARIABLE) mirror::MetaFreeVariable |
Reflects the variable VARIABLE defined in the NAMESPACE namespace. | |
#define | MIRRORED_GLOBAL_SCOPE_VARIABLE(VARIABLE) mirror::MetaFreeVariable |
Reflects the variable VARIABLE defined in the global scope. | |
#define | MIRRORED_SIMPLE_VARIABLE(STORAGE_CLASS, VARIABLE) mirror::MetaVariable |
Reflects the meta_object passed as the META_OBJECT argument. |
The reflection macros simplify the process of reflection and hide some of the internal details of Mirror's implementation.
#define MIRRORED_CLASS | ( | FULL_CLASS_NAME | ) | mirror::MetaClass |
Reflects the class passed as the FULL_CLASS_NAME argument.
This macro expands into a type conforming to the MetaClass concept, which provides meta-data about the given class. The class name passed as the FULL_CLASS_NAME argument should be a fully qualified class name.
#define MIRRORED_ENUM | ( | FULL_ENUM_NAME | ) | mirror::MetaEnum |
Reflects the class passed as the FULL_ENUM_NAME argument.
This macro expands into a type conforming to the MetaEnum concept, which provides meta-data about the given enum. The enum name passed as the FULL_ENUM_NAME argument should be a fully qualified type name.
#define MIRRORED_FREE_FUNCTIONS | ( | NAMESPACE, | |
NAME | |||
) | mirror::MetaOverloadedFunctions |
Reflects a set of functions named NAME defined in the NAMESPACE namespace.
This macro expands into a type conforming to the MetaOverloadedFunctions concept, which provides meta-data about the given set of overloaded functions.
#define MIRRORED_FREE_VARIABLE | ( | NAMESPACE, | |
VARIABLE | |||
) | mirror::MetaFreeVariable |
Reflects the variable VARIABLE defined in the NAMESPACE namespace.
This macro expands into a type conforming to the MetaFreeVariable concept, which provides meta-data about the given variable.
#define MIRRORED_GLOBAL_SCOPE | ( | ) | mirror::MetaNamespace |
Reflects the global scope namespace.
This macro expands into a type conforming to the MetaNamespace concept, which provides meta-data about the given namespace.
#define MIRRORED_GLOBAL_SCOPE_FUNCTIONS | ( | NAME | ) | mirror::MetaOverloadedFunctions |
Reflects a set of functions named NAME defined in the global scope.
This macro expands into a type conforming to the MetaOverloadedFunctions concept, which provides meta-data about the given set of overloaded functions.
#define MIRRORED_GLOBAL_SCOPE_TYPEDEF | ( | TYPEDEF | ) | mirror::MetaTypedef |
Reflects the typedef TYPEDEF defined in the global scope.
This macro expands into a type conforming to the MetaTypedef concept, which provides meta-data about the given typedef.
#define MIRRORED_GLOBAL_SCOPE_VARIABLE | ( | VARIABLE | ) | mirror::MetaFreeVariable |
Reflects the variable VARIABLE defined in the global scope.
This macro expands into a type conforming to the MetaFreeVariable concept, which provides meta-data about the given variable.
#define MIRRORED_META_OBJECT | ( | META_OBJECT | ) | mirror::MetaMetaObject |
Reflects the meta_object passed as the META_OBJECT argument.
This macro expands into a type conforming to the MetaMetaObject concept, which provides meta-data about the given Mirror's MetaObject. The type name passed as the META_TYPE argument must by a valid Mirror's meta-object.
#define MIRRORED_NAMESPACE | ( | FULL_NAMESPACE_NAME | ) | mirror::MetaNamespace |
Reflects the namespace passed as the FULL_NAMESPACE_NAME argument.
This macro expands into a type conforming to the MetaNamespace concept, which provides meta-data about the given namespace. The namespace name passed as the FULL_NAMESPACE_NAME argument must NOT contain the leading :: (double colon).
#define MIRRORED_SIMPLE_VARIABLE | ( | STORAGE_CLASS, | |
VARIABLE | |||
) | mirror::MetaVariable |
Reflects the meta_object passed as the META_OBJECT argument.
This macro expands into a type conforming to the MetaMetaObject concept, which provides meta-data about the given Mirror's MetaObject. The type name passed as the META_TYPE argument must by a valid Mirror's meta-object.
#define MIRRORED_TEMPLATE | ( | FULL_TEMPLATE_NAME | ) | mirror::MetaTypeTemplate |
Reflects the template passed as the FULL_TEMPLATE_NAME argument.
This macro expands into a type conforming to the MetaTypeTemplate concept, which provides meta-data about the given parameric type. The template name passed as the FULL_TEMPLATE_NAME argument should be a fully qualified type name.
#define MIRRORED_TYPE | ( | FULL_TYPE_NAME | ) | mirror::MetaType |
Reflects the type passed as the FULL_TYPE_NAME argument.
This macro expands into a type conforming to the MetaType concept, which provides meta-data about the given type. The type name passed as the FULL_TYPE_NAME argument should be a fully qualified type name.
#define MIRRORED_TYPEDEF | ( | NAMESPACE, | |
TYPEDEF | |||
) | mirror::MetaTypedef |
Reflects the typedef TYPEDEF defined in the NAMESPACE namespace.
This macro expands into a type conforming to the MetaTypedef concept, which provides meta-data about the given typedef.
#define MIRRORED_UNSPECIFIED_SCOPE | ( | ) | mirror::MetaNamespace |
Reflects an unspecified (local) scope.
This macro expands into a type conforming to the MetaNamespace concept, which provides meta-data about an unspecified scope used in cases where the scope of an MetaScopedObject is not important.