29 #ifndef __pinocchio_serialization_eigen_matrix_hpp__ 30 #define __pinocchio_serialization_eigen_matrix_hpp__ 32 #include <Eigen/Dense> 33 #include <boost/serialization/split_free.hpp> 34 #include <boost/serialization/vector.hpp> 38 namespace serialization
41 template <
class Archive,
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
42 void save(Archive & ar,
const Eigen::Matrix<_Scalar,_Rows,_Cols,_Options,_MaxRows,_MaxCols> & m,
const unsigned int )
44 Eigen::DenseIndex rows(m.rows()), cols(m.cols());
45 ar & BOOST_SERIALIZATION_NVP(rows);
46 ar & BOOST_SERIALIZATION_NVP(cols);
47 ar & make_nvp(
"data",make_array(m.data(), (size_t)m.size()));
50 template <
class Archive,
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
51 void load(Archive & ar, Eigen::Matrix<_Scalar,_Rows,_Cols,_Options,_MaxRows,_MaxCols> & m,
const unsigned int )
53 Eigen::DenseIndex rows,cols;
54 ar >> BOOST_SERIALIZATION_NVP(rows);
55 ar >> BOOST_SERIALIZATION_NVP(cols);
58 ar >> make_nvp(
"data",make_array(m.data(), (size_t)m.size()));
61 template <
class Archive,
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
62 void serialize(Archive & ar, Eigen::Matrix<_Scalar,_Rows,_Cols,_Options,_MaxRows,_MaxCols> & m,
const unsigned int version)
64 split_free(ar,m,version);
70 #endif // ifndef __pinocchio_serialization_eigen_matrix_hpp__