Я пытаюсь сериализовать матрицу Эйгена. Так что я могу сериализовать более сложный объект. Я использую 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;