38 return std::is_integral<T>::value && std::is_unsigned<T>::value &&
sizeof(
T) > 1;
41 template <
typename Archive,
class T>
42 typename std::enable_if<!use_container_varint<T>(),
bool>::type
48 template<
typename Archive,
typename T>
49 typename std::enable_if<use_container_varint<T>(),
bool>::type
52 static constexpr
const bool previously_varint = std::is_same<uint64_t, T>() || std::is_same<uint32_t, T>();
54 if (!previously_varint && ar.varint_bug_backward_compatibility_enabled() && !
typename Archive::is_saving())
56 ar.serialize_varint(e);
65 template <
template <
bool>
class Archive,
typename C>
70 if (!ar.stream().good())
75 if (ar.remaining_bytes() < cnt) {
76 ar.stream().setstate(std::ios::failbit);
82 for (
size_t i = 0; i < cnt; i++) {
85 typename C::value_type e;
89 if (!ar.stream().good())
96 template <
template <
bool>
class Archive,
typename C>
99 size_t cnt = v.size();
101 for (
auto i = v.begin(); i != v.end(); ++i)
103 if (!ar.stream().good())
109 if (!ar.stream().good())
Definition: binary_utils.h:36
const uint32_t T[512]
Definition: groestl_tables.h:36
std::enable_if<!use_container_varint< T >), bool >::type serialize_container_element(Archive &ar, T &e)
Definition: container.h:43
constexpr bool use_container_varint() noexcept
Definition: container.h:36
declaration and default definition for the functions used the API
Definition: expect.cpp:33
void do_serialize(boost::mpl::false_, Archive &a, epee::net_utils::network_address &na)
Definition: net_peerlist_boost_serialization.h:52
void do_reserve(C &c, size_t N)
Definition: container.h:61
void do_add(std::vector< T > &c, T &&e)
Definition: containers.h:91
bool do_serialize_container(Archive< false > &ar, C &v)
Definition: container.h:66