10 #ifndef PAAL_UNORDERED_MAP_SERIALIZATION_HPP
11 #define PAAL_UNORDERED_MAP_SERIALIZATION_HPP
14 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
29 #include <boost/unordered_map.hpp>
30 #include <boost/serialization/unordered_map.hpp>
32 #include <boost/config.hpp>
34 #include <boost/serialization/utility.hpp>
35 #include <boost/serialization/collections_save_imp.hpp>
36 #include <boost/serialization/collections_load_imp.hpp>
37 #include <boost/serialization/split_free.hpp>
40 namespace serialization {
43 template<
class Archive,
class Type,
class Key,
class Hash,
class Compare,
class Allocator >
46 const boost::unordered_map<Key, Type, Hash, Compare, Allocator> &t,
49 boost::serialization::stl::save_collection<
51 boost::unordered_map<Key, Type, Hash, Compare, Allocator>
56 template<
class Archive,
class Type,
class Key,
class Hash,
class Compare,
class Allocator >
59 boost::unordered_map<Key, Type, Hash, Compare, Allocator> &t,
62 boost::serialization::stl::load_collection<
64 boost::unordered_map<Key, Type, Hash, Compare, Allocator>,
65 boost::serialization::stl::archive_input_map<
66 Archive, boost::unordered_map<Key, Type, Hash, Compare, Allocator> >,
67 boost::serialization::stl::no_reserve_imp<boost::unordered_map<
68 Key, Type, Hash, Compare, Allocator
76 template<
class Archive,
class Type,
class Key,
class Hash,
class Compare,
class Allocator >
77 inline void serialize(
79 boost::unordered_map<Key, Type, Hash, Compare, Allocator> &t,
80 const unsigned int file_version
82 boost::serialization::split_free(ar, t, file_version);
86 template<
class Archive,
class Type,
class Key,
class Hash,
class Compare,
class Allocator >
89 const boost::unordered_multimap<Key, Type, Hash, Compare, Allocator> &t,
92 boost::serialization::stl::save_collection<
94 boost::unordered_multimap<Key, Type, Hash, Compare, Allocator>
99 template<
class Archive,
class Type,
class Key,
class Hash,
class Compare,
class Allocator >
102 boost::unordered_multimap<Key, Type, Hash, Compare, Allocator> &t,
105 boost::serialization::stl::load_collection<
107 boost::unordered_multimap<Key, Type, Hash, Compare, Allocator>,
108 boost::serialization::stl::archive_input_unordered_multimap<
109 Archive, boost::unordered_multimap<Key, Type, Hash, Compare, Allocator>
111 boost::serialization::stl::no_reserve_imp<
112 boost::unordered_multimap<Key, Type, Hash, Compare, Allocator>
119 template<
class Archive,
class Type,
class Key,
class Hash,
class Compare,
class Allocator >
120 inline void serialize(
122 boost::unordered_multimap<Key, Type, Hash, Compare, Allocator> &t,
123 const unsigned int file_version
125 boost::serialization::split_free(ar, t, file_version);