Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/intrusive/intrusive_fwd.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
comparison
equal
deleted
inserted
replaced
100:793467b5e61c | 101:c530137014c0 |
---|---|
11 ///////////////////////////////////////////////////////////////////////////// | 11 ///////////////////////////////////////////////////////////////////////////// |
12 | 12 |
13 #ifndef BOOST_INTRUSIVE_FWD_HPP | 13 #ifndef BOOST_INTRUSIVE_FWD_HPP |
14 #define BOOST_INTRUSIVE_FWD_HPP | 14 #define BOOST_INTRUSIVE_FWD_HPP |
15 | 15 |
16 #ifndef BOOST_CONFIG_HPP | |
17 # include <boost/config.hpp> | |
18 #endif | |
19 | |
20 #if defined(BOOST_HAS_PRAGMA_ONCE) | |
21 # pragma once | |
22 #endif | |
23 | |
24 //! \file | |
25 //! This header file forward declares most Intrusive classes. | |
26 //! | |
27 //! It forward declares the following containers and hooks: | |
28 //! - boost::intrusive::slist / boost::intrusive::slist_base_hook / boost::intrusive::slist_member_hook | |
29 //! - boost::intrusive::list / boost::intrusive::list_base_hook / boost::intrusive::list_member_hook | |
30 //! - boost::intrusive::bstree / boost::intrusive::bs_set / boost::intrusive::bs_multiset / | |
31 //! boost::intrusive::bs_set_base_hook / boost::intrusive::bs_set_member_hook | |
32 //! - boost::intrusive::rbtree / boost::intrusive::set / boost::intrusive::multiset / | |
33 //! boost::intrusive::set_base_hook / boost::intrusive::set_member_hook | |
34 //! - boost::intrusive::avltree / boost::intrusive::avl_set / boost::intrusive::avl_multiset / | |
35 //! boost::intrusive::avl_set_base_hook / boost::intrusive::avl_set_member_hook | |
36 //! - boost::intrusive::splaytree / boost::intrusive::splay_set / boost::intrusive::splay_multiset | |
37 //! - boost::intrusive::sgtree / boost::intrusive::sg_set / boost::intrusive::sg_multiset | |
38 //! - boost::intrusive::treap / boost::intrusive::treap_set / boost::intrusive::treap_multiset | |
39 //! - boost::intrusive::hashtable / boost::intrusive::unordered_set / boost::intrusive::unordered_multiset / | |
40 //! boost::intrusive::unordered_set_base_hook / boost::intrusive::unordered_set_member_hook / | |
41 //! - boost::intrusive::any_base_hook / boost::intrusive::any_member_hook | |
42 //! | |
43 //! It forward declares the following container or hook options: | |
44 //! - boost::intrusive::constant_time_size / boost::intrusive::size_type / boost::intrusive::compare / boost::intrusive::equal | |
45 //! - boost::intrusive::floating_point / boost::intrusive::priority / boost::intrusive::hash | |
46 //! - boost::intrusive::value_traits / boost::intrusive::member_hook / boost::intrusive::function_hook / boost::intrusive::base_hook | |
47 //! - boost::intrusive::void_pointer / boost::intrusive::tag / boost::intrusive::link_mode | |
48 //! - boost::intrusive::optimize_size / boost::intrusive::linear / boost::intrusive::cache_last | |
49 //! - boost::intrusive::bucket_traits / boost::intrusive::store_hash / boost::intrusive::optimize_multikey | |
50 //! - boost::intrusive::power_2_buckets / boost::intrusive::cache_begin / boost::intrusive::compare_hash / boost::intrusive::incremental | |
51 //! | |
52 //! It forward declares the following value traits utilities: | |
53 //! - boost::intrusive::value_traits / boost::intrusive::derivation_value_traits / | |
54 //! boost::intrusive::trivial_value_traits | |
55 //! | |
56 //! Finally it forward declares the following general purpose utilities: | |
57 //! - boost::intrusive::pointer_plus_bits / boost::intrusive::priority_compare. | |
58 | |
59 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) | |
60 | |
16 #include <cstddef> | 61 #include <cstddef> |
17 #include <boost/intrusive/link_mode.hpp> | 62 #include <boost/intrusive/link_mode.hpp> |
18 #include <boost/intrusive/detail/workaround.hpp> | 63 #include <boost/intrusive/detail/workaround.hpp> |
19 | 64 |
20 /// @cond | |
21 | |
22 namespace boost { | 65 namespace boost { |
23 namespace intrusive { | 66 namespace intrusive { |
24 | 67 |
25 //////////////////////////// | 68 //////////////////////////// |
26 // Node algorithms | 69 // Node algorithms |
32 | 75 |
33 template<class NodeTraits> | 76 template<class NodeTraits> |
34 class circular_slist_algorithms; | 77 class circular_slist_algorithms; |
35 | 78 |
36 template<class NodeTraits> | 79 template<class NodeTraits> |
80 class linear_slist_algorithms; | |
81 | |
82 template<class NodeTraits> | |
83 class bstree_algorithms; | |
84 | |
85 template<class NodeTraits> | |
37 class rbtree_algorithms; | 86 class rbtree_algorithms; |
87 | |
88 template<class NodeTraits> | |
89 class avltree_algorithms; | |
90 | |
91 template<class NodeTraits> | |
92 class sgtree_algorithms; | |
93 | |
94 template<class NodeTraits> | |
95 class splaytree_algorithms; | |
96 | |
97 template<class NodeTraits> | |
98 class treap_algorithms; | |
38 | 99 |
39 //////////////////////////// | 100 //////////////////////////// |
40 // Containers | 101 // Containers |
41 //////////////////////////// | 102 //////////////////////////// |
42 | 103 |
43 //slist | 104 //slist |
44 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 105 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
45 template | 106 template |
46 < class T | 107 < class T |
47 , class O1 = void | 108 , class O1 = void |
48 , class O2 = void | 109 , class O2 = void |
49 , class O3 = void | 110 , class O3 = void |
50 , class O4 = void | 111 , class O4 = void |
51 , class O5 = void | 112 , class O5 = void |
113 , class O6 = void | |
52 > | 114 > |
53 #else | 115 #else |
54 template<class T, class ...Options> | 116 template<class T, class ...Options> |
55 #endif | 117 #endif |
56 class slist; | 118 class slist; |
57 | 119 |
58 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 120 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
59 template | 121 template |
60 < class O1 = void | 122 < class O1 = void |
61 , class O2 = void | 123 , class O2 = void |
62 , class O3 = void | 124 , class O3 = void |
63 > | 125 > |
64 #else | 126 #else |
65 template<class ...Options> | 127 template<class ...Options> |
66 #endif | 128 #endif |
67 class slist_base_hook; | 129 class slist_base_hook; |
68 | 130 |
69 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 131 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
70 template | 132 template |
71 < class O1 = void | 133 < class O1 = void |
72 , class O2 = void | 134 , class O2 = void |
73 , class O3 = void | 135 , class O3 = void |
74 > | 136 > |
76 template<class ...Options> | 138 template<class ...Options> |
77 #endif | 139 #endif |
78 class slist_member_hook; | 140 class slist_member_hook; |
79 | 141 |
80 //list | 142 //list |
81 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 143 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
82 template | 144 template |
83 < class T | 145 < class T |
84 , class O1 = void | 146 , class O1 = void |
85 , class O2 = void | 147 , class O2 = void |
86 , class O3 = void | 148 , class O3 = void |
149 , class O4 = void | |
87 > | 150 > |
88 #else | 151 #else |
89 template<class T, class ...Options> | 152 template<class T, class ...Options> |
90 #endif | 153 #endif |
91 class list; | 154 class list; |
92 | 155 |
93 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 156 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
94 template | 157 template |
95 < class O1 = void | 158 < class O1 = void |
96 , class O2 = void | 159 , class O2 = void |
97 , class O3 = void | 160 , class O3 = void |
98 > | 161 > |
99 #else | 162 #else |
100 template<class ...Options> | 163 template<class ...Options> |
101 #endif | 164 #endif |
102 class list_base_hook; | 165 class list_base_hook; |
103 | 166 |
104 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 167 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
105 template | 168 template |
106 < class O1 = void | 169 < class O1 = void |
107 , class O2 = void | 170 , class O2 = void |
108 , class O3 = void | 171 , class O3 = void |
109 > | 172 > |
110 #else | 173 #else |
111 template<class ...Options> | 174 template<class ...Options> |
112 #endif | 175 #endif |
113 class list_member_hook; | 176 class list_member_hook; |
114 | 177 |
115 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | |
116 template | |
117 < class O1 = void | |
118 , class O2 = void | |
119 , class O3 = void | |
120 > | |
121 #else | |
122 template<class ...Options> | |
123 #endif | |
124 class list_hook; | |
125 | |
126 //rbtree/set/multiset | 178 //rbtree/set/multiset |
127 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 179 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
128 template | 180 template |
129 < class T | 181 < class T |
130 , class O1 = void | 182 , class O1 = void |
131 , class O2 = void | 183 , class O2 = void |
132 , class O3 = void | 184 , class O3 = void |
133 , class O4 = void | 185 , class O4 = void |
186 , class O5 = void | |
134 > | 187 > |
135 #else | 188 #else |
136 template<class T, class ...Options> | 189 template<class T, class ...Options> |
137 #endif | 190 #endif |
138 class rbtree; | 191 class rbtree; |
139 | 192 |
140 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 193 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
141 template | 194 template |
142 < class T | 195 < class T |
143 , class O1 = void | 196 , class O1 = void |
144 , class O2 = void | 197 , class O2 = void |
145 , class O3 = void | 198 , class O3 = void |
146 , class O4 = void | 199 , class O4 = void |
200 , class O5 = void | |
147 > | 201 > |
148 #else | 202 #else |
149 template<class T, class ...Options> | 203 template<class T, class ...Options> |
150 #endif | 204 #endif |
151 class set; | 205 class set; |
152 | 206 |
153 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 207 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
154 template | 208 template |
155 < class T | 209 < class T |
156 , class O1 = void | 210 , class O1 = void |
157 , class O2 = void | 211 , class O2 = void |
158 , class O3 = void | 212 , class O3 = void |
159 , class O4 = void | 213 , class O4 = void |
214 , class O5 = void | |
160 > | 215 > |
161 #else | 216 #else |
162 template<class T, class ...Options> | 217 template<class T, class ...Options> |
163 #endif | 218 #endif |
164 class multiset; | 219 class multiset; |
165 | 220 |
166 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 221 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
167 template | 222 template |
168 < class O1 = void | 223 < class O1 = void |
169 , class O2 = void | 224 , class O2 = void |
170 , class O3 = void | 225 , class O3 = void |
171 , class O4 = void | 226 , class O4 = void |
173 #else | 228 #else |
174 template<class ...Options> | 229 template<class ...Options> |
175 #endif | 230 #endif |
176 class set_base_hook; | 231 class set_base_hook; |
177 | 232 |
178 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 233 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
179 template | 234 template |
180 < class O1 = void | 235 < class O1 = void |
181 , class O2 = void | 236 , class O2 = void |
182 , class O3 = void | 237 , class O3 = void |
183 , class O4 = void | 238 , class O4 = void |
186 template<class ...Options> | 241 template<class ...Options> |
187 #endif | 242 #endif |
188 class set_member_hook; | 243 class set_member_hook; |
189 | 244 |
190 //splaytree/splay_set/splay_multiset | 245 //splaytree/splay_set/splay_multiset |
191 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 246 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
192 template | 247 template |
193 < class T | 248 < class T |
194 , class O1 = void | 249 , class O1 = void |
195 , class O2 = void | 250 , class O2 = void |
196 , class O3 = void | 251 , class O3 = void |
197 , class O4 = void | 252 , class O4 = void |
253 , class O5 = void | |
198 > | 254 > |
199 #else | 255 #else |
200 template<class T, class ...Options> | 256 template<class T, class ...Options> |
201 #endif | 257 #endif |
202 class splaytree; | 258 class splaytree; |
203 | 259 |
204 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 260 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
205 template | 261 template |
206 < class T | 262 < class T |
207 , class O1 = void | 263 , class O1 = void |
208 , class O2 = void | 264 , class O2 = void |
209 , class O3 = void | 265 , class O3 = void |
210 , class O4 = void | 266 , class O4 = void |
267 , class O5 = void | |
211 > | 268 > |
212 #else | 269 #else |
213 template<class T, class ...Options> | 270 template<class T, class ...Options> |
214 #endif | 271 #endif |
215 class splay_set; | 272 class splay_set; |
216 | 273 |
217 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 274 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
218 template | 275 template |
219 < class T | 276 < class T |
220 , class O1 = void | 277 , class O1 = void |
221 , class O2 = void | 278 , class O2 = void |
222 , class O3 = void | 279 , class O3 = void |
223 , class O4 = void | 280 , class O4 = void |
281 , class O5 = void | |
224 > | 282 > |
225 #else | 283 #else |
226 template<class T, class ...Options> | 284 template<class T, class ...Options> |
227 #endif | 285 #endif |
228 class splay_multiset; | 286 class splay_multiset; |
229 | 287 |
230 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | |
231 template | |
232 < class O1 = void | |
233 , class O2 = void | |
234 , class O3 = void | |
235 > | |
236 #else | |
237 template<class ...Options> | |
238 #endif | |
239 class splay_set_base_hook; | |
240 | |
241 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | |
242 template | |
243 < class O1 = void | |
244 , class O2 = void | |
245 , class O3 = void | |
246 > | |
247 #else | |
248 template<class ...Options> | |
249 #endif | |
250 class splay_set_member_hook; | |
251 | |
252 //avltree/avl_set/avl_multiset | 288 //avltree/avl_set/avl_multiset |
253 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 289 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
254 template | 290 template |
255 < class T | 291 < class T |
256 , class O1 = void | 292 , class O1 = void |
257 , class O2 = void | 293 , class O2 = void |
258 , class O3 = void | 294 , class O3 = void |
259 , class O4 = void | 295 , class O4 = void |
296 , class O5 = void | |
260 > | 297 > |
261 #else | 298 #else |
262 template<class T, class ...Options> | 299 template<class T, class ...Options> |
263 #endif | 300 #endif |
264 class avltree; | 301 class avltree; |
265 | 302 |
266 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 303 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
267 template | 304 template |
268 < class T | 305 < class T |
269 , class O1 = void | 306 , class O1 = void |
270 , class O2 = void | 307 , class O2 = void |
271 , class O3 = void | 308 , class O3 = void |
272 , class O4 = void | 309 , class O4 = void |
310 , class O5 = void | |
273 > | 311 > |
274 #else | 312 #else |
275 template<class T, class ...Options> | 313 template<class T, class ...Options> |
276 #endif | 314 #endif |
277 class avl_set; | 315 class avl_set; |
278 | 316 |
279 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 317 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
280 template | 318 template |
281 < class T | 319 < class T |
282 , class O1 = void | 320 , class O1 = void |
283 , class O2 = void | 321 , class O2 = void |
284 , class O3 = void | 322 , class O3 = void |
285 , class O4 = void | 323 , class O4 = void |
324 , class O5 = void | |
286 > | 325 > |
287 #else | 326 #else |
288 template<class T, class ...Options> | 327 template<class T, class ...Options> |
289 #endif | 328 #endif |
290 class avl_multiset; | 329 class avl_multiset; |
291 | 330 |
292 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 331 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
293 template | 332 template |
294 < class O1 = void | 333 < class O1 = void |
295 , class O2 = void | 334 , class O2 = void |
296 , class O3 = void | 335 , class O3 = void |
297 , class O4 = void | 336 , class O4 = void |
299 #else | 338 #else |
300 template<class ...Options> | 339 template<class ...Options> |
301 #endif | 340 #endif |
302 class avl_set_base_hook; | 341 class avl_set_base_hook; |
303 | 342 |
304 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 343 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
305 template | 344 template |
306 < class O1 = void | 345 < class O1 = void |
307 , class O2 = void | 346 , class O2 = void |
308 , class O3 = void | 347 , class O3 = void |
309 , class O4 = void | 348 , class O4 = void |
313 #endif | 352 #endif |
314 class avl_set_member_hook; | 353 class avl_set_member_hook; |
315 | 354 |
316 | 355 |
317 //treap/treap_set/treap_multiset | 356 //treap/treap_set/treap_multiset |
318 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 357 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
319 template | 358 template |
320 < class T | 359 < class T |
321 , class O1 = void | 360 , class O1 = void |
322 , class O2 = void | 361 , class O2 = void |
323 , class O3 = void | 362 , class O3 = void |
324 , class O4 = void | 363 , class O4 = void |
364 , class O5 = void | |
325 > | 365 > |
326 #else | 366 #else |
327 template<class T, class ...Options> | 367 template<class T, class ...Options> |
328 #endif | 368 #endif |
329 class treap; | 369 class treap; |
330 | 370 |
331 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 371 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
332 template | 372 template |
333 < class T | 373 < class T |
334 , class O1 = void | 374 , class O1 = void |
335 , class O2 = void | 375 , class O2 = void |
336 , class O3 = void | 376 , class O3 = void |
337 , class O4 = void | 377 , class O4 = void |
378 , class O5 = void | |
338 > | 379 > |
339 #else | 380 #else |
340 template<class T, class ...Options> | 381 template<class T, class ...Options> |
341 #endif | 382 #endif |
342 class treap_set; | 383 class treap_set; |
343 | 384 |
344 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 385 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
345 template | 386 template |
346 < class T | 387 < class T |
347 , class O1 = void | 388 , class O1 = void |
348 , class O2 = void | 389 , class O2 = void |
349 , class O3 = void | 390 , class O3 = void |
350 , class O4 = void | 391 , class O4 = void |
392 , class O5 = void | |
351 > | 393 > |
352 #else | 394 #else |
353 template<class T, class ...Options> | 395 template<class T, class ...Options> |
354 #endif | 396 #endif |
355 class treap_multiset; | 397 class treap_multiset; |
356 | 398 |
357 //Default priority comparison functor | |
358 template <class T> | |
359 struct priority_compare; | |
360 | |
361 //sgtree/sg_set/sg_multiset | 399 //sgtree/sg_set/sg_multiset |
362 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 400 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
363 template | 401 template |
364 < class T | 402 < class T |
365 , class O1 = void | 403 , class O1 = void |
366 , class O2 = void | 404 , class O2 = void |
367 , class O3 = void | 405 , class O3 = void |
368 , class O4 = void | 406 , class O4 = void |
407 , class O5 = void | |
369 > | 408 > |
370 #else | 409 #else |
371 template<class T, class ...Options> | 410 template<class T, class ...Options> |
372 #endif | 411 #endif |
373 class sgtree; | 412 class sgtree; |
374 | 413 |
375 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 414 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
376 template | 415 template |
377 < class T | 416 < class T |
378 , class O1 = void | 417 , class O1 = void |
379 , class O2 = void | 418 , class O2 = void |
380 , class O3 = void | 419 , class O3 = void |
381 , class O4 = void | 420 , class O4 = void |
421 , class O5 = void | |
382 > | 422 > |
383 #else | 423 #else |
384 template<class T, class ...Options> | 424 template<class T, class ...Options> |
385 #endif | 425 #endif |
386 class sg_set; | 426 class sg_set; |
387 | 427 |
388 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 428 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
389 template | 429 template |
390 < class T | 430 < class T |
391 , class O1 = void | 431 , class O1 = void |
392 , class O2 = void | 432 , class O2 = void |
393 , class O3 = void | 433 , class O3 = void |
394 , class O4 = void | 434 , class O4 = void |
435 , class O5 = void | |
395 > | 436 > |
396 #else | 437 #else |
397 template<class T, class ...Options> | 438 template<class T, class ...Options> |
398 #endif | 439 #endif |
399 class sg_multiset; | 440 class sg_multiset; |
400 | 441 |
401 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 442 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
402 template | 443 template |
403 < class T | 444 < class T |
404 , class O1 = void | 445 , class O1 = void |
405 , class O2 = void | 446 , class O2 = void |
406 , class O3 = void | 447 , class O3 = void |
407 , class O4 = void | 448 , class O4 = void |
449 , class O5 = void | |
408 > | 450 > |
409 #else | 451 #else |
410 template<class T, class ...Options> | 452 template<class T, class ...Options> |
411 #endif | 453 #endif |
412 class bstree; | 454 class bstree; |
413 | 455 |
414 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 456 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
415 template | 457 template |
416 < class T | 458 < class T |
417 , class O1 = void | 459 , class O1 = void |
418 , class O2 = void | 460 , class O2 = void |
419 , class O3 = void | 461 , class O3 = void |
420 , class O4 = void | 462 , class O4 = void |
463 , class O5 = void | |
421 > | 464 > |
422 #else | 465 #else |
423 template<class T, class ...Options> | 466 template<class T, class ...Options> |
424 #endif | 467 #endif |
425 class bs_set; | 468 class bs_set; |
426 | 469 |
427 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 470 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
428 template | 471 template |
429 < class T | 472 < class T |
430 , class O1 = void | 473 , class O1 = void |
431 , class O2 = void | 474 , class O2 = void |
432 , class O3 = void | 475 , class O3 = void |
433 , class O4 = void | 476 , class O4 = void |
477 , class O5 = void | |
434 > | 478 > |
435 #else | 479 #else |
436 template<class T, class ...Options> | 480 template<class T, class ...Options> |
437 #endif | 481 #endif |
438 class bs_multiset; | 482 class bs_multiset; |
439 | 483 |
440 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 484 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
441 template | 485 template |
442 < class O1 = void | 486 < class O1 = void |
443 , class O2 = void | 487 , class O2 = void |
444 , class O3 = void | 488 , class O3 = void |
445 > | 489 > |
446 #else | 490 #else |
447 template<class ...Options> | 491 template<class ...Options> |
448 #endif | 492 #endif |
449 class bs_set_base_hook; | 493 class bs_set_base_hook; |
450 | 494 |
451 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 495 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
452 template | 496 template |
453 < class O1 = void | 497 < class O1 = void |
454 , class O2 = void | 498 , class O2 = void |
455 , class O3 = void | 499 , class O3 = void |
456 > | 500 > |
459 #endif | 503 #endif |
460 class bs_set_member_hook; | 504 class bs_set_member_hook; |
461 | 505 |
462 //hashtable/unordered_set/unordered_multiset | 506 //hashtable/unordered_set/unordered_multiset |
463 | 507 |
464 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 508 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
465 template | 509 template |
466 < class T | 510 < class T |
467 , class O1 = void | 511 , class O1 = void |
468 , class O2 = void | 512 , class O2 = void |
469 , class O3 = void | 513 , class O3 = void |
478 #else | 522 #else |
479 template<class T, class ...Options> | 523 template<class T, class ...Options> |
480 #endif | 524 #endif |
481 class hashtable; | 525 class hashtable; |
482 | 526 |
483 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 527 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
484 template | 528 template |
485 < class T | 529 < class T |
486 , class O1 = void | 530 , class O1 = void |
487 , class O2 = void | 531 , class O2 = void |
488 , class O3 = void | 532 , class O3 = void |
497 #else | 541 #else |
498 template<class T, class ...Options> | 542 template<class T, class ...Options> |
499 #endif | 543 #endif |
500 class unordered_set; | 544 class unordered_set; |
501 | 545 |
502 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 546 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
503 template | 547 template |
504 < class T | 548 < class T |
505 , class O1 = void | 549 , class O1 = void |
506 , class O2 = void | 550 , class O2 = void |
507 , class O3 = void | 551 , class O3 = void |
516 #else | 560 #else |
517 template<class T, class ...Options> | 561 template<class T, class ...Options> |
518 #endif | 562 #endif |
519 class unordered_multiset; | 563 class unordered_multiset; |
520 | 564 |
521 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 565 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
522 template | 566 template |
523 < class O1 = void | 567 < class O1 = void |
524 , class O2 = void | 568 , class O2 = void |
525 , class O3 = void | 569 , class O3 = void |
526 , class O4 = void | 570 , class O4 = void |
528 #else | 572 #else |
529 template<class ...Options> | 573 template<class ...Options> |
530 #endif | 574 #endif |
531 class unordered_set_base_hook; | 575 class unordered_set_base_hook; |
532 | 576 |
533 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 577 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
534 template | 578 template |
535 < class O1 = void | 579 < class O1 = void |
536 , class O2 = void | 580 , class O2 = void |
537 , class O3 = void | 581 , class O3 = void |
538 , class O4 = void | 582 , class O4 = void |
540 #else | 584 #else |
541 template<class ...Options> | 585 template<class ...Options> |
542 #endif | 586 #endif |
543 class unordered_set_member_hook; | 587 class unordered_set_member_hook; |
544 | 588 |
545 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 589 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
546 template | 590 template |
547 < class O1 = void | 591 < class O1 = void |
548 , class O2 = void | 592 , class O2 = void |
549 , class O3 = void | 593 , class O3 = void |
550 > | 594 > |
551 #else | 595 #else |
552 template<class ...Options> | 596 template<class ...Options> |
553 #endif | 597 #endif |
554 class any_base_hook; | 598 class any_base_hook; |
555 | 599 |
556 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) | 600 #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES) |
557 template | 601 template |
558 < class O1 = void | 602 < class O1 = void |
559 , class O2 = void | 603 , class O2 = void |
560 , class O3 = void | 604 , class O3 = void |
561 > | 605 > |
562 #else | 606 #else |
563 template<class ...Options> | 607 template<class ...Options> |
564 #endif | 608 #endif |
565 class any_member_hook; | 609 class any_member_hook; |
610 | |
611 //Options | |
612 | |
613 template<bool Enabled> | |
614 struct constant_time_size; | |
615 | |
616 template<typename SizeType> | |
617 struct size_type; | |
618 | |
619 template<typename Compare> | |
620 struct compare; | |
621 | |
622 template<bool Enabled> | |
623 struct floating_point; | |
624 | |
625 template<typename Equal> | |
626 struct equal; | |
627 | |
628 template<typename Priority> | |
629 struct priority; | |
630 | |
631 template<typename Hash> | |
632 struct hash; | |
633 | |
634 template<typename ValueTraits> struct value_traits; | |
635 | |
636 template< typename Parent | |
637 , typename MemberHook | |
638 , MemberHook Parent::* PtrToMember> | |
639 struct member_hook; | |
640 | |
641 template<typename Functor> | |
642 struct function_hook; | |
643 | |
644 template<typename BaseHook> | |
645 struct base_hook; | |
646 | |
647 template<typename VoidPointer> | |
648 struct void_pointer; | |
649 | |
650 template<typename Tag> | |
651 struct tag; | |
652 | |
653 template<link_mode_type LinkType> | |
654 struct link_mode; | |
655 | |
656 template<bool Enabled> struct | |
657 optimize_size; | |
658 | |
659 template<bool Enabled> | |
660 struct linear; | |
661 | |
662 template<bool Enabled> | |
663 struct cache_last; | |
664 | |
665 template<typename BucketTraits> | |
666 struct bucket_traits; | |
667 | |
668 template<bool Enabled> | |
669 struct store_hash; | |
670 | |
671 template<bool Enabled> | |
672 struct optimize_multikey; | |
673 | |
674 template<bool Enabled> | |
675 struct power_2_buckets; | |
676 | |
677 template<bool Enabled> | |
678 struct cache_begin; | |
679 | |
680 template<bool Enabled> | |
681 struct compare_hash; | |
682 | |
683 template<bool Enabled> | |
684 struct incremental; | |
685 | |
686 //Value traits | |
687 | |
688 template<typename ValueTraits> | |
689 struct value_traits; | |
690 | |
691 template< typename Parent | |
692 , typename MemberHook | |
693 , MemberHook Parent::* PtrToMember> | |
694 struct member_hook; | |
695 | |
696 template< typename Functor> | |
697 struct function_hook; | |
698 | |
699 template<typename BaseHook> | |
700 struct base_hook; | |
701 | |
702 template<class T, class NodeTraits, link_mode_type LinkMode = safe_link> | |
703 struct derivation_value_traits; | |
704 | |
705 template<class NodeTraits, link_mode_type LinkMode = normal_link> | |
706 struct trivial_value_traits; | |
707 | |
708 //Additional utilities | |
709 | |
710 template<typename VoidPointer, std::size_t Alignment> | |
711 struct max_pointer_plus_bits; | |
712 | |
713 template<std::size_t Alignment> | |
714 struct max_pointer_plus_bits<void *, Alignment>; | |
715 | |
716 template<typename Pointer, std::size_t NumBits> | |
717 struct pointer_plus_bits; | |
718 | |
719 template<typename T, std::size_t NumBits> | |
720 struct pointer_plus_bits<T *, NumBits>; | |
721 | |
722 template<typename Ptr> | |
723 struct pointer_traits; | |
724 | |
725 template<typename T> | |
726 struct pointer_traits<T *>; | |
566 | 727 |
567 } //namespace intrusive { | 728 } //namespace intrusive { |
568 } //namespace boost { | 729 } //namespace boost { |
569 | 730 |
570 /// @endcond | 731 #endif //#if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) |
571 | 732 |
572 #endif //#ifndef BOOST_INTRUSIVE_FWD_HPP | 733 #endif //#ifndef BOOST_INTRUSIVE_FWD_HPP |