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 15 #include <boost/intrusive/set_hook.hpp> 16 #include <boost/intrusive/detail/mpl.hpp> 17 #include "bs_test_common.hpp" 18 19 namespace boost { 20 namespace intrusive { 21 22 template<class VoidPointer> 23 struct rb_hooks 24 { 25 typedef set_base_hook<void_pointer<VoidPointer> > base_hook_type; 26 typedef set_base_hook 27 <link_mode<auto_unlink> 28 , void_pointer<VoidPointer> 29 , tag<void> 30 , optimize_size<true> > auto_base_hook_type; 31 typedef set_member_hook 32 <void_pointer<VoidPointer> 33 , optimize_size<true> > member_hook_type; 34 typedef set_member_hook 35 < link_mode<auto_unlink> 36 , void_pointer<VoidPointer> > auto_member_hook_type; 37 typedef nonhook_node_member< rbtree_node_traits<VoidPointer>, 38 rbtree_algorithms 39 > nonhook_node_member_type; 40 }; 41 42 } //namespace intrusive { 43 } //namespace boost { 44 45 #endif //BOOST_INTRUSIVE_TEST_RB_TEST_COMMON_HPP 46