comparison DEPENDENCIES/generic/include/boost/intrusive/intrusive_fwd.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
comparison
equal deleted inserted replaced
15:663ca0da4350 16:2665513ce2d3
1 /////////////////////////////////////////////////////////////////////////////
2 //
3 // (C) Copyright Ion Gaztanaga 2007-2013
4 //
5 // Distributed under the Boost Software License, Version 1.0.
6 // (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
8 //
9 // See http://www.boost.org/libs/intrusive for documentation.
10 //
11 /////////////////////////////////////////////////////////////////////////////
12
13 #ifndef BOOST_INTRUSIVE_FWD_HPP
14 #define BOOST_INTRUSIVE_FWD_HPP
15
16 #include <cstddef>
17 #include <boost/intrusive/link_mode.hpp>
18 #include <boost/intrusive/detail/workaround.hpp>
19
20 /// @cond
21
22 namespace boost {
23 namespace intrusive {
24
25 ////////////////////////////
26 // Node algorithms
27 ////////////////////////////
28
29 //Algorithms predeclarations
30 template<class NodeTraits>
31 class circular_list_algorithms;
32
33 template<class NodeTraits>
34 class circular_slist_algorithms;
35
36 template<class NodeTraits>
37 class rbtree_algorithms;
38
39 ////////////////////////////
40 // Containers
41 ////////////////////////////
42
43 //slist
44 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
45 template
46 < class T
47 , class O1 = void
48 , class O2 = void
49 , class O3 = void
50 , class O4 = void
51 , class O5 = void
52 >
53 #else
54 template<class T, class ...Options>
55 #endif
56 class slist;
57
58 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
59 template
60 < class O1 = void
61 , class O2 = void
62 , class O3 = void
63 >
64 #else
65 template<class ...Options>
66 #endif
67 class slist_base_hook;
68
69 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
70 template
71 < class O1 = void
72 , class O2 = void
73 , class O3 = void
74 >
75 #else
76 template<class ...Options>
77 #endif
78 class slist_member_hook;
79
80 //list
81 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
82 template
83 < class T
84 , class O1 = void
85 , class O2 = void
86 , class O3 = void
87 >
88 #else
89 template<class T, class ...Options>
90 #endif
91 class list;
92
93 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
94 template
95 < class O1 = void
96 , class O2 = void
97 , class O3 = void
98 >
99 #else
100 template<class ...Options>
101 #endif
102 class list_base_hook;
103
104 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
105 template
106 < class O1 = void
107 , class O2 = void
108 , class O3 = void
109 >
110 #else
111 template<class ...Options>
112 #endif
113 class list_member_hook;
114
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
127 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
128 template
129 < class T
130 , class O1 = void
131 , class O2 = void
132 , class O3 = void
133 , class O4 = void
134 >
135 #else
136 template<class T, class ...Options>
137 #endif
138 class rbtree;
139
140 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
141 template
142 < class T
143 , class O1 = void
144 , class O2 = void
145 , class O3 = void
146 , class O4 = void
147 >
148 #else
149 template<class T, class ...Options>
150 #endif
151 class set;
152
153 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
154 template
155 < class T
156 , class O1 = void
157 , class O2 = void
158 , class O3 = void
159 , class O4 = void
160 >
161 #else
162 template<class T, class ...Options>
163 #endif
164 class multiset;
165
166 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
167 template
168 < class O1 = void
169 , class O2 = void
170 , class O3 = void
171 , class O4 = void
172 >
173 #else
174 template<class ...Options>
175 #endif
176 class set_base_hook;
177
178 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
179 template
180 < class O1 = void
181 , class O2 = void
182 , class O3 = void
183 , class O4 = void
184 >
185 #else
186 template<class ...Options>
187 #endif
188 class set_member_hook;
189
190 //splaytree/splay_set/splay_multiset
191 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
192 template
193 < class T
194 , class O1 = void
195 , class O2 = void
196 , class O3 = void
197 , class O4 = void
198 >
199 #else
200 template<class T, class ...Options>
201 #endif
202 class splaytree;
203
204 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
205 template
206 < class T
207 , class O1 = void
208 , class O2 = void
209 , class O3 = void
210 , class O4 = void
211 >
212 #else
213 template<class T, class ...Options>
214 #endif
215 class splay_set;
216
217 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
218 template
219 < class T
220 , class O1 = void
221 , class O2 = void
222 , class O3 = void
223 , class O4 = void
224 >
225 #else
226 template<class T, class ...Options>
227 #endif
228 class splay_multiset;
229
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
253 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
254 template
255 < class T
256 , class O1 = void
257 , class O2 = void
258 , class O3 = void
259 , class O4 = void
260 >
261 #else
262 template<class T, class ...Options>
263 #endif
264 class avltree;
265
266 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
267 template
268 < class T
269 , class O1 = void
270 , class O2 = void
271 , class O3 = void
272 , class O4 = void
273 >
274 #else
275 template<class T, class ...Options>
276 #endif
277 class avl_set;
278
279 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
280 template
281 < class T
282 , class O1 = void
283 , class O2 = void
284 , class O3 = void
285 , class O4 = void
286 >
287 #else
288 template<class T, class ...Options>
289 #endif
290 class avl_multiset;
291
292 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
293 template
294 < class O1 = void
295 , class O2 = void
296 , class O3 = void
297 , class O4 = void
298 >
299 #else
300 template<class ...Options>
301 #endif
302 class avl_set_base_hook;
303
304 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
305 template
306 < class O1 = void
307 , class O2 = void
308 , class O3 = void
309 , class O4 = void
310 >
311 #else
312 template<class ...Options>
313 #endif
314 class avl_set_member_hook;
315
316
317 //treap/treap_set/treap_multiset
318 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
319 template
320 < class T
321 , class O1 = void
322 , class O2 = void
323 , class O3 = void
324 , class O4 = void
325 >
326 #else
327 template<class T, class ...Options>
328 #endif
329 class treap;
330
331 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
332 template
333 < class T
334 , class O1 = void
335 , class O2 = void
336 , class O3 = void
337 , class O4 = void
338 >
339 #else
340 template<class T, class ...Options>
341 #endif
342 class treap_set;
343
344 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
345 template
346 < class T
347 , class O1 = void
348 , class O2 = void
349 , class O3 = void
350 , class O4 = void
351 >
352 #else
353 template<class T, class ...Options>
354 #endif
355 class treap_multiset;
356
357 //Default priority comparison functor
358 template <class T>
359 struct priority_compare;
360
361 //sgtree/sg_set/sg_multiset
362 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
363 template
364 < class T
365 , class O1 = void
366 , class O2 = void
367 , class O3 = void
368 , class O4 = void
369 >
370 #else
371 template<class T, class ...Options>
372 #endif
373 class sgtree;
374
375 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
376 template
377 < class T
378 , class O1 = void
379 , class O2 = void
380 , class O3 = void
381 , class O4 = void
382 >
383 #else
384 template<class T, class ...Options>
385 #endif
386 class sg_set;
387
388 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
389 template
390 < class T
391 , class O1 = void
392 , class O2 = void
393 , class O3 = void
394 , class O4 = void
395 >
396 #else
397 template<class T, class ...Options>
398 #endif
399 class sg_multiset;
400
401 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
402 template
403 < class T
404 , class O1 = void
405 , class O2 = void
406 , class O3 = void
407 , class O4 = void
408 >
409 #else
410 template<class T, class ...Options>
411 #endif
412 class bstree;
413
414 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
415 template
416 < class T
417 , class O1 = void
418 , class O2 = void
419 , class O3 = void
420 , class O4 = void
421 >
422 #else
423 template<class T, class ...Options>
424 #endif
425 class bs_set;
426
427 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
428 template
429 < class T
430 , class O1 = void
431 , class O2 = void
432 , class O3 = void
433 , class O4 = void
434 >
435 #else
436 template<class T, class ...Options>
437 #endif
438 class bs_multiset;
439
440 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
441 template
442 < class O1 = void
443 , class O2 = void
444 , class O3 = void
445 >
446 #else
447 template<class ...Options>
448 #endif
449 class bs_set_base_hook;
450
451 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
452 template
453 < class O1 = void
454 , class O2 = void
455 , class O3 = void
456 >
457 #else
458 template<class ...Options>
459 #endif
460 class bs_set_member_hook;
461
462 //hashtable/unordered_set/unordered_multiset
463
464 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
465 template
466 < class T
467 , class O1 = void
468 , class O2 = void
469 , class O3 = void
470 , class O4 = void
471 , class O5 = void
472 , class O6 = void
473 , class O7 = void
474 , class O8 = void
475 , class O9 = void
476 , class O10 = void
477 >
478 #else
479 template<class T, class ...Options>
480 #endif
481 class hashtable;
482
483 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
484 template
485 < class T
486 , class O1 = void
487 , class O2 = void
488 , class O3 = void
489 , class O4 = void
490 , class O5 = void
491 , class O6 = void
492 , class O7 = void
493 , class O8 = void
494 , class O9 = void
495 , class O10 = void
496 >
497 #else
498 template<class T, class ...Options>
499 #endif
500 class unordered_set;
501
502 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
503 template
504 < class T
505 , class O1 = void
506 , class O2 = void
507 , class O3 = void
508 , class O4 = void
509 , class O5 = void
510 , class O6 = void
511 , class O7 = void
512 , class O8 = void
513 , class O9 = void
514 , class O10 = void
515 >
516 #else
517 template<class T, class ...Options>
518 #endif
519 class unordered_multiset;
520
521 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
522 template
523 < class O1 = void
524 , class O2 = void
525 , class O3 = void
526 , class O4 = void
527 >
528 #else
529 template<class ...Options>
530 #endif
531 class unordered_set_base_hook;
532
533 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
534 template
535 < class O1 = void
536 , class O2 = void
537 , class O3 = void
538 , class O4 = void
539 >
540 #else
541 template<class ...Options>
542 #endif
543 class unordered_set_member_hook;
544
545 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
546 template
547 < class O1 = void
548 , class O2 = void
549 , class O3 = void
550 >
551 #else
552 template<class ...Options>
553 #endif
554 class any_base_hook;
555
556 #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
557 template
558 < class O1 = void
559 , class O2 = void
560 , class O3 = void
561 >
562 #else
563 template<class ...Options>
564 #endif
565 class any_member_hook;
566
567 } //namespace intrusive {
568 } //namespace boost {
569
570 /// @endcond
571
572 #endif //#ifndef BOOST_INTRUSIVE_FWD_HPP