file serialize.hpp

Defines

Type

Name

define

RIXLIB_REFLECT_MEMBER_OP

define

RIXLIB_SERIALIZE

define

RIXLIB_SERIALIZE_DERIVED

Defines Documentation

define RIXLIB_REFLECT_MEMBER_OP

#define RIXLIB_REFLECT_MEMBER_OP(r, OP, elem) OP t.elem

define RIXLIB_SERIALIZE

#define RIXLIB_SERIALIZE(TYPE, MEMBERS)\
template<typename DataStream> \
 friend DataStream& operator << ( DataStream& ds, const TYPE& t ){ \
    return ds BOOST_PP_SEQ_FOR_EACH( EOSLIB_REFLECT_MEMBER_OP, <<, MEMBERS );\
 }\
 template<typename DataStream> \
 friend DataStream& operator >> ( DataStream& ds, TYPE& t ){ \
    return ds BOOST_PP_SEQ_FOR_EACH( RIXLIB_REFLECT_MEMBER_OP, >>, MEMBERS );\
 }

Defines serialization and deserialization for a class

Parameters:

TYPE - the class to have its serialization and deserialization defined
MEMBERS - a sequence of member names. (field1)(field2)(field3)

define RIXLIB_SERIALIZE_DERIVED

#define RIXLIB_SERIALIZE_DERIVED(TYPE, BASE, MEMBERS)\
template<typename DataStream> \
 friend DataStream& operator << ( DataStream& ds, const TYPE& t ){ \
    ds << static_cast<const BASE&>(t); \
    return ds BOOST_PP_SEQ_FOR_EACH( EOSLIB_REFLECT_MEMBER_OP, <<, MEMBERS );\
 }\
 template<typename DataStream> \
 friend DataStream& operator >> ( DataStream& ds, TYPE& t ){ \
    ds >> static_cast<BASE&>(t); \
    return ds BOOST_PP_SEQ_FOR_EACH( RIXLIB_REFLECT_MEMBER_OP, >>, MEMBERS );\
 }

Defines serialization and deserialization for a class which inherits from other classes that have their serialization and deserialization defined

Parameters:

TYPE - the class to have its serialization and deserialization defined
BASE - a sequence of base class names (basea)(baseb)(basec)
MEMBERS - a sequence of member names. (field1)(field2)(field3)