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 |

Ответы на вопрос(3)

Ваш ответ на вопрос