24 #include <boost/endian/conversion.hpp>
26 #include <initializer_list>
44 std::initializer_list<TestMarkOutBinTag> tags_) {
46 readBinaryData(
sizeof(rtag_), &rtag_);
59 readBinaryData(
sizeof(length_), &length_);
60 boost::endian::big_to_native_inplace(length_);
61 std::vector<std::uint8_t> buffer_(length_);
62 readBinaryData(length_, buffer_.data());
63 return std::string(buffer_.data(), buffer_.data() + length_);
75 readBinaryData(
sizeof(buffer_), &buffer_);
76 return static_cast<std::int64_t
>(
static_cast<std::int8_t
>(buffer_));
79 std::uint16_t buffer_;
80 readBinaryData(
sizeof(buffer_),
reinterpret_cast<std::uint8_t*
>(&buffer_));
81 boost::endian::big_to_native_inplace(buffer_);
82 return static_cast<std::int64_t
>(
static_cast<std::int16_t
>(buffer_));
85 std::uint64_t buffer_;
86 readBinaryData(
sizeof(buffer_),
reinterpret_cast<std::uint8_t*
>(&buffer_));
87 boost::endian::big_to_native_inplace(buffer_);
88 return static_cast<std::int64_t
>(buffer_);
96 readBinaryData(
sizeof(length_), &length_);
97 std::vector<std::uint8_t> buffer_(length_ + 1);
98 readBinaryData(length_, buffer_.data());
103 std::strtold(
reinterpret_cast<const char*
>(buffer_.data()), &end_));
104 if(
reinterpret_cast<std::uint8_t*
>(end_) != buffer_.data() + length_)
105 throw ExcTestMarkIn(
"invalid format of a floating point number");
117 std::uint64_t length_;
119 std::uint8_t buffer_;
120 readBinaryData(
sizeof(buffer_), &buffer_);
124 std::uint16_t buffer_;
125 readBinaryData(
sizeof(buffer_),
reinterpret_cast<std::uint8_t*
>(&buffer_));
126 boost::endian::big_to_native_inplace(buffer_);
130 std::uint64_t buffer_;
131 readBinaryData(
sizeof(buffer_),
reinterpret_cast<std::uint8_t*
>(&buffer_));
132 boost::endian::big_to_native_inplace(buffer_);
135 std::vector<std::uint8_t> str_(length_);
136 readBinaryData(length_, str_.data());
137 return std::string(str_.data(), str_.data() + length_);