我正在尝试序列化本征矩阵。这样我就可以序列化一个更复杂的对象。我使用 Matrix 作为基类,并在派生类中包含序列化。我对如何处理 Matrix.data() 感到困惑,它返回一个 c 样式的数组(如果我是正确的)。这是我的尝试:
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
template < class TEigenMatrix>
class VariableType : public TEigenMatrix {
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & this.data();
}
public:
};
我想将它用作“包装器”:
VariableType<Matrix<double,3,1>> serializableVector;
代替
Matrix<double,3,1> vector;