Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
#include <string>
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include <boost/ref.hpp>
#include <camp/camptype.hpp>
#include <camp/class.hpp>
#include <camp/enum.hpp>
#include <camp/value.hpp>
#include <camp/function.hpp>
#include <camp/property.hpp>
#include <camp/arrayproperty.hpp>
#include <camp/enumobject.hpp>
#include <camp/userobject.hpp>
#include <camp/classvisitor.hpp>
#include <camp/simpleproperty.hpp>
#include <camp/enumproperty.hpp>
#include <camp/userproperty.hpp>
#include <camp/observer.hpp>
#include <camp/args.hpp>
#include <camp/errors.hpp>
#include <datatools/detail/reflection_utils.h>
Go to the source code of this file.
Macros | |
#define | DR_CLASS_IMPLEMENT_REFLECTION_HEAD(TypeId, TypeTag) |
Header of the implementation code block that defines Camp based reflection functionalities for class TypeId. More... | |
#define | DR_TYPE_IMPLEMENT_REFLECTION_HEAD(TypeId, TypeTag) DR_CLASS_IMPLEMENT_REFLECTION_HEAD(TypeId,TypeTag) \ |
#define | DR_CLASS_DECLARE2(ClassId, ClassName) ::camp::Class::declare< ClassId >(ClassName) \ |
Declare reflection metaclass for class ClassId with registration class name ClassName. More... | |
#define | DR_CLASS_DECLARE(ClassId) DR_CLASS_DECLARE2( ClassId , ::datatools::detail::reflection::guid< ClassId >() ) \ |
Declare reflection metaclass for class ClassId. More... | |
#define | DR_CLASS_BASE(ParentTypeId) base< ParentTypeId >() \ |
Directive to declare the ParentTypeId class as a base class. More... | |
#define | DR_CLASS_CONSTRUCTOR() constructor0() \ |
Declare default constructor for a class. More... | |
#define | DR_CLASS_CONSTRUCTOR1(Arg0Type) constructor1< Arg0Type >() \ |
Declare a class constructor with one argument of type Arg0Type. More... | |
#define | DR_CLASS_CONSTRUCTOR2(Arg0Type, Arg1Type) constructor2< Arg0Type , Arg1Type >() \ |
Declare a class constructor with two arguments of type Arg0Type and Arg1Type. More... | |
#define | DR_CLASS_CONSTRUCTOR3(Arg0Type, Arg1Type, Arg2Type) constructor3< Arg0Type , Arg1Type , Arg2Type >() \ |
Declare a class constructor with three arguments of type Arg0Type, Arg1Type and Arg2Type. More... | |
#define | DR_CLASS_CONSTRUCTOR4(Arg0Type, Arg1Type, Arg2Type, Arg3Type) constructor4< Arg0Type , Arg1Type , Arg2Type , Arg3Type >() \ |
Declare a class constructor with four arguments of type Arg0Type, Arg1Type, Arg2Type and Arg3Type. More... | |
#define | DR_CLASS_CONSTRUCTOR5(Arg0Type, Arg1Type, Arg2Type, Arg3Type, Arg4Type) constructor5< Arg0Type , Arg1Type , Arg2Type , Arg3Type , Arg4Type >() \ |
Declare a class constructor with five arguments of type Arg0Type, Arg1Type, Arg2Type, Arg3Type and Arg4Type. More... | |
#define | DR_CLASS_TAG_FLAG(TagName) tag(TagName) \ |
#define | DR_CLASS_TAG(TagName, TagValue) tag(TagName, TagValue) \ |
#define | DR_CLASS_PROPERTY_GETTER(PropertyName, PropertyGetterId) property(PropertyName, &PropertyGetterId) \ |
#define | DR_CLASS_PROPERTY_REFGETTER(PropertyName, RefPropertyGetterId) property(PropertyName, RefPropertyGetterId) \ |
#define | DR_CLASS_PROPERTY_GETTER_SETTER(PropertyName, PropertyGetterId, PropertySetterId) property(PropertyName, &PropertyGetterId, &PropertySetterId) \ |
#define | DR_CLASS_PROPERTY_REFGETTER_REFSETTER(PropertyName, RefPropertyGetterId, RefPropertySetterId) property(PropertyName, RefPropertyGetterId, RefPropertySetterId) \ |
#define | DR_CLASS_PROPERTY_GETTER_SETTER_GETTER(PropertyName, PropertyGetterId, PropertySetterId, PropertyGetterId2) property(PropertyName, &PropertyGetterId, &PropertySetterId, &PropertyGetterId2) \ |
#define | DR_CLASS_PROPERTY_REFGETTER_REFSETTER_REFGETTER(PropertyName, RefPropertyGetterId, RefPropertySetterId, RefPropertyGetterId2) property(PropertyName, RefPropertyGetterId, RefPropertySetterId, RefPropertyGetterId2) \ |
#define | DR_CLASS_METHOD(MethodName, TypeId, MethodId, ReturnType) |
#define | DR_CLASS_REFMETHOD(MethodName, TypeId, RefMethodId, ReturnType) |
#define | DR_CLASS_VOID_METHOD(MethodName, TypeId, MethodId) DR_CLASS_METHOD(MethodName,TypeId,MethodId,void) \ |
#define | DR_CLASS_VOID_REFMETHOD(MethodName, TypeId, RefMethodId) DR_CLASS_REFMETHOD(MethodName,TypeId,RefMethodId,void) \ |
#define | DR_CLASS_METHOD_CONST(MethodName, TypeId, MethodId, ReturnType) |
#define | DR_CLASS_REFMETHOD_CONST(MethodName, TypeId, RefMethodId, ReturnType) |
#define | DR_CLASS_VOID_METHOD_CONST(MethodName, TypeId, MethodId) DR_CLASS_METHOD_CONST(MethodName,TypeId,MethodId,void) \ |
#define | DR_CLASS_VOID_REFMETHOD_CONST(MethodName, TypeId, RefMethodId) DR_CLASS_REFMETHOD_CONST(MethodName,TypeId,MethodId,void) \ |
#define | DR_CLASS_METHOD1(MethodName, TypeId, MethodId, ReturnType, Arg0Type) |
#define | DR_CLASS_VOID_METHOD1(MethodName, TypeId, MethodId, Arg0Type) DR_CLASS_METHOD1(MethodName,TypeId,MethodId,void,Arg0Type) \ |
#define | DR_CLASS_METHOD1_CONST(MethodName, TypeId, MethodId, ReturnType, Arg0Type) |
#define | DR_CLASS_VOID_METHOD1_CONST(MethodName, TypeId, MethodId, Arg0Type) DR_CLASS_METHOD1_CONST(MethodName,TypeId,MethodId,void,Arg0Type) \ |
#define | DR_CLASS_REFMETHOD1(MethodName, TypeId, RefMethodId, ReturnType, Arg0Type) |
#define | DR_CLASS_VOID_REFMETHOD1(MethodName, TypeId, RefMethodId, Arg0Type) DR_CLASS_REFMETHOD1(MethodName,TypeId,RefMethodId,void,Arg0Type) \ |
#define | DR_CLASS_REFMETHOD1_CONST(MethodName, TypeId, RefMethodId, ReturnType, Arg0Type) |
#define | DR_CLASS_VOID_REFMETHOD1_CONST(MethodName, TypeId, RefMethodId, Arg0Type) DR_CLASS_REFMETHOD1_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type) \ |
#define | DR_CLASS_METHOD2(MethodName, TypeId, MethodId, ReturnType, Arg0Type, Arg1Type) |
#define | DR_CLASS_VOID_METHOD2(MethodName, TypeId, MethodId, Arg0Type, Arg1Type) DR_CLASS_METHOD2(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type) \ |
#define | DR_CLASS_METHOD2_CONST(MethodName, TypeId, MethodId, ReturnType, Arg0Type, Arg1Type) |
#define | DR_CLASS_VOID_METHOD2_CONST(MethodName, TypeId, MethodId, Arg0Type, Arg1Type) DR_CLASS_METHOD2_CONST(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type) \ |
#define | DR_CLASS_REFMETHOD2(MethodName, TypeId, RefMethodId, ReturnType, Arg0Type, Arg1Type) |
#define | DR_CLASS_VOID_REFMETHOD2(MethodName, TypeId, RefMethodId, Arg0Type, Arg1Type) DR_CLASS_REFMETHOD2(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type) \ |
#define | DR_CLASS_REFMETHOD2_CONST(MethodName, TypeId, RefMethodId, ReturnType, Arg0Type, Arg1Type) |
#define | DR_CLASS_VOID_REFMETHOD2_CONST(MethodName, TypeId, RefMethodId, Arg0Type, Arg1Type) DR_CLASS_REFMETHOD2_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type) \ |
#define | DR_CLASS_METHOD3(MethodName, TypeId, MethodId, ReturnType, Arg0Type, Arg1Type, Arg2Type) |
#define | DR_CLASS_VOID_METHOD3(MethodName, TypeId, MethodId, Arg0Type, Arg1Type, Arg2Type) DR_CLASS_METHOD3(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type,Arg2Type) \ |
#define | DR_CLASS_METHOD3_CONST(MethodName, TypeId, MethodId, ReturnType, Arg0Type, Arg1Type, Arg2Type) |
#define | DR_CLASS_VOID_METHOD3_CONST(MethodName, TypeId, RefMethodId, Arg0Type, Arg1Type, Arg2Type) DR_CLASS_METHOD3_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type) \ |
#define | DR_CLASS_REFMETHOD3(MethodName, TypeId, RefMethodId, ReturnType, Arg0Type, Arg1Type, Arg2Type) |
#define | DR_CLASS_VOID_REFMETHOD3(MethodName, TypeId, RefMethodId, Arg0Type, Arg1Type, Arg2Type) DR_CLASS_REFMETHOD3(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type) \ |
#define | DR_CLASS_REFMETHOD3_CONST(MethodName, TypeId, RefMethodId, ReturnType, Arg0Type, Arg1Type, Arg2Type) |
#define | DR_CLASS_VOID_REFMETHOD3_CONST(MethodName, TypeId, RefMethodId, Arg0Type, Arg1Type, Arg2Type) DR_CLASS_REFMETHOD3_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type) \ |
#define | DR_CLASS_METHOD4(MethodName, TypeId, MethodId, ReturnType, Arg0Type, Arg1Type, Arg2Type, Arg3Type) |
#define | DR_CLASS_VOID_METHOD4(MethodName, TypeId, MethodId, Arg0Type, Arg1Type, Arg2Type, Arg3Type) DR_CLASS_METHOD4(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type,Arg2Type,Arg3Type) \ |
#define | DR_CLASS_METHOD4_CONST(MethodName, TypeId, MethodId, ReturnType, Arg0Type, Arg1Type, Arg2Type, Arg3Type) |
#define | DR_CLASS_VOID_METHOD4_CONST(MethodName, TypeId, MethodId, Arg0Type, Arg1Type, Arg2Type, Arg3Type) DR_CLASS_METHOD4_CONST(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type,Arg2Type,Arg3Type) \ |
#define | DR_CLASS_REFMETHOD4(MethodName, TypeId, RefMethodId, ReturnType, Arg0Type, Arg1Type, Arg2Type, Arg3Type) |
#define | DR_CLASS_VOID_REFMETHOD4(MethodName, TypeId, RefMethodId, Arg0Type, Arg1Type, Arg2Type, Arg3Type) DR_CLASS_REFMETHOD4(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type,Arg3Type) \ |
#define | DR_CLASS_REFMETHOD4_CONST(MethodName, TypeId, RefMethodId, ReturnType, Arg0Type, Arg1Type, Arg2Type, Arg3Type) |
#define | DR_CLASS_VOID_REFMETHOD4_CONST(MethodName, TypeId, RefMethodId, Arg0Type, Arg1Type, Arg2Type, Arg3Type) DR_CLASS_REFMETHOD4_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type,Arg3Type) \ |
#define | DR_ENUM_DECLARE2(TypeId, TypeName) ::camp::Enum::declare< TypeId >(TypeName) \ |
#define | DR_ENUM_DECLARE(TypeId) DR_ENUM_DECLARE2( TypeId , ::datatools::detail::reflection::guid< TypeId >() ) \ |
Some useful macros related to Camp based reflection within datatools
#define DR_CLASS_BASE | ( | ParentTypeId | ) | base< ParentTypeId >() \ |
Directive to declare the ParentTypeId class as a base class.
#define DR_CLASS_CONSTRUCTOR | ( | ) | constructor0() \ |
Declare default constructor for a class.
#define DR_CLASS_CONSTRUCTOR1 | ( | Arg0Type | ) | constructor1< Arg0Type >() \ |
Declare a class constructor with one argument of type Arg0Type.
#define DR_CLASS_CONSTRUCTOR2 | ( | Arg0Type, | |
Arg1Type | |||
) | constructor2< Arg0Type , Arg1Type >() \ |
Declare a class constructor with two arguments of type Arg0Type and Arg1Type.
#define DR_CLASS_CONSTRUCTOR3 | ( | Arg0Type, | |
Arg1Type, | |||
Arg2Type | |||
) | constructor3< Arg0Type , Arg1Type , Arg2Type >() \ |
Declare a class constructor with three arguments of type Arg0Type, Arg1Type and Arg2Type.
#define DR_CLASS_CONSTRUCTOR4 | ( | Arg0Type, | |
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) | constructor4< Arg0Type , Arg1Type , Arg2Type , Arg3Type >() \ |
Declare a class constructor with four arguments of type Arg0Type, Arg1Type, Arg2Type and Arg3Type.
#define DR_CLASS_CONSTRUCTOR5 | ( | Arg0Type, | |
Arg1Type, | |||
Arg2Type, | |||
Arg3Type, | |||
Arg4Type | |||
) | constructor5< Arg0Type , Arg1Type , Arg2Type , Arg3Type , Arg4Type >() \ |
Declare a class constructor with five arguments of type Arg0Type, Arg1Type, Arg2Type, Arg3Type and Arg4Type.
#define DR_CLASS_DECLARE | ( | ClassId | ) | DR_CLASS_DECLARE2( ClassId , ::datatools::detail::reflection::guid< ClassId >() ) \ |
Declare reflection metaclass for class ClassId.
#define DR_CLASS_DECLARE2 | ( | ClassId, | |
ClassName | |||
) | ::camp::Class::declare< ClassId >(ClassName) \ |
Declare reflection metaclass for class ClassId with registration class name ClassName.
#define DR_CLASS_IMPLEMENT_REFLECTION_HEAD | ( | TypeId, | |
TypeTag | |||
) |
Header of the implementation code block that defines Camp based reflection functionalities for class TypeId.
#define DR_CLASS_METHOD | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType | |||
) |
#define DR_CLASS_METHOD1 | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType, | |||
Arg0Type | |||
) |
#define DR_CLASS_METHOD1_CONST | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType, | |||
Arg0Type | |||
) |
#define DR_CLASS_METHOD2 | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type | |||
) |
#define DR_CLASS_METHOD2_CONST | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type | |||
) |
#define DR_CLASS_METHOD3 | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type | |||
) |
#define DR_CLASS_METHOD3_CONST | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type | |||
) |
#define DR_CLASS_METHOD4 | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) |
#define DR_CLASS_METHOD4_CONST | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) |
#define DR_CLASS_METHOD_CONST | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
ReturnType | |||
) |
#define DR_CLASS_PROPERTY_GETTER | ( | PropertyName, | |
PropertyGetterId | |||
) | property(PropertyName, &PropertyGetterId) \ |
#define DR_CLASS_PROPERTY_GETTER_SETTER | ( | PropertyName, | |
PropertyGetterId, | |||
PropertySetterId | |||
) | property(PropertyName, &PropertyGetterId, &PropertySetterId) \ |
#define DR_CLASS_PROPERTY_GETTER_SETTER_GETTER | ( | PropertyName, | |
PropertyGetterId, | |||
PropertySetterId, | |||
PropertyGetterId2 | |||
) | property(PropertyName, &PropertyGetterId, &PropertySetterId, &PropertyGetterId2) \ |
#define DR_CLASS_PROPERTY_REFGETTER | ( | PropertyName, | |
RefPropertyGetterId | |||
) | property(PropertyName, RefPropertyGetterId) \ |
#define DR_CLASS_PROPERTY_REFGETTER_REFSETTER | ( | PropertyName, | |
RefPropertyGetterId, | |||
RefPropertySetterId | |||
) | property(PropertyName, RefPropertyGetterId, RefPropertySetterId) \ |
#define DR_CLASS_PROPERTY_REFGETTER_REFSETTER_REFGETTER | ( | PropertyName, | |
RefPropertyGetterId, | |||
RefPropertySetterId, | |||
RefPropertyGetterId2 | |||
) | property(PropertyName, RefPropertyGetterId, RefPropertySetterId, RefPropertyGetterId2) \ |
#define DR_CLASS_REFMETHOD | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType | |||
) |
#define DR_CLASS_REFMETHOD1 | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType, | |||
Arg0Type | |||
) |
#define DR_CLASS_REFMETHOD1_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType, | |||
Arg0Type | |||
) |
#define DR_CLASS_REFMETHOD2 | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type | |||
) |
#define DR_CLASS_REFMETHOD2_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type | |||
) |
#define DR_CLASS_REFMETHOD3 | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type | |||
) |
#define DR_CLASS_REFMETHOD3_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type | |||
) |
#define DR_CLASS_REFMETHOD4 | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) |
#define DR_CLASS_REFMETHOD4_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) |
#define DR_CLASS_REFMETHOD_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
ReturnType | |||
) |
#define DR_CLASS_TAG | ( | TagName, | |
TagValue | |||
) | tag(TagName, TagValue) \ |
#define DR_CLASS_TAG_FLAG | ( | TagName | ) | tag(TagName) \ |
#define DR_CLASS_VOID_METHOD | ( | MethodName, | |
TypeId, | |||
MethodId | |||
) | DR_CLASS_METHOD(MethodName,TypeId,MethodId,void) \ |
#define DR_CLASS_VOID_METHOD1 | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
Arg0Type | |||
) | DR_CLASS_METHOD1(MethodName,TypeId,MethodId,void,Arg0Type) \ |
#define DR_CLASS_VOID_METHOD1_CONST | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
Arg0Type | |||
) | DR_CLASS_METHOD1_CONST(MethodName,TypeId,MethodId,void,Arg0Type) \ |
#define DR_CLASS_VOID_METHOD2 | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
Arg0Type, | |||
Arg1Type | |||
) | DR_CLASS_METHOD2(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type) \ |
#define DR_CLASS_VOID_METHOD2_CONST | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
Arg0Type, | |||
Arg1Type | |||
) | DR_CLASS_METHOD2_CONST(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type) \ |
#define DR_CLASS_VOID_METHOD3 | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type | |||
) | DR_CLASS_METHOD3(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type,Arg2Type) \ |
#define DR_CLASS_VOID_METHOD3_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type | |||
) | DR_CLASS_METHOD3_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type) \ |
#define DR_CLASS_VOID_METHOD4 | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) | DR_CLASS_METHOD4(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type,Arg2Type,Arg3Type) \ |
#define DR_CLASS_VOID_METHOD4_CONST | ( | MethodName, | |
TypeId, | |||
MethodId, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) | DR_CLASS_METHOD4_CONST(MethodName,TypeId,MethodId,void,Arg0Type,Arg1Type,Arg2Type,Arg3Type) \ |
#define DR_CLASS_VOID_METHOD_CONST | ( | MethodName, | |
TypeId, | |||
MethodId | |||
) | DR_CLASS_METHOD_CONST(MethodName,TypeId,MethodId,void) \ |
#define DR_CLASS_VOID_REFMETHOD | ( | MethodName, | |
TypeId, | |||
RefMethodId | |||
) | DR_CLASS_REFMETHOD(MethodName,TypeId,RefMethodId,void) \ |
#define DR_CLASS_VOID_REFMETHOD1 | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type | |||
) | DR_CLASS_REFMETHOD1(MethodName,TypeId,RefMethodId,void,Arg0Type) \ |
#define DR_CLASS_VOID_REFMETHOD1_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type | |||
) | DR_CLASS_REFMETHOD1_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type) \ |
#define DR_CLASS_VOID_REFMETHOD2 | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type, | |||
Arg1Type | |||
) | DR_CLASS_REFMETHOD2(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type) \ |
#define DR_CLASS_VOID_REFMETHOD2_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type, | |||
Arg1Type | |||
) | DR_CLASS_REFMETHOD2_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type) \ |
#define DR_CLASS_VOID_REFMETHOD3 | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type | |||
) | DR_CLASS_REFMETHOD3(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type) \ |
#define DR_CLASS_VOID_REFMETHOD3_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type | |||
) | DR_CLASS_REFMETHOD3_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type) \ |
#define DR_CLASS_VOID_REFMETHOD4 | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) | DR_CLASS_REFMETHOD4(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type,Arg3Type) \ |
#define DR_CLASS_VOID_REFMETHOD4_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId, | |||
Arg0Type, | |||
Arg1Type, | |||
Arg2Type, | |||
Arg3Type | |||
) | DR_CLASS_REFMETHOD4_CONST(MethodName,TypeId,RefMethodId,void,Arg0Type,Arg1Type,Arg2Type,Arg3Type) \ |
#define DR_CLASS_VOID_REFMETHOD_CONST | ( | MethodName, | |
TypeId, | |||
RefMethodId | |||
) | DR_CLASS_REFMETHOD_CONST(MethodName,TypeId,MethodId,void) \ |
#define DR_ENUM_DECLARE | ( | TypeId | ) | DR_ENUM_DECLARE2( TypeId , ::datatools::detail::reflection::guid< TypeId >() ) \ |
#define DR_ENUM_DECLARE2 | ( | TypeId, | |
TypeName | |||
) | ::camp::Enum::declare< TypeId >(TypeName) \ |
#define DR_TYPE_IMPLEMENT_REFLECTION_HEAD | ( | TypeId, | |
TypeTag | |||
) | DR_CLASS_IMPLEMENT_REFLECTION_HEAD(TypeId,TypeTag) \ |