Имеется некий объект. В объекте есть всякого рода данные начиная от булевых переменных и заканчивая строками. Как это все хозяйство сериализовать в объект без лишнего оверхеда? Причем чтобы еще порядок байт поменялся в big endian.
Вот у меня есть структура:
struct Point {
int x;
int y;
int z;
std::string name;
};
// заполним ее
Point point;
point.x = 5;
point.y = 10;
point.z = 7;
point.name = "test";
Теперь я хочу сделать что-то типа:
std::vector<byte> buff = serializer::to_binary(point);
И получить в итоге хочу это:
// мы сериализовали данные в бинарный формат
0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x0A 0x00 0x00 0x00 0x07 0x74 0x65 0x73 0x74 0x00
Какими путями можно этого достичь? Понятное дело, что вряд ли есть решение, которое может сделать вот прям все сразу так, как я хочу. Но вдруг кто-то знает связку чего-нибудь, чтобы достичь такого эффекта. Всякие Boost.Serialization не предлагать. Изменение формата тоже не предлагать. Писать руками, конвертировать порядок байт всякими там htons, htonl и т.д. - нет, спасибо.