Last time I have been working on a C++ binary serialization framework that allows to serialize simple data structures with a few lines of code. First, you add AWL_REFLECT
macro to all your structures as follows:
#include "Awl/Reflection.h"
#include <string>
#include <vector>
#include <set>
struct A
{
int a;
bool b;
std::string c;
double d;
AWL_REFLECT(a, b, c, d)
};