27 #ifndef CEREAL_TYPES_FORWARD_LIST_HPP_
28 #define CEREAL_TYPES_FORWARD_LIST_HPP_
30 #include <cereal/cereal.hpp>
31 #include <forward_list>
36 template <
class Archive,
class T,
class A>
inline
37 void save( Archive & ar, std::forward_list<T, A>
const & forward_list )
42 const size_t size = std::distance( forward_list.begin(), forward_list.end() );
44 ar( make_size_tag( size ) );
47 for(
const auto & i : forward_list )
52 template <
class Archive,
class T,
class A>
53 void load( Archive & ar, std::forward_list<T, A> & forward_list )
56 ar( make_size_tag( size ) );
58 forward_list.resize( size );
60 for(
auto & i : forward_list )
65 #endif // CEREAL_TYPES_FORWARD_LIST_HPP_