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' |