27 #ifndef CEREAL_ACCESS_HPP_
28 #define CEREAL_ACCESS_HPP_
30 #include <type_traits>
107 template<
class Archive,
class T>
inline
108 static auto member_serialize(Archive & ar, T & t) -> decltype(t.serialize(ar))
111 template<
class Archive,
class T>
inline
112 static auto member_save(Archive & ar, T
const & t) -> decltype(t.save(ar))
116 template<
class Archive,
class T>
inline
117 static auto non_const_member_save(Archive & ar, T & t) -> decltype(t.save(ar))
120 template<
class Archive,
class T>
inline
121 static auto member_load(Archive & ar, T & t) -> decltype(t.load(ar))
125 static void load_and_allocate(...)
128 template<
class T,
class Archive>
inline
129 static auto load_and_allocate(Archive & ar) -> decltype(T::load_and_allocate(ar))
131 return T::load_and_allocate( ar );
142 non_member_serialize,
196 template <
class Archive,
class T, specialization S>
200 #endif // CEREAL_ACCESS_HPP_