file serialize.hpp
Defines
Type | Name |
---|---|
define | EOSLIB_REFLECT_MEMBER_OP |
define | EOSLIB_SERIALIZE |
define | EOSLIB_SERIALIZE_DERIVED |
Defines Documentation
define EOSLIB_REFLECT_MEMBER_OP
#define EOSLIB_REFLECT_MEMBER_OP(r, OP, elem) OP t.elem
define EOSLIB_SERIALIZE
#define EOSLIB_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( EOSLIB_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 EOSLIB_SERIALIZE_DERIVED
#define EOSLIB_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( EOSLIB_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)
The documentation for this class was generated from the following file: libraries/eosiolib/core/eosio/serialize.hpp