25 #ifndef __parameteric_curves_serialization_eigen_matrix_hpp__
26 #define __parameteric_curves_serialization_eigen_matrix_hpp__
28 #include <Eigen/Dense>
29 #include <boost/serialization/split_free.hpp>
30 #include <boost/serialization/vector.hpp>
36 template <
class Archive,
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
37 int _MaxRows,
int _MaxCols>
40 const Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& m,
41 const unsigned int ) {
42 Eigen::DenseIndex rows(m.rows()), cols(m.cols());
43 ar& BOOST_SERIALIZATION_NVP(rows);
44 ar& BOOST_SERIALIZATION_NVP(cols);
45 ar& make_nvp(
"data", make_array(m.data(), (
size_t)m.size()));
48 template <
class Archive,
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
49 int _MaxRows,
int _MaxCols>
51 Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& m,
52 const unsigned int ) {
53 Eigen::DenseIndex rows, cols;
54 ar >> BOOST_SERIALIZATION_NVP(rows);
55 ar >> BOOST_SERIALIZATION_NVP(cols);
57 ar >> make_nvp(
"data", make_array(m.data(), (
size_t)m.size()));
60 template <
class Archive,
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
61 int _MaxRows,
int _MaxCols>
64 Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& m,
65 const unsigned int version) {
66 split_free(ar, m, version);
void load(Archive &ar, Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &m, const unsigned int)
Definition: eigen-matrix.hpp:50
void save(Archive &ar, const Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &m, const unsigned int)
Definition: eigen-matrix.hpp:38
void serialize(Archive &ar, Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &m, const unsigned int version)
Definition: eigen-matrix.hpp:62
Definition: eigen-matrix.hpp:32
Definition: archive.hpp:14