25 read_record(std::ifstream& input_file,
void* data, int32_t number_of_bytes)
const override {
26 int32_t prefix_length;
27 int32_t suffix_length;
28 input_file.read(
reinterpret_cast<char*
>(&prefix_length), 4);
29 if (prefix_length != number_of_bytes) {
30 input_file.setstate(std::ios::failbit);
33 input_file.read(
reinterpret_cast<char*
>(data), number_of_bytes);
34 input_file.read(
reinterpret_cast<char*
>(&suffix_length), 4);
35 if (suffix_length != prefix_length) {
36 input_file.setstate(std::ios::failbit);