Skip to content
Snippets Groups Projects
Commit 944cce8f authored by Martin Beseda's avatar Martin Beseda
Browse files

FIX: Added serialization method to ConnectionFunctionConstant class.

parent db1dcd25
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,12 @@
* @date 15.3.19 -
*/
#include <boost/serialization/export.hpp>
#include "ConnectionFunctionConstant.h"
#include "ConnectionFunctionConstantSerialization.h"
BOOST_CLASS_EXPORT_IMPLEMENT(ConnectionFunctionConstant);
ConnectionFunctionConstant::ConnectionFunctionConstant(double w) {
this->weight = w;
......
......@@ -14,9 +14,15 @@
class ConnectionFunctionConstant:public ConnectionFunctionGeneral {
private:
double weight;
public:
/**
* Struct used to access private properties from
* the serialization function
*/
struct access;
LIB4NEURO_API ConnectionFunctionConstant(double w);
LIB4NEURO_API ConnectionFunctionConstant(double w = 1);
LIB4NEURO_API ~ConnectionFunctionConstant();
......
//
// Created by martin on 19.3.19.
//
#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);
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?
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>
void serialize(Archive & ar, ConnectionFunctionConstant& c, const unsigned int version)
{
ConnectionFunctionConstant::access::serialize(ar, c, version);
}
} // namespace serialization
} // namespace boost
#endif //LIB4NEURO_CONNECTIONFUNCTIONCONSTANTSERIALIZATION_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment