19#ifndef GRIDCONTAINER_SERIALIZATION_GRIDCONTAINER_H
20#define GRIDCONTAINER_SERIALIZATION_GRIDCONTAINER_H
23#include <boost/serialization/array.hpp>
24#include <boost/serialization/collection_traits.hpp>
25#include <boost/serialization/nvp.hpp>
26#include <boost/serialization/serialization.hpp>
29namespace serialization {
31template <
class Archive,
typename T>
33 size_t count = value_proxy.
size();
34 ar << BOOST_SERIALIZATION_NVP(count);
36 ar << make_array<const T>(
static_cast<const T*
>(&value_proxy[0]), count);
40template <
class Archive,
typename T>
43 ar >> BOOST_SERIALIZATION_NVP(count);
44 assert(count == value_proxy.
size());
45 T* ptr = &value_proxy[0];
47 ar >> boost::serialization::make_nvp(
"item", *ptr++);
51template <
class Archive,
typename T>
53 split_free(ar, value_proxy, version);
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)