Skip to content
Snippets Groups Projects
NeuronSerialization.h 1.22 KiB
Newer Older
//
// Created by martin on 9/17/18.
//

#ifndef LIB4NEURO_NEURON_SERIALIZATION_H
#define LIB4NEURO_NEURON_SERIALIZATION_H

#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/serialization/assume_abstract.hpp>
#include <boost/serialization/export.hpp>
BOOST_SERIALIZATION_ASSUME_ABSTRACT(lib4neuro::Neuron);
BOOST_CLASS_EXPORT_KEY(lib4neuro::Neuron);
struct lib4neuro::Neuron::access {
    template<class Archive>
    static void serialize(Archive &ar, lib4neuro::Neuron &n, const unsigned int version) {}
namespace boost {
    namespace serialization {

        /**
         * Serialization function
         * @tparam Archive Boost library template
         * @param ar Boost parameter - filled automatically during serialization!
         * @param n Neuron instance
         * @param version Boost parameter - filled automatically during serialization!
         */
        template<class Archive>
        void serialize(Archive & ar, lib4neuro::Neuron& n, const unsigned int version)
            lib4neuro::Neuron::access::serialize(ar, n, version);
        }

    } // namespace serialization
} // namespace boost

#endif //LIB4NEURO_NEURON_SERIALIZATION_H