annotate DEPENDENCIES/generic/include/boost/intrusive/intrusive_fwd.hpp @ 125:34e428693f5d vext

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