Eigen i boost :: serialize

Próbowałem napisać ogólną funkcję serializacji, która pobiera dowolną gęstą matrycę i serializuje: Niektóre inne pytania, które pomagają, ale nie do końca, są tutaj:Pytanie 1 Pytanie 2

Próbowałem, co powinno działać:

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

Kiedy próbuję serializowaćEigen::Matrix<double,4,4>

Eigen::Matrix<double,4,4> a; 
boost::serialize(ar, a);

Kompilator może w jakiś sposób nie pasować do powyższego szablonu? I podane są następujące błędy:

/usr/local/include/boost/serialization/access.hpp|118|error: 'class Eigen :: Matrix' nie ma elementu o nazwie 'serialize' |

questionAnswers(3)

yourAnswerToTheQuestion