void operator<<( Stream& stream, const graphene::chain::extension<T>& value ) { graphene_extension_pack_count_visitor<T> count_vtor( value.value ); fc::reflector<T>::visit( count_vtor ); fc::raw::pack( stream, unsigned_int( count_vtor.count ) ); graphene_extension_pack_read_visitor<Stream,T> read_vtor( stream, value.value ); fc::reflector<T>::visit( read_vtor ); }
void pack( Stream& stream, const graphene::chain::extension<T>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH ) { FC_ASSERT( _max_depth > 0 ); --_max_depth; graphene::chain::graphene_extension_pack_count_visitor<T> count_vtor( value.value ); fc::reflector<T>::visit( count_vtor ); fc::raw::pack( stream, unsigned_int( count_vtor.count ), _max_depth ); graphene::chain::graphene_extension_pack_read_visitor<Stream,T> read_vtor( stream, value.value, _max_depth ); fc::reflector<T>::visit( read_vtor ); }