30 #ifndef CEREAL_TYPES_TUPLE_HPP_
31 #define CEREAL_TYPES_TUPLE_HPP_
38 namespace tuple_detail
47 static const int size = 14;
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>
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 )
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
Main cereal functionality.
#define CEREAL_NVP_(name, value)
Convenience for creating a templated NVP.
Definition: helpers.hpp:201
in certain simple scenarios. They should probably not be used if maximizing performance is the main o...
Definition: access.hpp:42
CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, NameValuePair< T > &t)
Serializing NVP types to binary.
Definition: binary.hpp:134
Creates a c string from a sequence of characters.
Definition: tuple.hpp:46
const char(& arr_type)[sizeof...(Cs)+size]
Definition: tuple.hpp:48
static const char str[sizeof...(Cs)+size]
Definition: tuple.hpp:49
static const int size
Definition: tuple.hpp:47
static void apply(Archive &, std::tuple< Types... > &)
Definition: tuple.hpp:110
static void apply(Archive &ar, std::tuple< Types... > &tuple)
Definition: tuple.hpp:96
Converts a number into a sequence of characters.
Definition: tuple.hpp:65
typename to_string_impl< Q/10, Q%10, static_cast< char >(R+std::size_t{ '0'}), C... >::type type
Definition: tuple.hpp:66
Generates a c string for a given index of a tuple.
Definition: tuple.hpp:85
typename to_string_impl< T/10, T%10 >::type type
Definition: tuple.hpp:86
static const type::arr_type c_str()
Definition: tuple.hpp:87