///////////////////////////////////////////////////////////////////////////// // // (C) Copyright Ion Gaztanaga 2015-2015. // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // // See http://www.boost.org/libs/intrusive for documentation. // ///////////////////////////////////////////////////////////////////////////// #ifndef BOOST_INTRUSIVE_TEST_BS_TEST_COMMON_HPP #define BOOST_INTRUSIVE_TEST_BS_TEST_COMMON_HPP #include #include #include "bptr_value.hpp" #include "test_common.hpp" namespace boost { namespace intrusive { template struct bs_hooks { typedef bs_set_base_hook > base_hook_type; typedef bs_set_base_hook , void_pointer , tag > auto_base_hook_type; typedef bs_set_member_hook > member_hook_type; typedef bs_set_member_hook < link_mode , void_pointer > auto_member_hook_type; typedef nonhook_node_member< tree_node_traits, bstree_algorithms > nonhook_node_member_type; }; template < class ValueTraits, bool DefaultHolder, bool Map > struct tree_rebinder_common { typedef typename ValueTraits::value_type value_type; typedef typename detail::if_c < DefaultHolder , typename detail::if_c < detail::is_same::value , header_holder_type< bounded_pointer_holder< BPtr_Value > > , void >::type , header_holder_type< heap_node_holder< typename ValueTraits::node_ptr > > >::type holder_opt; typedef typename detail::if_c < Map, key_of_value >, void >::type key_of_value_opt; typedef typename detail::if_c < Map, priority_of_value >, void >::type prio_of_value_opt; }; } //namespace intrusive { } //namespace boost { #endif //BOOST_INTRUSIVE_TEST_BS_TEST_COMMON_HPP