39 template <
typename Archive,
class T>
45 template <
typename Archive>
48 ar.serialize_varint(e);
52 template <
typename Archive>
55 ar.serialize_varint(e);
64 template <
template <
bool>
class Archive,
typename C>
69 if (!ar.stream().good())
74 if (ar.remaining_bytes() < cnt) {
75 ar.stream().setstate(std::ios::failbit);
81 for (
size_t i = 0; i < cnt; i++) {
84 typename C::value_type e;
88 if (!ar.stream().good())
95 template <
template <
bool>
class Archive,
typename C>
98 size_t cnt = v.size();
100 for (
auto i = v.begin(); i != v.end(); ++i)
102 if (!ar.stream().good())
108 if (!ar.stream().good())
Simple DSL AAPI based on.
declaration and default definition for the functions used the API
unsigned __int64 uint64_t
bool serialize_container_element(Archive &ar, T &e)
void do_serialize(boost::mpl::false_, Archive &a, epee::net_utils::network_address &na)
void do_reserve(C &c, size_t N)
void do_add(std::deque< T > &c, T &&e)
const T & move(const T &t)
bool do_serialize_container(Archive< false > &ar, C &v)