Как сериализовать вектор броненосца
Как я могу сериализоватьarma::Col
? Ниже приведены MWE и вывод ошибок.
MWE:
#include <boost/mpi/environment.hpp>
#include <boost/mpi/communicator.hpp>
#include <iostream>
#include "armadillo"
namespace mpi = boost::mpi;
struct S
{
int i;
arma::Col<double>::fixed<3> cvector;
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive& ar, const unsigned int version)
{
ar& i;
ar& cvector;
}
};
int main()
{
mpi::environment env;
mpi::communicator world;
S s;
if (world.rank() == 0)
{
s.cvector[0] = 2;
s.cvector[1] = 2;
world.send(1, 0, s);
}
else
{
world.recv(0, 0, s);
std::cout << s.cvector[0] << std::endl;
std::cout << s.cvector[1] << std::endl;
}
return 0;
}
Вывод ошибки (пропуская «требуется от» материала):
error: ‘class arma::Col<double>::fixed<3ull>’ has no member named ‘se,rialize’; did you mean ‘set_size’? t.serialize(ar, file_version);
Редактировать: это Пост, похоже, связан с моим вопросом и, к сожалению, остается без ответа.