22 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 27 #include <boost/serialization/array.hpp> 28 #include <boost/serialization/nvp.hpp> 29 #include <boost/serialization/split_free.hpp> 32 namespace serialization {
50 template <
class Archive,
typename Scalar_,
int Rows_,
int Cols_,
int Ops_,
51 int MaxRows_,
int MaxCols_>
54 const Eigen::Matrix<Scalar_, Rows_, Cols_, Ops_, MaxRows_, MaxCols_>& m,
55 const unsigned int ) {
56 const size_t rows = m.rows(), cols = m.cols();
57 ar << BOOST_SERIALIZATION_NVP(rows);
58 ar << BOOST_SERIALIZATION_NVP(cols);
59 ar << make_nvp(
"data", make_array(m.data(), m.size()));
62 template <
class Archive,
typename Scalar_,
int Rows_,
int Cols_,
int Ops_,
63 int MaxRows_,
int MaxCols_>
64 void load(Archive& ar,
65 Eigen::Matrix<Scalar_, Rows_, Cols_, Ops_, MaxRows_, MaxCols_>& m,
66 const unsigned int ) {
68 ar >> BOOST_SERIALIZATION_NVP(rows);
69 ar >> BOOST_SERIALIZATION_NVP(cols);
71 ar >> make_nvp(
"data", make_array(m.data(), m.size()));
75 template <
class Archive,
typename Scalar_,
int Rows_,
int Cols_,
int Ops_,
76 int MaxRows_,
int MaxCols_>
79 Eigen::Matrix<Scalar_, Rows_, Cols_, Ops_, MaxRows_, MaxCols_>& m,
80 const unsigned int version) {
81 split_free(ar, m, version);
85 template <
class Archive>
86 void serialize(Archive& ar, gtsam::Matrix& m,
const unsigned int version) {
87 split_free(ar, m, version);
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
GTSAM_EXPORT void save(const Matrix &A, const std::string &s, const std::string &filename)
typedef and functions to augment Eigen's MatrixXd