1 #ifndef BOOST_SERIALIZATION_UNORDERED_MAP_HPP 2 #define BOOST_SERIALIZATION_UNORDERED_MAP_HPP 5 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 21 #include <unordered_map> 23 #include <boost/config.hpp> 25 #include <boost/serialization/utility.hpp> 28 #include <boost/serialization/split_free.hpp> 31 namespace serialization {
36 template<
class Archive,
class Container>
44 typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
45 detail::stack_construct<Archive, type> t(ar, v);
47 ar >> boost::serialization::make_nvp(
"item", t.reference());
48 std::pair<BOOST_DEDUCED_TYPENAME Container::const_iterator, bool> result =
49 s.insert(t.reference());
54 ar.reset_object_address(
55 & (result.first->second),
56 & t.reference().second
63 template<
class Archive,
class Container>
71 typedef BOOST_DEDUCED_TYPENAME Container::value_type type;
72 detail::stack_construct<Archive, type> t(ar, v);
74 ar >> boost::serialization::make_nvp(
"item", t.reference());
75 BOOST_DEDUCED_TYPENAME Container::const_iterator result
76 = s.insert(t.reference());
80 ar.reset_object_address(
99 const std::unordered_map<
100 Key, HashFcn, EqualKey, Allocator
108 Key, HashFcn, EqualKey, Allocator
124 Key, HashFcn, EqualKey, Allocator
132 Key, HashFcn, EqualKey, Allocator
138 Key, HashFcn, EqualKey, Allocator
157 Key, HashFcn, EqualKey, Allocator
159 const unsigned int file_version
161 boost::serialization::split_free(ar, t, file_version);
175 const std::unordered_multimap<
176 Key, HashFcn, EqualKey, Allocator
183 std::unordered_multimap<
184 Key, HashFcn, EqualKey, Allocator
199 std::unordered_multimap<
200 Key, HashFcn, EqualKey, Allocator
207 std::unordered_multimap<
208 Key, HashFcn, EqualKey, Allocator
213 std::unordered_multimap<
214 Key, HashFcn, EqualKey, Allocator
232 std::unordered_multimap<
233 Key, HashFcn, EqualKey, Allocator
235 const unsigned int file_version
237 boost::serialization::split_free(ar, t, file_version);
243 #endif // BOOST_SERIALIZATION_UNORDERED_MAP_HPP
void save(Archive &ar, const std::unordered_map< Key, HashFcn, EqualKey, Allocator > &t, const unsigned int)
void load(Archive &ar, std::unordered_map< Key, HashFcn, EqualKey, Allocator > &t, const unsigned int)
void serialize(Archive &ar, std::unordered_map< Key, HashFcn, EqualKey, Allocator > &t, const unsigned int file_version)
void save_unordered_collection(Archive &ar, const Container &s)
void load_unordered_collection(Archive &ar, Container &s)