30 #ifndef CEREAL_TYPES_UNORDERED_SET_HPP_
31 #define CEREAL_TYPES_UNORDERED_SET_HPP_
34 #include <unordered_set>
38 namespace unordered_set_detail
41 template <
class Archive,
class SetT>
inline
42 void save( Archive & ar, SetT
const & set )
44 ar( make_size_tag(
static_cast<size_type>(set.size()) ) );
46 for(
const auto & i : set )
51 template <
class Archive,
class SetT>
inline
52 void load( Archive & ar, SetT & set )
55 ar( make_size_tag( size ) );
58 set.reserve(
static_cast<std::size_t
>( size ) );
62 typename SetT::key_type key;
65 set.emplace( std::move( key ) );
71 template <
class Archive,
class K,
class H,
class KE,
class A>
inline
78 template <
class Archive,
class K,
class H,
class KE,
class A>
inline
85 template <
class Archive,
class K,
class H,
class KE,
class A>
inline
92 template <
class Archive,
class K,
class H,
class KE,
class A>
inline
Main cereal functionality.
void save(Archive &ar, SetT const &set)
Definition: unordered_set.hpp:42
void load(Archive &ar, SetT &set)
Definition: unordered_set.hpp:52
in certain simple scenarios. They should probably not be used if maximizing performance is the main o...
Definition: access.hpp:42
std::enable_if< std::is_arithmetic< T >::value, void >::type CEREAL_LOAD_FUNCTION_NAME(BinaryInputArchive &ar, T &t)
Loading for POD types from binary.
Definition: binary.hpp:126
std::enable_if< std::is_arithmetic< T >::value, void >::type CEREAL_SAVE_FUNCTION_NAME(BinaryOutputArchive &ar, T const &t)
Saving for POD types to binary.
Definition: binary.hpp:118
CEREAL_SIZE_TYPE size_type
The size type used by cereal.
Definition: helpers.hpp:61