12static inline uint16_t ntoh(uint16_t
const &value) { return ::be16toh(value); }
14static inline uint32_t ntoh(uint32_t
const &value) { return ::be32toh(value); }
16static inline uint64_t ntoh(uint64_t
const &value) { return ::be64toh(value); }
18static inline uint16_t hton(uint16_t
const &value) { return ::htobe16(value); }
20static inline uint32_t hton(uint32_t
const &value) { return ::htobe32(value); }
22static inline uint64_t hton(uint64_t
const &value) { return ::htobe64(value); }
24template <
class T,
class It,
25 class U =
typename std::enable_if<std::is_integral<T>::value>::type>
26void serialize(T
const &value, It &it) {
27 T nvalue = hton(value);
28 std::copy_n(
reinterpret_cast<uint8_t *
>(&nvalue),
sizeof(T), it);
31template <
class T,
class It,
32 class U =
typename std::enable_if<std::is_integral<T>::value>::type>
33void deserialize(It &it, T &value) {
34 std::copy_n(it,
sizeof(T),
reinterpret_cast<uint8_t *
>(&value));