29namespace boost::serialization {
32 template <
int pos>
struct tuple_serialize_impl {
33 template <
typename Archive,
typename T>
void operator()(Archive &ar, T &t) {
34 ar &std::get<std::tuple_size_v<T> - 1 - pos>(t);
35 tuple_serialize_impl<pos - 1>()(ar, t);
40 template <>
struct tuple_serialize_impl<0> {
41 template <
typename Archive,
typename T>
void operator()(Archive &ar, T &t) { ar &std::get<std::tuple_size_v<T> - 1>(t); }
54 template <
typename Archive,
typename... Ts>
void serialize(Archive &ar, std::tuple<Ts...> &t, [[maybe_unused]]
const unsigned int version) {
55 tuple_serialize_impl<
sizeof...(Ts) - 1>()(ar, t);
const_view_type operator()() const
Make a const view of *this.
void serialize(Archive &ar, std::tuple< Ts... > &t, const unsigned int version)
Boost.Serialization entry point for std::tuple.