MIRA
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
ReflectorWrapperVersionHelper< MetaSerializer > Struct Template Reference

#include <python/ReflectorWrapper.h>

Inheritance diagram for ReflectorWrapperVersionHelper< MetaSerializer >:
Inheritance graph
[legend]

Public Types

typedef ReflectorWrapperVersionHelper< MetaSerializerDerived
 
typedef boost::mpl::bool_< false > isObjectTrackingSupported
 
typedef boost::mpl::bool_< true > requireReflectBarriers
 
typedef CompoundMeta::MemberReflectState
 
typedef serialization::VersionType VersionType
 
typedef BinarySerializerTag Tag
 
typedef serialization::AcceptDesiredVersion AcceptDesiredVersion
 
typedef boost::mpl::bool_< true > isReadOnly
 
typedef Base::ClassVersionMap ClassVersionMap
 
typedef boost::mpl::bool_< true > useHumanReadableIDs
 

Public Member Functions

TypeMetaPtr addMeta (const T &v)
 
VersionType version (VersionType version, const T *caller=NULL)
 
VersionType version (VersionType version, AcceptDesiredVersion, const T *caller=NULL)
 
VersionType version (VersionType version, const T *caller=NULL)
 
VersionType version (VersionType version, AcceptDesiredVersion, const T *caller=NULL)
 
VersionType version (VersionType version, AcceptDesiredVersion, const T *caller=NULL)
 
VersionType version (VersionType version, AcceptDesiredVersion, const T *caller=NULL)
 
VersionType version (VersionType version, const T *caller=NULL)
 
VersionType version (VersionType version, AcceptDesiredVersion, const T *caller=NULL)
 
 MIRA_DEPRECATED ("Please call as version<MyType>(v) or version(v, this)", VersionType version(VersionType version))
 
 MIRA_DEPRECATED ("Please call as requireVersion<MyType>(v, minV) or requireVersion(v, minV, this)", VersionType requireVersion(VersionType version, VersionType minVersion))
 
 MIRA_DEPRECATED ("Please call as requireVersion<MyType>(v) or requireVersion(v, this)", void requireVersion(VersionType requiredVersion))
 
 MIRA_DEPRECATED ("Please call as requireVersion<MyType>(v, minV) or requireVersion(v, minV, this)", VersionType requireVersion(VersionType version, VersionType minVersion))
 
 MIRA_DEPRECATED ("Please call as requireVersion<MyType>(v) or requireVersion(v, this)", VersionType requireVersion(VersionType version))
 
 MIRA_DEPRECATED ("Please call as requireVersion<MyType>(v, minV) or requireVersion(v, minV, this)", VersionType requireVersion(VersionType version, VersionType minVersion))
 
 MIRA_DEPRECATED ("Please call as requireVersion<MyType>(v) or requireVersion(v, this)", VersionType requireVersion(VersionType version))
 
 MIRA_DEPRECATED ("Please call as requireVersion<MyType>(v, minV) or requireVersion(v, minV, this)", VersionType requireVersion(VersionType version, VersionType minVersion))
 
ReflectState preReflect (const char *context="")
 
void postReflect (const ReflectState &prev)
 
void postReflect (const ReflectState &)
 
void postReflect (const ReflectState &)
 
void write (const T *data, std::size_t count)
 
bool hasCodec () const
 
bool codec (const T &obj)
 
void interface (const char *name)
 
void addMethod (MethodMetaPtr method)
 
InvalidRPCDescription< R(Args...), Description... > method (const char *, F &&, Description &&...)
 
InvalidRPCDescription< F, Description... > method (const char *, F &&, Description &&...)
 
InvalidRPCDescription< R(Class::*)(Args...), Description... > method (const char *, R(Class::*)(Args...), Class *, Description &&...)
 
InvalidRPCDescription< R(Class::*)(Args...) const, Description... > method (const char *, R(Class::*)(Args...) const, Class *, Description &&...)
 
ValidRPCDescription< R(Args...), Description... > method (const char *name, F &&fn, Description &&... descriptions)
 
ValidRPCDescription< F, Description... > method (const char *name, F &&fn, Description &&... descriptions)
 
ValidRPCDescription< R(Class::*)(Args...), Description... > method (const char *name, R(Class::*fn)(Args...), Class *This, Description &&... descriptions)
 
ValidRPCDescription< R(Class::*)(Args...) const, Description... > method (const char *name, R(Class::*fn)(Args...) const, Class *This, Description &&... descriptions)
 
void method (const char *name, Method method, const char *comment, const char *paramName, const char *paramDescription, P paramSampleValue,...)
 
void method (const char *name, Method method, Class *object, const char *comment, const char *paramName, const char *paramDescription, P paramSampleValue,...)
 
void method (const char *name, Method method, const char *comment, const char *paramName, const char *paramDescription, P paramSampleValue,...)
 
void method (const char *name, Method method, Class *object, const char *comment, const char *paramName, const char *paramDescription, P paramSampleValue,...)
 
InvalidRPCDescription< R(Class::*)(Args...), Description... > method (const char *, R(Class::*)(Args...), Class *, Description &&...)
 
void method (const char *name, Method method, Class *object, const char *comment, const char *paramName, const char *paramDescription, P paramSampleValue,...)
 
void atomic (T &)
 
void enumeration (T &)
 
void pointer (T *&pointer)
 
void object (T &member)
 
void invokeOverwrite (T &object)
 
void invokeOverwrite (serialization::PlainArray< T > &array)
 
void property (const char *name, T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, const std::string &id, T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, const T &member, Setter< T > setter, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, T &member, const char *comment, const U &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, const T &member, Setter< T > setter, const char *comment, const U &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, const U &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, T &member, const char *comment, const T &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, const T &member, Setter< T > setter, const char *comment, const T &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, const T &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, const std::string &id, T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, const T &member, Setter< T > setter, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, T &member, const char *comment, const T &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, T &member, const char *comment, const U &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, const T &member, Setter< T > setter, const char *comment, const T &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, const T &member, Setter< T > setter, const char *comment, const U &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, const T &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void property (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, const U &defaultValue, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void delegate (T &member, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void delegate (const T &member, Setter< T > setter, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void delegate (Getter< T > getter, Setter< T > setter, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void delegate (T &member, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void delegate (const T &member, Setter< T > setter, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void delegate (Getter< T > getter, Setter< T > setter, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void collectionItems (const std::string &countName, bool blockdump=false)
 
void desireClassVersions (const ClassVersionMap &versions)
 
void desireClassVersions (const ClassVersionMap &versions)
 
void serialize (const std::string &name, const T &value, const std::string &comment="")
 
void trackObject (T &member)
 
void pointerNormal (T *&pointer, int typeId)
 
void pointerPolymorphic (T *&pointer, int typeId)
 
void pointerAbstract (T *&pointer, int typeId)
 
void pushObjectTrackingStore ()
 
void popObjectTrackingStore ()
 
void member (const char *name, T &member, const char *comment, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, const std::string &id, T &member, const char *comment, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, const T &member, Setter< T > setter, const char *comment, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, T &member, const char *comment, const T &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, T &member, const char *comment, const U &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, const T &member, Setter< T > setter, const char *comment, const T &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, const T &member, Setter< T > setter, const char *comment, const U &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, const T &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, const U &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, T &member, const char *comment, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, const std::string &id, T &member, const char *comment, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, const T &member, Setter< T > setter, const char *comment, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, T &member, const char *comment, const T &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, T &member, const char *comment, const U &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, const T &member, Setter< T > setter, const char *comment, const T &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, const T &member, Setter< T > setter, const char *comment, const U &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, const T &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void member (const char *name, Getter< T > getter, Setter< T > setter, const char *comment, const U &defaultValue, ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
const ReflectMemberMetagetCurrentMemberMeta () const
 
const std::string & getCurrentMemberFullID () const
 
void invokeMember (T &member, const ReflectMemberMeta &meta)
 
void invokeMember (T &member, const ReflectMemberMeta &meta)
 
void invokeMemberOverwrite (T &member, const ReflectMemberMeta &meta)
 
void invokeMemberOverwrite (T &member, const ReflectMemberMeta &meta)
 
void invokePointerObject (T &member)
 
void invokeMemberWithoutDefault (T &member, const ReflectMemberMeta &meta)
 
void invokeMemberWithoutDefault (T &member, const ReflectMemberMeta &meta)
 
void invokeMemberWithDefault (T &member, const ReflectMemberMeta &meta, const U &defaultValue)
 
void invokeMemberWithDefault (T &member, const ReflectMemberMeta &meta, const serialization::IgnoreMissing &defaultValue)
 
void invokeMemberWithDefault (T &member, const ReflectMemberMeta &meta, const U &defaultValue)
 
void invokeMemberWithDefault (T &member, const ReflectMemberMeta &meta, const serialization::IgnoreMissing &defaultValue)
 
VersionType requireVersion (VersionType version, VersionType minVersion, const T *caller=NULL)
 
void requireVersion (VersionType requiredVersion, const T *caller=NULL)
 
VersionType requireVersion (VersionType version, VersionType minVersion, AcceptDesiredVersion, const T *caller=NULL)
 
void requireVersion (VersionType requiredVersion, AcceptDesiredVersion, const T *caller=NULL)
 
VersionType requireVersion (VersionType version, VersionType minVersion, const T *caller=NULL)
 
void requireVersion (VersionType version, const T *caller=NULL)
 
VersionType requireVersion (VersionType version, VersionType minVersion, AcceptDesiredVersion, const T *caller=NULL)
 
void requireVersion (VersionType version, AcceptDesiredVersion, const T *caller=NULL)
 
VersionType requireVersion (VersionType version, VersionType minVersion, const T *caller=NULL)
 
void requireVersion (VersionType version, const T *caller=NULL)
 
VersionType requireVersion (VersionType version, VersionType minVersion, AcceptDesiredVersion, const T *caller=NULL)
 
void requireVersion (VersionType version, AcceptDesiredVersion, const T *caller=NULL)
 
VersionType requireVersion (VersionType version, VersionType minVersion, const T *caller=NULL)
 
void requireVersion (VersionType version, const T *caller=NULL)
 
VersionType requireVersion (VersionType version, VersionType minVersion, AcceptDesiredVersion, const T *caller=NULL)
 
void requireVersion (VersionType version, AcceptDesiredVersion, const T *caller=NULL)
 
void reflectBase (Base &base)
 
void pointerReference (int referencedObjectID)
 
void pointerReference (int referencedObjectID)
 
void pointerNull ()
 
void pointerNull ()
 
void pointerWithoutClassType ()
 
void pointerWithoutClassType ()
 
void pointerWithClassType (const std::string &type)
 
void pointerWithClassType (const std::string &type)
 
void collection (T &member)
 
void collection (T &member)
 
void roproperty (const char *name, const T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void roproperty (const char *name, const std::string &id, const T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void roproperty (const char *name, Getter< T > getter, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void roproperty (const char *name, const T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void roproperty (const char *name, const std::string &id, const T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void roproperty (const char *name, Getter< T > getter, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void roproperty (const char *name, const T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void roproperty (const char *name, const std::string &id, const T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void roproperty (const char *name, Getter< T > getter, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
 
void itemName (const std::string &name)
 
void itemName (const std::string &name)
 
void invalid_method ()
 
void invalid_method ()
 

Static Public Member Functions

static serialization::VersionType versionHelp (MetaSerializer &r, serialization::VersionType version, boost::python::object callerType)
 
static int forcedSerializeVersion ()
 
static void registerClass ()
 
static void unregisterClass ()
 
static bool isReflectedAsPointer ()
 
static bool usesHumanReadableIDs ()
 

Protected Types

typedef std::set< AObject > ObjectSet
 
typedef std::map< int, std::string > ObjectIDToNameMap
 
typedef std::pair< ObjectSet, ObjectIDToNameMapTrackingState
 

Protected Member Functions

VersionType version (VersionType version, const std::string &type, bool acceptDesiredVersion=false)
 
CompoundMetaPtr createMapEntry (TypeMetaPtr &type)
 
void addCurrentAsMemberToParent ()
 
TypeMetaPtr createMeta ()
 
TypeMetaPtr createMetaOrVoidHelper ()
 
TypeMetaPtr createMetaHelper ()
 
TypeMetaPtr createMetaHelper (T *)
 
TypeMetaPtr createMetaHelper (void *)
 
void concreteMethodMetaHelper (const char *name, Private::ArgumentTuple< Args... >, Description &&... descriptions)
 
void createMethodMeta (const std::string &name, Comment &&comment, Descriptions &&... args)
 
VersionType queryDesiredClassVersion (VersionType version, const std::string &type, bool acceptDesiredVersion=false)
 
VersionType queryDesiredClassVersion (VersionType version, bool acceptDesiredVersion=false)
 
bool isTrackingEnabled () const
 
const std::string & getHumanReadableFullID (int objectID) const
 
void invokeTrackObject (T &member)
 
void reflectUnknown (T &member)
 
void reflectAtomic (T &member)
 
void reflectEnumeration (T &member)
 
void reflectArray (T &member)
 
void reflectComplex (T &member)
 
void reflectCollection (T &member)
 
void reflectPointer (T &member)
 
void reflectPointerNormal (T *&member)
 
void reflectPointerPolymorphic (T *&member)
 
void reflectPointerAbstract (T *&member)
 
void chooseReflect (T &member)
 
MetaSerializerThis ()
 
void invoke (T &object)
 
void reflectComplexIntrusive (T &object)
 
void reflectComplexNonintrusive (T &object)
 
void reflectMissing (T &object)
 

Static Protected Member Functions

static int checkForcedVersion (const std::string &variable)
 

Protected Attributes

MetaTypeDatabasemMetaDatabase
 
TypeMetaPtr mCurrentMeta
 
CompoundMetaPtr mParentMeta
 
CompoundMeta::MembermCurrentVersion
 
ClassVersionMap mDesiredClassVersions
 
ObjectSet mObjects
 
ObjectIDToNameMap mObjectIDToName
 
std::stack< TrackingStatemTrackingStack
 

Static Protected Attributes

static constexpr auto MIRA_REFLECTOR_TOPLEVEL_NAME
 

Member Typedef Documentation

◆ Derived

Member Function Documentation

◆ versionHelp()

static serialization::VersionType versionHelp ( MetaSerializer r,
serialization::VersionType  version,
boost::python::object  callerType 
)
inlinestatic

The documentation for this struct was generated from the following file: