rb_test_common.hpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // (C) Copyright Ion Gaztanaga 2015-2015.
  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. #ifndef BOOST_INTRUSIVE_TEST_RB_TEST_COMMON_HPP
  13. #define BOOST_INTRUSIVE_TEST_RB_TEST_COMMON_HPP
  14. #include <boost/intrusive/set_hook.hpp>
  15. #include <boost/intrusive/detail/mpl.hpp>
  16. #include "bs_test_common.hpp"
  17. namespace boost {
  18. namespace intrusive {
  19. template<class VoidPointer>
  20. struct rb_hooks
  21. {
  22. typedef set_base_hook<void_pointer<VoidPointer> > base_hook_type;
  23. typedef set_base_hook
  24. <link_mode<auto_unlink>
  25. , void_pointer<VoidPointer>
  26. , tag<void>
  27. , optimize_size<true> > auto_base_hook_type;
  28. typedef set_member_hook
  29. <void_pointer<VoidPointer>
  30. , optimize_size<true> > member_hook_type;
  31. typedef set_member_hook
  32. < link_mode<auto_unlink>
  33. , void_pointer<VoidPointer> > auto_member_hook_type;
  34. typedef nonhook_node_member< rbtree_node_traits<VoidPointer>,
  35. rbtree_algorithms
  36. > nonhook_node_member_type;
  37. };
  38. } //namespace intrusive {
  39. } //namespace boost {
  40. #endif //BOOST_INTRUSIVE_TEST_RB_TEST_COMMON_HPP