Mercurial > hg > vamp-build-and-test
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 |