Рассмотрим структуру сериализовать:Конкретный пример boost :: serialization :: traits?
struct MyStruct {
int a;
std::string b;
template<class Archive>
void serialize(Archive &ar, const unsigned int)
{
ar & a & b;
}
};
Я хочу, чтобы явно пометить его, используя подталкивание :: сериализации :: черты, чтобы быть как track_never
и object_serializable
. Я уставился на traits docs, но, похоже, не могу понять, как его применять, и нигде не могу найти пример. Итак ...
a) Каков код, который применяет черты к этому классу?
b) Что такое BOOST_STATIC_ASSERT()
, который проверяет каждый на своем месте?
c) Я предполагаю, что я не могу сделать этот класс primitive_type, поскольку в типичном классе архива нет элемента-члена или шаблона, который может обращаться с этим типом напрямую. Верный?
Я не забочусь о совместимости с кросс-платформенной или кросс-версией, просто быстро читает (и пишет) и вторгается на MyStruct
в порядке, но было бы неплохо увидеть, что это сделано в обоих направлениях, если это возможно.
Как оказалось, два вышеуказанных макроса должны быть в том порядке, в котором вы их разместили. Я их перевернул, и поэтому он не работал для меня. Полуколоны в конце не требуются, но не наносят никакого вреда. (Кстати, это все MinGW-32/gcc-4.4.) – JimB