6#ifndef TTG_SERIALIZATION_STD_TUPLE_H
7#define TTG_SERIALIZATION_STD_TUPLE_H
11#ifdef TTG_SERIALIZATION_SUPPORTS_MADNESS
15#ifdef TTG_SERIALIZATION_SUPPORTS_BOOST
18 namespace serialization {
22 template <
typename Archive,
typename... Ts, std::size_t... Is>
23 Archive& tuple_serialize_impl(Archive& ar, std::tuple<Ts...>& t, std::index_sequence<Is...>) {
24 ((ar & std::get<Is>(t)), ...);
30 template <
typename Archive,
typename... Ts>
31 Archive& serialize(Archive& ar, std::tuple<Ts...>& t,
const unsigned int version) {
32 detail::tuple_serialize_impl(ar, t, std::make_index_sequence<
sizeof...(Ts)>{});
40 template <
typename Archive,
typename... Ts>
41 inline static constexpr bool is_stlcontainer_boost_serializable_v<Archive, std::tuple<Ts...>> =
42 (is_boost_serializable_v<Archive, Ts> && ...);
43 template <
typename Archive,
typename... Ts>
44 inline static constexpr bool is_stlcontainer_boost_serializable_v<Archive,
const std::tuple<Ts...>> =
45 (is_boost_serializable_v<Archive, const Ts> && ...);