1#include <vanetza/common/archives.hpp>
7 m_stream_buffer(is.rdbuf())
16void InputArchive::load_binary(
unsigned char* data, std::size_t len)
18 load_binary(
reinterpret_cast<
char*>(data), len);
21void InputArchive::load_binary(
char* data, std::size_t len)
23 std::size_t read_bytes = m_stream_buffer->sgetn(data, len);
24 if (read_bytes != len) {
25 fail(ErrorCode::IncompleteData);
32 auto got = m_stream_buffer->sgetc();
33 if (got == StreamBuffer::traits_type::eof()) {
34 fail(ErrorCode::IncompleteData);
35 throw Exception(
"impossible peek at end of stream");
37 return StreamBuffer::traits_type::to_char_type(got);
43 return m_error_code == ErrorCode::Ok;
54 if (m_error_code == ErrorCode::Ok) {
55 m_error_code = error_code;
61 return m_stream_buffer->in_avail();
65 m_stream_buffer(os.rdbuf())
74void OutputArchive::save_binary(
const unsigned char* data, std::size_t len)
76 save_binary(
reinterpret_cast<
const char*>(data), len);
79void OutputArchive::save_binary(
const char* data, std::size_t len)
81 std::size_t written_bytes = m_stream_buffer->sputn(data, len);
82 if (written_bytes != len) {