Newer
Older
//
// Created by martin on 9/18/18.
//
#ifndef LIB4NEURO_DATASETSERIALIZATION_H
#define LIB4NEURO_DATASETSERIALIZATION_H
Martin Beseda
committed
#include <boost/serialization/base_object.hpp>
#include <boost/range/size_type.hpp>
#include <boost/serialization/vector.hpp>
#include <boost/serialization/utility.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
Martin Beseda
committed
#include <boost/serialization/export.hpp>
Martin Beseda
committed
#include "DataSet.h"
Martin Beseda
committed
BOOST_CLASS_EXPORT_KEY(lib4neuro::DataSet);
Martin Beseda
committed
namespace lib4neuro {
struct DataSet::access {
template<class Archive>
static void serialize(Archive &ar, DataSet &ds, const unsigned int version) {
ar & ds.n_elements;
ar & ds.input_dim;
ar & ds.output_dim;
ar & ds.data;
Martin Beseda
committed
ar & ds.max_min_inp_val;
ar & ds.normalization_strategy;
Martin Beseda
committed
}
};
}
Martin Beseda
committed
namespace boost {
namespace serialization {
/**
* Serialization function
* @tparam Archive Boost library template
* @param ar Boost parameter - filled automatically during serialization!
* @param ds DataSet instance
* @param version Boost parameter - filled automatically during serialization!
*/
template<class Archive>
Martin Beseda
committed
void serialize(Archive & ar, lib4neuro::DataSet & ds, const unsigned int version)
Martin Beseda
committed
{
Martin Beseda
committed
lib4neuro::DataSet::access::serialize(ar, ds, version);
Martin Beseda
committed
}
} // namespace serialization
} // namespace boost
#endif //LIB4NEURO_DATASETSERIALIZATION_H