как использовать Boost: сериализация для сохранения Eigen :: Matrix
Здравствуйте, у меня есть код, который реализует libeigen2 для вычисления собственных векторов. Теперь я хочу использовать boost :: serialization для сохранения информации для последующего получения. Из примераруководство Я придумал следующий код!
class RandomNode {
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & is_leaf_;
ar & depth_;
ar & num_classes_;
ar & num_features_;
// Split node members
ar & random_feature_indices_;
ar & random_feature_weights_;
ar & threshold_;
ar & leftChild_;
ar & rightChild_;
}
bool is_leaf_;
int depth_;
int num_classes_;
int num_features_;
// Split node members
VectorXi random_feature_indices_;
VectorXd random_feature_weights_;
double threshold_;
RandomNode* leftChild_;
RandomNode* rightChild_;
// Methods and so on
}
Теперь, когда я пытаюсь запустить этот код, я получаю следующую ошибку
/usr/include/boost/serialization/access.hpp:118:9: error: ‘class Eigen::Matrix<double, 10000, 1>’ has no member named ‘serialize’
Как я могу сериализовать класс Eigen :: Matrix? Является ли это возможным ? Заранее спасибо.