26#ifndef GRIDCONTAINER_SERIALIZATION_GRIDCONTAINER_H
27#define GRIDCONTAINER_SERIALIZATION_GRIDCONTAINER_H
33#include <boost/serialization/split_free.hpp>
34#include <boost/serialization/vector.hpp>
39namespace serialization {
43template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
48 for (
auto& cell : grid) {
55template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
60 for (
auto& cell : grid) {
70template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
74 for (
auto& cell : grid) {
81template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
85 for (
auto& cell : grid) {
98template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
100 const unsigned int version) {
102 "Boost serialization of GridContainer with unsupported GridCellManager");
103 split_free(ar, grid, version);
111template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
119template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
140template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
152template <
class Archive,
typename GridCellManager,
typename... AxesTypes>
159 ar >> grid_cell_manager_args;
Provides information related with an axis of a GridContainer.
Representation of a multi-dimensional grid which contains axis information.
const std::tuple< GridAxis< AxesTypes >... > & getAxesTuple() const
Returns a tuple containing the information of all the grid axes.
GridCellManager & getCellManager()
Euclid::GridContainer::GridAxis< T > emptyGridAxis()
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)
Class used by the GridContainer to access the different CellManagers.
GridCellManager::data_type data_type
The type of the data kept by the GridCellManager.