Eigen и Boost :: сериализация
Я попытался написать универсальную функцию сериализации, которая берет любую плотную матрицу и сериализует ее: некоторые другие вопросы, которые помогают, но не до конца, здесь:Вопрос 1 Вопрос 2
Я попробовал следующее, которое должно работать:
namespace boost {
namespace serialization {
template<class Archive, typename Derived> void serialize(Archive & ar, Eigen::EigenBase<Derived> & g, const unsigned int version)
{
ar & boost::serialization::make_array(g.derived().data(), g.size());
}
}; // namespace serialization
}; // namespace boost
Когда я пытаюсь сериализоватьEigen::Matrix<double,4,4>
Eigen::Matrix<double,4,4> a;
boost::serialize(ar, a);
Компилятор может как-то не соответствовать шаблону выше? И приведены следующие ошибки:
/usr/local/include/boost/serialization/access.hpp|118|error: у класса Eigen :: Matrix нет члена с именем serialize |