17template <
class MemberType>
25 [](
int inArrayDepth,
EOSDataType inDataType,
const char *inClassName)
27 return OSIsType((MemberType *)
nullptr, inArrayDepth, inDataType, inClassName);
31 return OSReadData(ioStream, *
reinterpret_cast<MemberType *
>(inObject));
35 OSWriteData(ioStream, *
reinterpret_cast<const MemberType *
>(inObject));
44#define JPH_ADD_ATTRIBUTE(class_name, member_name) \
45 AddSerializableAttributeTyped<decltype(class_name::member_name)>(inRTTI, offsetof(class_name, member_name), #member_name);
unsigned int uint
Definition Core.h:309
#define JPH_NAMESPACE_END
Definition Core.h:240
#define JPH_NAMESPACE_BEGIN
Definition Core.h:234
JPH_NAMESPACE_BEGIN const RTTI * GetPrimitiveTypeOfType(T *)
Helper functions to get the underlying RTTI type of a type (so e.g. Array<sometype> will return somet...
Definition GetPrimitiveTypeOfType.h:13
bool OSIsType(Array< T > *, int inArrayDepth, EOSDataType inDataType, const char *inClassName)
Definition ObjectStream.h:122
void OSWriteData(IObjectStreamOut &ioStream, const Array< T > &inArray)
Definition ObjectStream.h:238
bool OSReadData(IObjectStreamIn &ioStream, Array< T > &inArray)
Define serialization templates for dynamic arrays.
Definition ObjectStream.h:153
void OSWriteDataType(IObjectStreamOut &ioStream, Array< T > *)
Definition ObjectStream.h:231
EOSDataType
Data type.
Definition SerializableAttribute.h:15
JPH_NAMESPACE_BEGIN void AddSerializableAttributeTyped(RTTI &inRTTI, uint inOffset, const char *inName)
Definition SerializableAttributeTyped.h:18
Interface class for reading from an object stream.
Definition ObjectStream.h:39
Interface class for writing to an object stream.
Definition ObjectStream.h:73
void AddAttribute(const SerializableAttribute &inAttribute)
Attribute access.
Definition RTTI.cpp:128
Attributes are members of classes that need to be serialized.
Definition SerializableAttribute.h:35