1#ifndef ARCHIVES_HPP_TLVURDQK
2#define ARCHIVES_HPP_TLVURDQK
4#include <vanetza/common/byte_order.hpp>
19 using InputStream = std::basic_istream<char>;
20 using StreamBuffer = std::basic_streambuf<char>;
22 using std::runtime_error::runtime_error;
31 static_assert(std::is_integral<T>::value ==
true,
"only integral types are supported");
32 char* ptr =
reinterpret_cast<char*
>(&t);
33 load_binary(ptr,
sizeof(T));
37 void load_binary(
unsigned char* data, std::size_t len);
38 void load_binary(
char* data, std::size_t len);
40 std::size_t remaining_bytes();
43 StreamBuffer* m_stream_buffer;
52 using OutputStream = std::basic_ostream<char>;
53 using StreamBuffer = std::basic_streambuf<char>;
55 using std::runtime_error::runtime_error;
64 static_assert(std::is_integral<T>::value ==
true,
"only integral types are supported");
65 const char* ptr =
reinterpret_cast<const char*
>(&t);
66 save_binary(ptr,
sizeof(T));
70 void save_binary(
const unsigned char* data, std::size_t len);
71 void save_binary(
const char* data, std::size_t len);
74 StreamBuffer* m_stream_buffer;