55 std::vector<unsigned char> _buffer;
62 const unsigned char* ptr =
reinterpret_cast<const unsigned char*
>(&value);
63 _buffer.insert(_buffer.end(), ptr, ptr +
sizeof(T));
71 if (
sizeof(T) + _cursor > _buffer.size())
72 throw std::out_of_range(
"Buffer overflow on read");
74 memcpy(&value, _buffer.data() + _cursor,
sizeof(T));
Snapshot operator>>(T &value)
Snapshot & operator<<(const T &value)
void load(const Memento::Snapshot &state)