4#include <cereal/archives/binary.hpp>
5#include <cereal/cereal.hpp>
6#include <cereal/types/common.hpp>
7#include <cereal/types/vector.hpp>
12template <
class Archive,
class _Scalar,
int _Rows,
int _Cols,
int _Options,
13 int _MaxRows,
int _MaxCols>
14void save(Archive &ar, Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows,
16 int32_t rows = m.rows();
17 int32_t cols = m.cols();
20 ar(binary_data(m.data(), rows * cols *
sizeof(_Scalar)));
23template <
class Archive,
class _Scalar,
int _Rows,
int _Cols,
int _Options,
24 int _MaxRows,
int _MaxCols>
27 Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> &m) {
35 ar(binary_data(m.data(),
36 static_cast<std::size_t
>(rows * cols *
sizeof(_Scalar))));
39template <
class Archive,
class T1,
class T2>
40void save(Archive &ar,
const std::tuple<T1, T2> &t) {
41 ar(std::get<0>(t), std::get<1>(t));
44template <
class Archive,
class T1,
class T2>
45void load(Archive &ar, std::tuple<T1, T2> &t) {
46 ar(std::get<0>(t), std::get<1>(t));