C++ 模板类的Boost Load_Construct_数据
我试图序列化一个没有默认构造函数的类,根据boost文档,很明显需要重写方法 我希望序列化的类本身就是一个模板类C++ 模板类的Boost Load_Construct_数据,c++,templates,serialization,boost,boost-serialization,C++,Templates,Serialization,Boost,Boost Serialization,我试图序列化一个没有默认构造函数的类,根据boost文档,很明显需要重写方法 我希望序列化的类本身就是一个模板类 ////Overrides for non-default constructor used in Node<NU namespace boost { namespace serialization { template<class Archive> inline void load_construct_data(A
////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();
}
}
}
///覆盖节点>id中使用的非默认构造函数;
//调用就地构造函数来初始化功能的实例
::新(t)功能(id);
}
模板
内联无效保存构造数据(存档&ar,常量功能*t,常量无符号整数文件版本)
{
//保存构造实例所需的数据
ar-id();
}
}
}
如何使这些方法通用?要使用功能,请执行以下操作:
我在文档或StackOverflow上看不到这一点。想法