Alexandria
2.19
Please provide a description of the project.
|
Go to the documentation of this file.
25 #ifndef GRIDCONTAINER_SERIALIZATION_TUPLE_H
26 #define GRIDCONTAINER_SERIALIZATION_TUPLE_H
28 #include <boost/serialization/split_free.hpp>
31 #include <type_traits>
34 namespace serialization {
44 template <
typename Archive,
typename... Args>
49 ar << std::get<N - 1>(t);
56 template <
typename Archive,
typename... Args>
74 template <
typename Archive,
typename... Args>
88 template <
typename Archive,
typename... Args>
93 ar >> std::get<N - 1>(t);
101 template <
typename Archive,
typename... Args>
111 std::get<N - 1>(t) = *deleter;
121 template <
typename Archive,
typename... Args>
127 template <
typename Archive,
typename... Args>
129 Save<
sizeof...(Args)>::
save(ar, t, version);
134 template <
typename Archive,
typename... Args>
136 Load<
sizeof...(Args)>::
load(ar, t, version);
141 template <
typename Archive,
typename... Args>
143 split_free(ar, t, version);
static void load(Archive &ar, std::tuple< Args... > &t, const unsigned int version, typename std::enable_if< std::is_default_constructible< typename std::tuple_element< N - 1, std::tuple< Args... >>::type >::value >::type *=0)
static void load(Archive &ar, std::tuple< Args... > &t, const unsigned int version, typename std::enable_if< !std::is_default_constructible< typename std::tuple_element< N - 1, std::tuple< Args... >>::type >::value >::type *=0)
static void save(Archive &ar, const std::tuple< Args... > &t, const unsigned int version, typename std::enable_if< !std::is_default_constructible< typename std::tuple_element< N - 1, std::tuple< Args... >>::type >::value >::type *=0)
static void load(Archive &, std::tuple< Args... > &, const unsigned int)
This method does nothing. It exists to break the recursion.
void load(Archive &ar, Euclid::GridContainer::GridContainer< GridCellManager, AxesTypes... > &grid, const unsigned int, typename std::enable_if< std::is_default_constructible< typename Euclid::GridContainer::GridCellManagerTraits< GridCellManager >::data_type >::value >::type *=0)
static void save(Archive &, const std::tuple< Args... > &, const unsigned int)
This method does nothing. It exists to break the recursion.
void save(Archive &ar, const Euclid::GridContainer::GridContainer< GridCellManager, AxesTypes... > &grid, const unsigned int, typename std::enable_if< std::is_default_constructible< typename Euclid::GridContainer::GridCellManagerTraits< GridCellManager >::data_type >::value >::type *=0)
static void save(Archive &ar, const std::tuple< Args... > &t, const unsigned int version, typename std::enable_if< std::is_default_constructible< typename std::tuple_element< N - 1, std::tuple< Args... >>::type >::value >::type *=0)
void serialize(Archive &archive, std::array< CellType, ND > &array, const unsigned int)