24#ifndef SOM_SERIALIZATION_SOM_H
25#define SOM_SERIALIZATION_SOM_H
29#include <boost/serialization/split_free.hpp>
30#include <boost/serialization/string.hpp>
31#include <boost/serialization/vector.hpp>
35namespace serialization {
37template <
class Archive,
typename DistFunc>
39 for (
auto& cell : som) {
44template <
class Archive,
typename DistFunc>
46 for (
auto cell : som) {
51template <
class Archive,
typename DistFunc>
53 split_free(ar, som, version);
56template <
class Archive,
typename DistFunc>
58 std::string dist_func_type =
typeid(DistFunc).name();
67template <
class Archive,
typename DistFunc>
71 if (dist_func_type !=
typeid(DistFunc).name()) {
72 throw Elements::Exception() <<
"Incompatible DistFunc parameter. File contains SOM with " << dist_func_type
73 <<
" and is read as " <<
typeid(DistFunc).name();
const std::pair< std::size_t, std::size_t > & getSize() const
std::size_t getDimensions() const
void serialize(Archive &archive, std::array< CellType, ND > &array, const unsigned int)
void load(Archive &ar, Euclid::GridContainer::VectorValueProxy< T > &value_proxy, const unsigned int)
void save(Archive &ar, const Euclid::GridContainer::VectorValueProxy< T > &value_proxy, const unsigned int)
void save_construct_data(Archive &ar, const Euclid::GridContainer::GridAxis< T > *t, const unsigned int)
void load_construct_data(Archive &ar, Euclid::GridContainer::GridAxis< T > *t, const unsigned int)