| 429 | struct TTupleSerializer { |
| 430 | template <class F, class Tuple, size_t... Indices> |
| 431 | static inline void ReverseUseless(F&& f, Tuple&& t, std::index_sequence<Indices...>) { |
| 432 | ApplyToMany( |
| 433 | std::forward<F>(f), |
| 434 | // We need to do this trick because we don't want to break backward compatibility. |
| 435 | // Tuples are being packed in reverse order. |
| 436 | std::get<std::tuple_size<T>::value - Indices - 1>(std::forward<Tuple>(t))...); |
| 437 | } |
| 438 | |
| 439 | static inline void Save(IOutputStream* stream, const T& t) { |
| 440 | ReverseUseless([&](const auto& v) { ::Save(stream, v); }, t, |
nothing calls this directly
no test coverage detected