1 #ifndef BOOST_SERIALIZATION_HASH_SET_HPP
2 #define BOOST_SERIALIZATION_HASH_SET_HPP
4 // MS compatible compilers support #pragma once
5 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
9 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
10 // hash_set.hpp: serialization for stl hash_set templates
12 // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
13 // Use, modification and distribution is subject to the Boost Software
14 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
15 // http://www.boost.org/LICENSE_1_0.txt)
17 // See http://www.boost.org for updates, documentation, and revision history.
19 #include <boost/config.hpp>
21 #include BOOST_HASH_SET_HEADER
23 #include <boost/serialization/hash_collections_save_imp.hpp>
24 #include <boost/serialization/hash_collections_load_imp.hpp>
25 #include <boost/serialization/split_free.hpp>
28 namespace serialization
{
39 const BOOST_STD_EXTENSION_NAMESPACE::hash_set
<
40 Key
, HashFcn
, EqualKey
, Allocator
42 const unsigned int file_version
44 boost::serialization::stl::save_hash_collection
<
46 BOOST_STD_EXTENSION_NAMESPACE::hash_set
<
47 Key
, HashFcn
, EqualKey
, Allocator
61 BOOST_STD_EXTENSION_NAMESPACE::hash_set
<
62 Key
, HashFcn
, EqualKey
, Allocator
64 const unsigned int file_version
66 boost::serialization::stl::load_hash_collection
<
68 BOOST_STD_EXTENSION_NAMESPACE::hash_set
<
69 Key
, HashFcn
, EqualKey
, Allocator
71 boost::serialization::stl::archive_input_set
<
73 BOOST_STD_EXTENSION_NAMESPACE::hash_set
<
74 Key
, HashFcn
, EqualKey
, Allocator
80 // split non-intrusive serialization function member into separate
81 // non intrusive save/load member functions
89 inline void serialize(
91 BOOST_STD_EXTENSION_NAMESPACE::hash_set
<
92 Key
, HashFcn
, EqualKey
, Allocator
94 const unsigned int file_version
96 boost::serialization::split_free(ar
, t
, file_version
);
109 const BOOST_STD_EXTENSION_NAMESPACE::hash_multiset
<
110 Key
, HashFcn
, EqualKey
, Allocator
112 const unsigned int file_version
114 boost::serialization::stl::save_hash_collection
<
116 BOOST_STD_EXTENSION_NAMESPACE::hash_multiset
<
117 Key
, HashFcn
, EqualKey
, Allocator
131 BOOST_STD_EXTENSION_NAMESPACE::hash_multiset
<
132 Key
, HashFcn
, EqualKey
, Allocator
134 const unsigned int file_version
136 boost::serialization::stl::load_hash_collection
<
138 BOOST_STD_EXTENSION_NAMESPACE::hash_multiset
<
139 Key
, HashFcn
, EqualKey
, Allocator
141 boost::serialization::stl::archive_input_multiset
<
143 BOOST_STD_EXTENSION_NAMESPACE::hash_multiset
<
144 Key
, HashFcn
, EqualKey
, Allocator
150 // split non-intrusive serialization function member into separate
151 // non intrusive save/load member functions
159 inline void serialize(
161 BOOST_STD_EXTENSION_NAMESPACE::hash_multiset
<
162 Key
, HashFcn
, EqualKey
, Allocator
164 const unsigned int file_version
166 boost::serialization::split_free(ar
, t
, file_version
);
169 } // namespace serialization
172 #include <boost/serialization/collection_traits.hpp>
174 BOOST_SERIALIZATION_COLLECTION_TRAITS(BOOST_STD_EXTENSION_NAMESPACE::hash_set
)
175 BOOST_SERIALIZATION_COLLECTION_TRAITS(BOOST_STD_EXTENSION_NAMESPACE::hash_multiset
)
177 #endif // BOOST_HAS_HASH
178 #endif // BOOST_SERIALIZATION_HASH_SET_HPP