52 T data_reversed =
data;
53 std::reverse(
reinterpret_cast<char*
>(&data_reversed),
54 reinterpret_cast<char*
>(&data_reversed) +
sizeof(T));
59 #ifdef BOOST_BIG_ENDIAN
67 #ifdef BOOST_BIG_ENDIAN
101 template <
typename T>
110 template <
typename T>
112 T data_little_endian;
113 stream->read(
reinterpret_cast<char*
>(&data_little_endian),
sizeof(T));
117 template <
typename T>
119 for (
size_t i = 0; i <
data->size(); ++i) {
120 (*data)[i] = ReadBinaryLittleEndian<T>(stream);
124 template <
typename T>
127 stream->write(
reinterpret_cast<const char*
>(&data_little_endian),
131 template <
typename T>
133 for (
const auto& elem :
data) {
134 WriteBinaryLittleEndian<T>(stream, elem);
T NativeToLittleEndian(const T x)
T NativeToBigEndian(const T x)
T ReverseBytes(const T &data)
T LittleEndianToNative(const T x)
T ReadBinaryLittleEndian(std::istream *stream)
T BigEndianToNative(const T x)
void WriteBinaryLittleEndian(std::ostream *stream, const T &data)