54 const Eigen::Matrix<S, Rows, Cols, Options, MaxRows, MaxCols>& m,
55 const unsigned int ) {
56 Eigen::DenseIndex rows(m.rows()), cols(m.cols());
57 if (Rows == Eigen::Dynamic) ar& BOOST_SERIALIZATION_NVP(rows);
58 if (Cols == Eigen::Dynamic) ar& BOOST_SERIALIZATION_NVP(cols);
59 ar& make_nvp(
"data", make_array(m.data(), (
size_t)m.size()));
65 Eigen::Matrix<S, Rows, Cols, Options, MaxRows, MaxCols>& m,
66 const unsigned int ) {
67 Eigen::DenseIndex rows = Rows, cols = Cols;
68 if (Rows == Eigen::Dynamic) ar >> BOOST_SERIALIZATION_NVP(rows);
69 if (Cols == Eigen::Dynamic) ar >> BOOST_SERIALIZATION_NVP(cols);
71 ar >> make_nvp(
"data", make_array(m.data(), (
size_t)m.size()));
77 Eigen::Matrix<S, Rows, Cols, Options, MaxRows, MaxCols>& m,
78 const unsigned int version) {
79 split_free(ar, m, version);
85 const Eigen::Map<PlainObjectBase, MapOptions, StrideType>& m,
86 const unsigned int ) {
87 Eigen::DenseIndex rows(m.rows()), cols(m.cols());
88 if (PlainObjectBase::RowsAtCompileTime == Eigen::Dynamic)
89 ar& BOOST_SERIALIZATION_NVP(rows);
90 if (PlainObjectBase::ColsAtCompileTime == Eigen::Dynamic)
91 ar& BOOST_SERIALIZATION_NVP(cols);
92 ar& make_nvp(
"data", make_array(m.data(), (
size_t)m.size()));
97void load(Archive& ar, Eigen::Map<PlainObjectBase, MapOptions, StrideType>& m,
98 const unsigned int ) {
99 Eigen::DenseIndex rows = PlainObjectBase::RowsAtCompileTime,
100 cols = PlainObjectBase::ColsAtCompileTime;
101 if (PlainObjectBase::RowsAtCompileTime == Eigen::Dynamic)
102 ar >> BOOST_SERIALIZATION_NVP(rows);
103 if (PlainObjectBase::ColsAtCompileTime == Eigen::Dynamic)
104 ar >> BOOST_SERIALIZATION_NVP(cols);
105 m.resize(rows, cols);
106 ar >> make_nvp(
"data", make_array(m.data(), (
size_t)m.size()));