CDT
v4.2.0
инструменты разработчика
serialize.hpp
См. документацию.
1
#include <bluegrass/meta/preprocessor.hpp>
2
3
#define EOSLIB_REFLECT_MEMBER_OP( OP, elem ) \
4
OP t.elem
5
19
#define EOSLIB_SERIALIZE( TYPE, MEMBERS ) \
20
template<typename DataStream> \
21
friend DataStream& operator << ( DataStream& ds, const TYPE& t ){ \
22
return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, <<, MEMBERS );\
23
}\
24
template<typename DataStream> \
25
friend DataStream& operator >> ( DataStream& ds, TYPE& t ){ \
26
return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, >>, MEMBERS );\
27
}
28
38
#define EOSLIB_SERIALIZE_DERIVED( TYPE, BASE, MEMBERS ) \
39
template<typename DataStream> \
40
friend DataStream& operator << ( DataStream& ds, const TYPE& t ){ \
41
ds << static_cast<const BASE&>(t); \
42
return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, <<, MEMBERS );\
43
}\
44
template<typename DataStream> \
45
friend DataStream& operator >> ( DataStream& ds, TYPE& t ){ \
46
ds >> static_cast<BASE&>(t); \
47
return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, >>, MEMBERS );\
48
}
libraries
eosiolib
core
eosio
serialize.hpp
Создано системой
1.9.3