cereal - A C++11 library for serialization - 03
C++ serialization cereal
#include <cereal/archives/binary.hpp>
#include <iostream>
using namespace std;
int main()
{
array<char, 4> mydata = {'A', 'B', 'C', 'D'};
stringstream ss;
cereal::BinaryOutputArchive ar( ss );
ar( cereal::binary_data( mydata.data(), mydata.size() ) );
// Cria um array com o tamanho do stream;
ss.seekg( 0, ios::end );
const size_t sz = ss.tellg();
char * buffer = new char[sz];
// Vai para o começo do stream e lê para o buffer
ss.seekg( 0, ios::beg );
ss.read( buffer, sizeof( buffer ) );
cout << "A=" << buffer[0] << endl;
cout << "B=" << buffer[1] << endl;
cout << "C=" << buffer[2] << endl;
cout << "D=" << buffer[3] << endl;
delete[] buffer;
return 0;
}