Skip to content
Snippets Groups Projects
NeuralNetworkSumSerialization.h 1.37 KiB
Newer Older
  • Learn to ignore specific revisions
  • //
    // Created by martin on 9/17/18.
    //
    
    #ifndef LIB4NEURO_NEURALNETWORKSUMSERIALIZATION_H
    #define LIB4NEURO_NEURALNETWORKSUMSERIALIZATION_H
    
    
    #include <boost/serialization/base_object.hpp>
    #include <boost/serialization/export.hpp>
    #include <boost/archive/text_oarchive.hpp>
    #include <boost/archive/text_iarchive.hpp>
    
    #include "NeuralNetworkSum.h"
    #include "NeuralNetworkSerialization.h"
    
    BOOST_CLASS_EXPORT_KEY(NeuralNetworkSum);
    
    struct NeuralNetworkSum :: access {
        template <class Archive>
        static void serialize(Archive &ar, NeuralNetworkSum& n, const unsigned int version) {
            ar & boost::serialization::base_object<NeuralNetwork>(n);
            ar & n.summand;
            ar & n.summand_coefficient;
        }
    };
    
    namespace boost {
        namespace serialization {
    
            /**
             * Serialization function
             * @tparam Archive Boost library template
             * @param ar Boost parameter - filled automatically during serialization!
             * @param n NeuralNetworkSum instance
             * @param version Boost parameter - filled automatically during serialization!
             */
            template<class Archive>
            void serialize(Archive & ar, NeuralNetworkSum& n, const unsigned int version)
            {
                NeuralNetworkSum::access::serialize(ar, n, version);
            }
    
        } // namespace serialization
    } // namespace boost
    
    
    #endif //LIB4NEURO_NEURALNETWORKSUMSERIALIZATION_H