forked from boostorg/unordered
Option to use grouped nodes everywhere
Seems to work okay, but I'm not happy with and of the options. So I'm going to look into doing something else before the next release.
This commit is contained in:
@ -44,8 +44,8 @@ matrix:
|
||||
user_config="using gcc : : g++-4.8 -fsanitize=address -Werror --std=c++03 -DBOOST_UNORDERED_INTEROPERABLE_NODES=1 ;"
|
||||
- compiler: clang
|
||||
env: |
|
||||
label="gcc C++11 interopable1";
|
||||
user_config="using clang : : clang++ -fsanitize=address -Werror --std=c++03 -DBOOST_UNORDERED_INTEROPERABLE_NODES=1 ;"
|
||||
label="gcc C++11 interopable2";
|
||||
user_config="using clang : : clang++ -fsanitize=address -Werror --std=c++03 -DBOOST_UNORDERED_INTEROPERABLE_NODES=2 ;"
|
||||
|
||||
before_script:
|
||||
- cd ${TRAVIS_BUILD_DIR}
|
||||
|
@ -71,6 +71,7 @@
|
||||
//
|
||||
// 0 = Use different nodes
|
||||
// 1 = Use ungrouped nodes everywhere
|
||||
// 2 = Use grouped nodes everywhere
|
||||
//
|
||||
// Might add an extra value to use grouped nodes everywhere later.
|
||||
|
||||
|
@ -23,7 +23,11 @@ template <typename A, typename K, typename M, typename H, typename P> struct map
|
||||
typedef boost::unordered::detail::allocator_traits<value_allocator>
|
||||
value_allocator_traits;
|
||||
|
||||
#if BOOST_UNORDERED_INTEROPERABLE_NODES != 2
|
||||
typedef boost::unordered::detail::pick_node<A, value_type> pick;
|
||||
#else
|
||||
typedef boost::unordered::detail::pick_grouped_node<A, value_type> pick;
|
||||
#endif
|
||||
typedef typename pick::node node;
|
||||
typedef typename pick::bucket bucket;
|
||||
typedef typename pick::link_pointer link_pointer;
|
||||
@ -65,10 +69,10 @@ struct multimap
|
||||
typedef boost::unordered::detail::allocator_traits<value_allocator>
|
||||
value_allocator_traits;
|
||||
|
||||
#if BOOST_UNORDERED_INTEROPERABLE_NODES
|
||||
typedef boost::unordered::detail::pick_node<A, value_type> pick;
|
||||
#else
|
||||
#if BOOST_UNORDERED_INTEROPERABLE_NODES != 1
|
||||
typedef boost::unordered::detail::pick_grouped_node<A, value_type> pick;
|
||||
#else
|
||||
typedef boost::unordered::detail::pick_node<A, value_type> pick;
|
||||
#endif
|
||||
typedef typename pick::node node;
|
||||
typedef typename pick::bucket bucket;
|
||||
|
@ -23,7 +23,11 @@ template <typename A, typename T, typename H, typename P> struct set
|
||||
typedef boost::unordered::detail::allocator_traits<value_allocator>
|
||||
value_allocator_traits;
|
||||
|
||||
#if BOOST_UNORDERED_INTEROPERABLE_NODES != 2
|
||||
typedef boost::unordered::detail::pick_node<A, value_type> pick;
|
||||
#else
|
||||
typedef boost::unordered::detail::pick_grouped_node<A, value_type> pick;
|
||||
#endif
|
||||
typedef typename pick::node node;
|
||||
typedef typename pick::bucket bucket;
|
||||
typedef typename pick::link_pointer link_pointer;
|
||||
@ -64,10 +68,10 @@ template <typename A, typename T, typename H, typename P> struct multiset
|
||||
typedef boost::unordered::detail::allocator_traits<value_allocator>
|
||||
value_allocator_traits;
|
||||
|
||||
#if BOOST_UNORDERED_INTEROPERABLE_NODES
|
||||
typedef boost::unordered::detail::pick_node<A, value_type> pick;
|
||||
#else
|
||||
#if BOOST_UNORDERED_INTEROPERABLE_NODES != 1
|
||||
typedef boost::unordered::detail::pick_grouped_node<A, value_type> pick;
|
||||
#else
|
||||
typedef boost::unordered::detail::pick_node<A, value_type> pick;
|
||||
#endif
|
||||
typedef typename pick::node node;
|
||||
typedef typename pick::bucket bucket;
|
||||
|
Reference in New Issue
Block a user