23 #include <boost/cstdint.hpp>
27 using boost::uint16_t;
28 using boost::uint32_t;
33 inline uint64_t
read64(binary::const_iterator& pos,
bool big_endian)
38 value =
static_cast<uint64_t
>(*pos++) << 56;
39 value |=
static_cast<uint64_t
>(*pos++) << 48;
40 value |=
static_cast<uint64_t
>(*pos++) << 40;
41 value |=
static_cast<uint64_t
>(*pos++) << 32;
42 value |=
static_cast<uint64_t
>(*pos++) << 24;
43 value |=
static_cast<uint64_t
>(*pos++) << 16;
44 value |=
static_cast<uint64_t
>(*pos++) << 8;
45 value |=
static_cast<uint64_t
>(*pos++) << 0;
49 value =
static_cast<uint64_t
>(*pos++) << 0;
50 value |=
static_cast<uint64_t
>(*pos++) << 8;
51 value |=
static_cast<uint64_t
>(*pos++) << 16;
52 value |=
static_cast<uint64_t
>(*pos++) << 24;
53 value |=
static_cast<uint64_t
>(*pos++) << 32;
54 value |=
static_cast<uint64_t
>(*pos++) << 40;
55 value |=
static_cast<uint64_t
>(*pos++) << 48;
56 value |=
static_cast<uint64_t
>(*pos++) << 56;
72 serialized.push_back(value >> 56 & 0xff);
73 serialized.push_back(value >> 48 & 0xff);
74 serialized.push_back(value >> 40 & 0xff);
75 serialized.push_back(value >> 32 & 0xff);
76 serialized.push_back(value >> 24 & 0xff);
77 serialized.push_back(value >> 16 & 0xff);
78 serialized.push_back(value >> 8 & 0xff);
79 serialized.push_back(value >> 0 & 0xff);
83 inline uint32_t
read32(binary::const_iterator& pos,
bool big_endian)
89 value |= *pos++ << 16;
97 value |= *pos++ << 16;
98 value |= *pos++ << 24;
114 serialized.push_back(value >> 24 & 0xff);
115 serialized.push_back(value >> 16 & 0xff);
116 serialized.push_back(value >> 8 & 0xff);
117 serialized.push_back(value >> 0 & 0xff);
120 inline uint16_t
read16(binary::const_iterator& pos,
bool big_endian)
125 value |= *pos++ << 8;
126 value |= *pos++ << 0;
131 value |= *pos++ << 8;
148 serialized.push_back(value >> 8 & 0xff);
149 serialized.push_back(value >> 0 & 0xff);