27 #ifndef CEREAL_TYPES_COMMON_HPP_
28 #define CEREAL_TYPES_COMMON_HPP_
30 #include <type_traits>
35 template<
class Archive,
class T>
inline
36 typename std::enable_if<std::is_enum<T>::value,
void>::type
37 serialize(Archive & ar, T & t)
39 ar(
reinterpret_cast<typename std::underlying_type<T>::type &
>(t) );
43 template <
class Archive,
class T>
inline
44 void serialize( Archive &, T * & )
46 static_assert(!
sizeof(T),
"Cereal does not support serializing raw pointers - please use a smart pointer");
52 #endif // CEREAL_TYPES_COMMON_HPP_