我试图序列化一个没有默认构造函数的类,根据boost文档很清楚,需要覆盖方法。
http://www.boost.org/doc/libs/1_45_0/libs/serialization/doc/serialization.html#constructors
我希望序列化的类是iteself一个模板类。
////Overrides for non-default constructor used in Node<NU
namespace boost
{
namespace serialization
{
template<class Archive>
inline void load_construct_data(Archive & ar, Feature<96> * t, const unsigned int file_version)
{
// retrieve data from archive required to construct new instance
int id;
ar >> id;
// invoke inplace constructor to initialize instance of Feature
::new(t)Feature<96>(id);
}
template<class Archive>
inline void save_construct_data(Archive & ar, const Feature <96> * t, const unsigned int file_version)
{
// save data required to construct instance
ar << t->id();
}
}
}
我如何使这些方法通用?为了使用特征&lt; T&gt;?
我在文档中或StackOverflow上看不到这个。想法?