От: | Evgeny.Panasyuk | ||
Дата: | 06.10.14 10:51 | ||
Оценка: | +2 |
template<typename Archive, typename T>
typename enable_if
<
fusion::traits::is_sequence<T>
>::type
serialize(Archive &archive, T &xs)
{
fusion::for_each(xs, [&](auto &x)
{
serialize(archive, x);
});
}
http://rsdn.ru/forum/cpp/5413524.1
Автор: Evgeny.Panasyuk
Дата: 28.12.13
Сейчас всё ядро сериализации — это in/out archive (которые пришлось бы писать в любом случае) + рекурсивная сериализация Boost.Fusion Forward Sequence. На всё про всё — меньше ста строк.
Структуры определяются просто как BOOST_FUSION_DEFINE_STRUCT и уже готовы к сериализации.