Skip to content
Snippets Groups Projects
ConnectionFunctionConstantSerialization.h 1.98 KiB
Newer Older
  • Learn to ignore specific revisions
  • #ifndef LIB4NEURO_CONNECTIONFUNCTIONCONSTANTSERIALIZATION_H
    #define LIB4NEURO_CONNECTIONFUNCTIONCONSTANTSERIALIZATION_H
    
    
    #include <boost/archive/text_oarchive.hpp>
    #include <boost/archive/text_iarchive.hpp>
    #include <boost/serialization/vector.hpp>
    #include <boost/serialization/export.hpp>
    
    #include "ConnectionFunctionConstant.h"
    #include "ConnectionFunctionGeneralSerialization.h"
    
    
    BOOST_CLASS_EXPORT_KEY(ConnectionFunctionConstant);
    
    
    Martin Beseda's avatar
    Martin Beseda committed
    struct ConnectionFunctionConstant::access {
        template<class Archive>
        static void serialize(Archive& ar,
                              ConnectionFunctionConstant& c,
                              const unsigned int version) {
    
            ar & boost::serialization::base_object<ConnectionFunctionGeneral>(c);
            ar & c.weight;
        }
    };
    
    // TODO what's the following template doing exactly?
    
    Martin Beseda's avatar
    Martin Beseda committed
    template void
    ConnectionFunctionConstant::access::serialize<boost::archive::text_oarchive>(boost::archive::text_oarchive&,
                                                                                 ConnectionFunctionConstant&,
                                                                                 const unsigned int);
    
    
    namespace boost {
        namespace serialization {
    
            /**
             * Serialization function
             * @tparam Archive Boost library template
             * @param ar Boost parameter - filled automatically during serialization!
             * @param n ConnectionFunctionConstant instance
             * @param version Boost parameter - filled automatically during serialization!
             */
            template<class Archive>
    
    Martin Beseda's avatar
    Martin Beseda committed
            void serialize(Archive& ar,
                           ConnectionFunctionConstant& c,
                           const unsigned int version) {
                ConnectionFunctionConstant::access::serialize(ar,
                                                              c,
                                                              version);
    
    #endif //LIB4NEURO_CONNECTIONFUNCTIONCONSTANTSERIALIZATION_H