30 #ifndef CEREAL_TYPES_TUPLE_HPP_
31 #define CEREAL_TYPES_TUPLE_HPP_
38 namespace tuple_detail
47 static const int size = 14;
48 typedef const char (&arr_type)[
sizeof...(Cs) + size];
49 static const char str[
sizeof...(Cs) + size];
56 {
't',
'u',
'p',
'l',
'e',
'_',
'e',
'l',
'e',
'm',
'e',
'n',
't', Cs...,
'\0'};
63 template <
size_t Q,
size_t R,
char ... C>
66 using type =
typename to_string_impl<Q/10, Q%10,
static_cast<char>(R+std::size_t{
'0'}), C...>::type;
71 template <
size_t R,
char ... C>
87 static const typename type::arr_type c_str(){
return type::str; }
92 template <
size_t Height>
95 template <
class Archive,
class ... Types>
inline
96 static void apply( Archive & ar, std::tuple<Types...> & tuple )
98 serialize<Height - 1>::template apply( ar, tuple );
100 std::get<Height - 1>( tuple )) );
109 template <
class Archive,
class ... Types>
inline
110 static void apply( Archive &, std::tuple<Types...> & )
116 template <
class Archive,
class ... Types>
inline
123 #endif // CEREAL_TYPES_TUPLE_HPP_