Remove 'unused vars' warnings
[libcds.git] / tests / test-hdr / tree / hdr_intrusive_bintree.h
index 741be4fb999dcac12ffc356647026a7dc08d6c52..cf9a5ec8718413dc561e7240f46d9be8f3c1286c 100644 (file)
@@ -57,13 +57,11 @@ namespace tree {
             {}
 
 #   ifdef _DEBUG
-#       ifdef CDS_MOVE_SEMANTICS_SUPPORT
             base_hook_value( base_hook_value&& s )
                 : Hook()
                 , nKey(s.nKey)
                 , nValue(s.nValue)
             {}
-#       endif
             base_hook_value& operator=( base_hook_value const& s )
             {
                 nKey = s.nKey;
@@ -94,13 +92,11 @@ namespace tree {
                 , nValue(val)
             {}
 #   ifdef _DEBUG
-#       ifdef CDS_MOVE_SEMANTICS_SUPPORT
             member_hook_value( member_hook_value&& s )
                 : nKey(s.nKey)
                 , nValue(s.nValue)
                 , hook()
             {}
-#       endif
             member_hook_value& operator=( member_hook_value const& s )
             {
                 nKey = s.nKey;
@@ -234,12 +230,12 @@ namespace tree {
 
         struct find_functor {
             template <typename T, typename Q>
-            void operator()( T const& v, Q& q ) const
+            void operator()( T const& v, Q& /*q*/ ) const
             {
                 ++v.stat.nFindFuncCall;
             }
             template <typename T, typename Q>
-            void operator()( T const& v, Q const& q ) const
+            void operator()( T const& v, Q const& /*q*/ ) const
             {
                 ++v.stat.nFindConstFuncCall;
             }
@@ -677,50 +673,58 @@ namespace tree {
                 {
                     typename tree_type::guarded_ptr gp;
 
-                    CPPUNIT_ASSERT( t.get( gp, v2.nKey ));
+                    gp = t.get( v2.nKey );
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_CHECK( gp->nKey == v2.nKey );
-                    gp.release();
-                    CPPUNIT_ASSERT( t.extract( gp, v2.nKey ));
+                    gp = t.extract( v2.nKey );
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 4 ));
                     CPPUNIT_ASSERT( gp->nKey == v2.nKey );
-                    CPPUNIT_ASSERT( !t.extract( gp, v2.nKey ));
-                    CPPUNIT_CHECK( !t.get( gp, v2.nKey ));
+                    gp = t.extract( v2.nKey );
+                    CPPUNIT_ASSERT( !gp );
+                    gp = t.get( v2.nKey );
+                    CPPUNIT_CHECK( !gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 4 ));
 
-                    CPPUNIT_ASSERT( t.extract_min(gp));
+                    gp = t.extract_min();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 3 ));
                     CPPUNIT_ASSERT( gp->nKey == v5.nKey );
 
-                    CPPUNIT_ASSERT( t.extract_min(gp));
+                    gp = t.extract_min();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 2 ));
                     CPPUNIT_ASSERT( gp->nKey == v1.nKey );
 
-                    CPPUNIT_ASSERT( t.extract_min(gp));
+                    gp = t.extract_min();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 1 ));
                     CPPUNIT_ASSERT( gp->nKey == v4.nKey );
 
-                    CPPUNIT_ASSERT( t.extract_min(gp));
+                    gp = t.extract_min();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 0 ));
                     CPPUNIT_ASSERT( gp->nKey == v3.nKey );
 
-                    CPPUNIT_ASSERT( !t.extract_min(gp));
-                    CPPUNIT_ASSERT( !t.extract_max(gp));
-                    CPPUNIT_ASSERT( !t.extract( gp, v1.nKey ));
+                    gp = t.extract_min();
+                    CPPUNIT_ASSERT( !gp );
+                    CPPUNIT_ASSERT( !t.extract_max());
+                    CPPUNIT_ASSERT( !t.extract( v1.nKey ));
                 }
 
                 tree_type::gc::force_dispose();
@@ -737,38 +741,45 @@ namespace tree {
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 5 ));
 
-                    CPPUNIT_ASSERT( t.get_with( gp, wrapped_int(v4.nKey), wrapped_less<value_type>() ));
+                    gp = t.get_with( wrapped_int( v4.nKey ), wrapped_less<value_type>());
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_CHECK( gp->nKey == v4.nKey );
-                    CPPUNIT_ASSERT( t.extract_with( gp, wrapped_int(v4.nKey), wrapped_less<value_type>() ));
+                    gp = t.extract_with( wrapped_int( v4.nKey ), wrapped_less<value_type>());
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 4 ));
                     CPPUNIT_ASSERT( gp->nKey == v4.nKey );
 
-                    CPPUNIT_ASSERT( !t.extract_with( gp, v4.nKey, less<value_type>() ) );
+                    gp = t.extract_with( v4.nKey, less<value_type>());
+                    CPPUNIT_ASSERT( !gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
-                    CPPUNIT_ASSERT( !t.get_with( gp, v4.nKey, less<value_type>() ) );
+                    CPPUNIT_ASSERT( !t.get_with( v4.nKey, less<value_type>() ) );
 
-                    CPPUNIT_ASSERT( t.extract_max(gp));
+                    gp = t.extract_max();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 3 ));
                     CPPUNIT_ASSERT( gp->nKey == v3.nKey );
 
-                    CPPUNIT_ASSERT( t.extract_max(gp) );
+                    gp = t.extract_max();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 2 ));
                     CPPUNIT_ASSERT( gp->nKey == v2.nKey );
 
-                    CPPUNIT_ASSERT( t.extract_max(gp) );
+                    gp = t.extract_max();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( !t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 1 ));
                     CPPUNIT_ASSERT( gp->nKey == v1.nKey );
 
-                    CPPUNIT_ASSERT( t.extract_max(gp) );
+                    gp = t.extract_max();
+                    CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( t.check_consistency() );
                     CPPUNIT_ASSERT( t.empty() );
                     CPPUNIT_ASSERT( misc::check_size( t, 0 ));
@@ -787,8 +798,7 @@ namespace tree {
                     CPPUNIT_ASSERT( t.ensure( *p, ensure_functor()).second );
                 }
                 for ( int n = 0; n < (int) c_nItemCount; ++n ) {
-                    typename tree_type::guarded_ptr gp;
-                    CPPUNIT_ASSERT( t.extract_min(gp));
+                    typename tree_type::guarded_ptr gp( t.extract_min() );
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_CHECK( gp->nKey == n );
                 }
@@ -797,8 +807,7 @@ namespace tree {
                     CPPUNIT_ASSERT( t.insert( *p ) );
                 }
                 for ( int n = (int) c_nItemCount - 1; n >= 0; --n ) {
-                    typename tree_type::guarded_ptr gp;
-                    CPPUNIT_ASSERT( t.extract_max(gp));
+                    typename tree_type::guarded_ptr gp( t.extract_max());
                     CPPUNIT_ASSERT( !gp.empty());
                     CPPUNIT_CHECK( gp->nKey == n );
                 }
@@ -842,55 +851,59 @@ namespace tree {
                 {
                     typename tree_type::rcu_lock l;
                     pVal = t.get( v1.nKey );
-                    CPPUNIT_ASSERT( pVal != NULL );
+                    CPPUNIT_ASSERT( pVal != nullptr );
                     CPPUNIT_CHECK( pVal == &v1 );
                 }
-                CPPUNIT_ASSERT( t.extract( ep, v1.nKey ));
+                ep = t.extract( v1.nKey );
                 CPPUNIT_ASSERT( !ep.empty());
                 CPPUNIT_CHECK( ep->nKey == v1.nKey );
                 {
                     typename tree_type::rcu_lock l;
-                    CPPUNIT_CHECK( t.get( v1.nKey ) == NULL );
+                    CPPUNIT_CHECK( t.get( v1.nKey ) == nullptr );
                 }
                 ep.release();
-                CPPUNIT_ASSERT( !t.extract( ep, v1.nKey ));
+                ep = t.extract( v1.nKey );
+                CPPUNIT_ASSERT( ep.empty());
 
-                CPPUNIT_ASSERT( t.extract_min(ep));
+                ep = t.extract_min();
+                CPPUNIT_ASSERT( !ep.empty() );
                 CPPUNIT_CHECK( ep->nKey == v5.nKey );
                 {
                     typename tree_type::rcu_lock l;
-                    CPPUNIT_CHECK( t.get( v5.nKey ) == NULL );
+                    CPPUNIT_CHECK( t.get( v5.nKey ) == nullptr );
                 }
-                ep.release();
-                CPPUNIT_ASSERT( !t.extract( ep, v5.nKey ));
 
-                CPPUNIT_ASSERT( t.extract_max(ep));
+                ep = t.extract( v5.nKey );
+                CPPUNIT_ASSERT( ep.empty() );
+
+                ep = t.extract_max();
+                CPPUNIT_ASSERT( !ep.empty());
                 CPPUNIT_CHECK( ep->nKey == v3.nKey );
                 {
                     typename tree_type::rcu_lock l;
-                    CPPUNIT_CHECK( t.get( v3.nKey ) == NULL );
+                    CPPUNIT_CHECK( t.get( v3.nKey ) == nullptr );
                 }
                 ep.release();
 
                 {
                     typename tree_type::rcu_lock l;
                     pVal = t.get_with( wrapped_int(v2.nKey), wrapped_less<value_type>() );
-                    CPPUNIT_ASSERT( pVal != NULL );
+                    CPPUNIT_ASSERT( pVal != nullptr );
                     CPPUNIT_CHECK( pVal == &v2 );
                 }
-                CPPUNIT_ASSERT( t.extract_with( ep, wrapped_int(v2.nKey), wrapped_less<value_type>() ));
-                CPPUNIT_ASSERT( !ep.empty());
+                ep = t.extract_with( wrapped_int( v2.nKey ), wrapped_less<value_type>() );
+                CPPUNIT_ASSERT( !ep.empty() );
                 CPPUNIT_CHECK( ep->nKey == v2.nKey );
                 {
                     typename tree_type::rcu_lock l;
-                    CPPUNIT_CHECK( t.get_with( wrapped_int(v2.nKey), wrapped_less<value_type>() ) == NULL );
+                    CPPUNIT_CHECK( t.get_with( wrapped_int( v2.nKey ), wrapped_less<value_type>() ) == nullptr );
                 }
-                ep.release();
-                CPPUNIT_CHECK( !t.extract_with( ep, wrapped_int(v2.nKey), wrapped_less<value_type>() ));
+                //ep.release();
+                ep = t.extract_with( wrapped_int( v2.nKey ), wrapped_less<value_type>() );
                 CPPUNIT_CHECK( ep.empty());
 
-                CPPUNIT_ASSERT( t.extract( ep, v4.nKey ));
-                CPPUNIT_ASSERT( !ep.empty());
+                ep = t.extract( v4.nKey );
+                CPPUNIT_ASSERT( ep );
                 CPPUNIT_CHECK( ep->nKey == v4.nKey );
                 ep.release();
 
@@ -901,18 +914,18 @@ namespace tree {
 
                 {
                     typename tree_type::rcu_lock l;
-                    CPPUNIT_CHECK( t.get( v1.nKey ) == NULL );
-                    CPPUNIT_CHECK( t.get( v2.nKey ) == NULL );
-                    CPPUNIT_CHECK( t.get( v3.nKey ) == NULL );
-                    CPPUNIT_CHECK( t.get( v4.nKey ) == NULL );
-                    CPPUNIT_CHECK( t.get( v5.nKey ) == NULL );
+                    CPPUNIT_CHECK( t.get( v1.nKey ) == nullptr );
+                    CPPUNIT_CHECK( t.get( v2.nKey ) == nullptr );
+                    CPPUNIT_CHECK( t.get( v3.nKey ) == nullptr );
+                    CPPUNIT_CHECK( t.get( v4.nKey ) == nullptr );
+                    CPPUNIT_CHECK( t.get( v5.nKey ) == nullptr );
                 }
 
-                CPPUNIT_CHECK( !t.extract(ep, v1.nKey));
-                CPPUNIT_CHECK( !t.extract(ep, v2.nKey));
-                CPPUNIT_CHECK( !t.extract(ep, v3.nKey));
-                CPPUNIT_CHECK( !t.extract(ep, v4.nKey));
-                CPPUNIT_CHECK( !t.extract(ep, v5.nKey));
+                CPPUNIT_CHECK( !t.extract(v1.nKey));
+                CPPUNIT_CHECK( !t.extract(v2.nKey));
+                CPPUNIT_CHECK( !t.extract(v3.nKey));
+                CPPUNIT_CHECK( !t.extract(v4.nKey));
+                CPPUNIT_CHECK( !t.extract(v5.nKey));
 
                 tree_type::gc::force_dispose();
             }
@@ -927,6 +940,7 @@ namespace tree {
         void EllenBinTree_hp_base_cmp_ic();
         void EllenBinTree_hp_base_less_stat();
         void EllenBinTree_hp_base_cmp_ic_stat();
+        void EllenBinTree_hp_base_cmp_ic_stat_yield();
         void EllenBinTree_hp_base_less_pool();
         void EllenBinTree_hp_base_less_pool_ic_stat();
 
@@ -937,28 +951,31 @@ namespace tree {
         void EllenBinTree_hp_member_cmp_ic();
         void EllenBinTree_hp_member_less_stat();
         void EllenBinTree_hp_member_cmp_ic_stat();
+        void EllenBinTree_hp_member_cmp_ic_stat_yield();
         void EllenBinTree_hp_member_less_pool();
         void EllenBinTree_hp_member_less_pool_ic_stat();
 
-        void EllenBinTree_ptb_base_less();
-        void EllenBinTree_ptb_base_cmp();
-        void EllenBinTree_ptb_base_cmpless();
-        void EllenBinTree_ptb_base_less_ic();
-        void EllenBinTree_ptb_base_cmp_ic();
-        void EllenBinTree_ptb_base_less_stat();
-        void EllenBinTree_ptb_base_cmp_ic_stat();
-        void EllenBinTree_ptb_base_less_pool();
-        void EllenBinTree_ptb_base_less_pool_ic_stat();
-
-        void EllenBinTree_ptb_member_less();
-        void EllenBinTree_ptb_member_cmp();
-        void EllenBinTree_ptb_member_cmpless();
-        void EllenBinTree_ptb_member_less_ic();
-        void EllenBinTree_ptb_member_cmp_ic();
-        void EllenBinTree_ptb_member_less_stat();
-        void EllenBinTree_ptb_member_cmp_ic_stat();
-        void EllenBinTree_ptb_member_less_pool();
-        void EllenBinTree_ptb_member_less_pool_ic_stat();
+        void EllenBinTree_dhp_base_less();
+        void EllenBinTree_dhp_base_cmp();
+        void EllenBinTree_dhp_base_cmpless();
+        void EllenBinTree_dhp_base_less_ic();
+        void EllenBinTree_dhp_base_cmp_ic();
+        void EllenBinTree_dhp_base_less_stat();
+        void EllenBinTree_dhp_base_cmp_ic_stat();
+        void EllenBinTree_dhp_base_cmp_ic_stat_yield();
+        void EllenBinTree_dhp_base_less_pool();
+        void EllenBinTree_dhp_base_less_pool_ic_stat();
+
+        void EllenBinTree_dhp_member_less();
+        void EllenBinTree_dhp_member_cmp();
+        void EllenBinTree_dhp_member_cmpless();
+        void EllenBinTree_dhp_member_less_ic();
+        void EllenBinTree_dhp_member_cmp_ic();
+        void EllenBinTree_dhp_member_less_stat();
+        void EllenBinTree_dhp_member_cmp_ic_stat();
+        void EllenBinTree_dhp_member_cmp_ic_stat_yield();
+        void EllenBinTree_dhp_member_less_pool();
+        void EllenBinTree_dhp_member_less_pool_ic_stat();
 
         void EllenBinTree_rcu_gpi_base_less();
         void EllenBinTree_rcu_gpi_base_cmp();
@@ -967,6 +984,7 @@ namespace tree {
         void EllenBinTree_rcu_gpi_base_cmp_ic();
         void EllenBinTree_rcu_gpi_base_less_stat();
         void EllenBinTree_rcu_gpi_base_cmp_ic_stat();
+        void EllenBinTree_rcu_gpi_base_cmp_ic_stat_yield();
         void EllenBinTree_rcu_gpi_base_less_pool();
         void EllenBinTree_rcu_gpi_base_less_pool_ic_stat();
 
@@ -977,6 +995,7 @@ namespace tree {
         void EllenBinTree_rcu_gpi_member_cmp_ic();
         void EllenBinTree_rcu_gpi_member_less_stat();
         void EllenBinTree_rcu_gpi_member_cmp_ic_stat();
+        void EllenBinTree_rcu_gpi_member_cmp_ic_stat_yield();
         void EllenBinTree_rcu_gpi_member_less_pool();
         void EllenBinTree_rcu_gpi_member_less_pool_ic_stat();
 
@@ -987,6 +1006,7 @@ namespace tree {
         void EllenBinTree_rcu_gpb_base_cmp_ic();
         void EllenBinTree_rcu_gpb_base_less_stat();
         void EllenBinTree_rcu_gpb_base_cmp_ic_stat();
+        void EllenBinTree_rcu_gpb_base_cmp_ic_stat_yield();
         void EllenBinTree_rcu_gpb_base_less_pool();
         void EllenBinTree_rcu_gpb_base_less_pool_ic_stat();
 
@@ -997,6 +1017,7 @@ namespace tree {
         void EllenBinTree_rcu_gpb_member_cmp_ic();
         void EllenBinTree_rcu_gpb_member_less_stat();
         void EllenBinTree_rcu_gpb_member_cmp_ic_stat();
+        void EllenBinTree_rcu_gpb_member_cmp_ic_stat_yield();
         void EllenBinTree_rcu_gpb_member_less_pool();
         void EllenBinTree_rcu_gpb_member_less_pool_ic_stat();
 
@@ -1007,6 +1028,7 @@ namespace tree {
         void EllenBinTree_rcu_gpt_base_cmp_ic();
         void EllenBinTree_rcu_gpt_base_less_stat();
         void EllenBinTree_rcu_gpt_base_cmp_ic_stat();
+        void EllenBinTree_rcu_gpt_base_cmp_ic_stat_yield();
         void EllenBinTree_rcu_gpt_base_less_pool();
         void EllenBinTree_rcu_gpt_base_less_pool_ic_stat();
 
@@ -1017,6 +1039,7 @@ namespace tree {
         void EllenBinTree_rcu_gpt_member_cmp_ic();
         void EllenBinTree_rcu_gpt_member_less_stat();
         void EllenBinTree_rcu_gpt_member_cmp_ic_stat();
+        void EllenBinTree_rcu_gpt_member_cmp_ic_stat_yield();
         void EllenBinTree_rcu_gpt_member_less_pool();
         void EllenBinTree_rcu_gpt_member_less_pool_ic_stat();
 
@@ -1027,6 +1050,7 @@ namespace tree {
         void EllenBinTree_rcu_shb_base_cmp_ic();
         void EllenBinTree_rcu_shb_base_less_stat();
         void EllenBinTree_rcu_shb_base_cmp_ic_stat();
+        void EllenBinTree_rcu_shb_base_cmp_ic_stat_yield();
         void EllenBinTree_rcu_shb_base_less_pool();
         void EllenBinTree_rcu_shb_base_less_pool_ic_stat();
 
@@ -1037,6 +1061,7 @@ namespace tree {
         void EllenBinTree_rcu_shb_member_cmp_ic();
         void EllenBinTree_rcu_shb_member_less_stat();
         void EllenBinTree_rcu_shb_member_cmp_ic_stat();
+        void EllenBinTree_rcu_shb_member_cmp_ic_stat_yield();
         void EllenBinTree_rcu_shb_member_less_pool();
         void EllenBinTree_rcu_shb_member_less_pool_ic_stat();
 
@@ -1047,6 +1072,7 @@ namespace tree {
         void EllenBinTree_rcu_sht_base_cmp_ic();
         void EllenBinTree_rcu_sht_base_less_stat();
         void EllenBinTree_rcu_sht_base_cmp_ic_stat();
+        void EllenBinTree_rcu_sht_base_cmp_ic_stat_yield();
         void EllenBinTree_rcu_sht_base_less_pool();
         void EllenBinTree_rcu_sht_base_less_pool_ic_stat();
 
@@ -1057,6 +1083,7 @@ namespace tree {
         void EllenBinTree_rcu_sht_member_cmp_ic();
         void EllenBinTree_rcu_sht_member_less_stat();
         void EllenBinTree_rcu_sht_member_cmp_ic_stat();
+        void EllenBinTree_rcu_sht_member_cmp_ic_stat_yield();
         void EllenBinTree_rcu_sht_member_less_pool();
         void EllenBinTree_rcu_sht_member_less_pool_ic_stat();
 
@@ -1068,7 +1095,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_hp_base_less_ic)
             CPPUNIT_TEST(EllenBinTree_hp_base_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_hp_base_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_hp_base_less_pool)
+            CPPUNIT_TEST( EllenBinTree_hp_base_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_hp_base_less_pool )
             CPPUNIT_TEST(EllenBinTree_hp_base_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_hp_member_less)
@@ -1077,29 +1105,32 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_hp_member_cmpless)
             CPPUNIT_TEST(EllenBinTree_hp_member_less_ic)
             CPPUNIT_TEST(EllenBinTree_hp_member_cmp_ic)
-            CPPUNIT_TEST(EllenBinTree_hp_member_cmp_ic_stat)
+            CPPUNIT_TEST( EllenBinTree_hp_member_cmp_ic_stat )
+            CPPUNIT_TEST( EllenBinTree_hp_member_cmp_ic_stat_yield )
             CPPUNIT_TEST(EllenBinTree_hp_member_less_pool)
             CPPUNIT_TEST(EllenBinTree_hp_member_less_pool_ic_stat)
 
-            CPPUNIT_TEST(EllenBinTree_ptb_base_less)
-            CPPUNIT_TEST(EllenBinTree_ptb_base_cmp)
-            CPPUNIT_TEST(EllenBinTree_ptb_base_less_stat)
-            CPPUNIT_TEST(EllenBinTree_ptb_base_cmpless)
-            CPPUNIT_TEST(EllenBinTree_ptb_base_less_ic)
-            CPPUNIT_TEST(EllenBinTree_ptb_base_cmp_ic)
-            CPPUNIT_TEST(EllenBinTree_ptb_base_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_ptb_base_less_pool)
-            CPPUNIT_TEST(EllenBinTree_ptb_base_less_pool_ic_stat)
-
-            CPPUNIT_TEST(EllenBinTree_ptb_member_less)
-            CPPUNIT_TEST(EllenBinTree_ptb_member_cmp)
-            CPPUNIT_TEST(EllenBinTree_ptb_member_less_stat)
-            CPPUNIT_TEST(EllenBinTree_ptb_member_cmpless)
-            CPPUNIT_TEST(EllenBinTree_ptb_member_less_ic)
-            CPPUNIT_TEST(EllenBinTree_ptb_member_cmp_ic)
-            CPPUNIT_TEST(EllenBinTree_ptb_member_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_ptb_member_less_pool)
-            CPPUNIT_TEST(EllenBinTree_ptb_member_less_pool_ic_stat)
+            CPPUNIT_TEST(EllenBinTree_dhp_base_less)
+            CPPUNIT_TEST(EllenBinTree_dhp_base_cmp)
+            CPPUNIT_TEST(EllenBinTree_dhp_base_less_stat)
+            CPPUNIT_TEST(EllenBinTree_dhp_base_cmpless)
+            CPPUNIT_TEST(EllenBinTree_dhp_base_less_ic)
+            CPPUNIT_TEST(EllenBinTree_dhp_base_cmp_ic)
+            CPPUNIT_TEST(EllenBinTree_dhp_base_cmp_ic_stat)
+            CPPUNIT_TEST( EllenBinTree_dhp_base_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_dhp_base_less_pool )
+            CPPUNIT_TEST(EllenBinTree_dhp_base_less_pool_ic_stat)
+
+            CPPUNIT_TEST(EllenBinTree_dhp_member_less)
+            CPPUNIT_TEST(EllenBinTree_dhp_member_cmp)
+            CPPUNIT_TEST(EllenBinTree_dhp_member_less_stat)
+            CPPUNIT_TEST(EllenBinTree_dhp_member_cmpless)
+            CPPUNIT_TEST(EllenBinTree_dhp_member_less_ic)
+            CPPUNIT_TEST(EllenBinTree_dhp_member_cmp_ic)
+            CPPUNIT_TEST(EllenBinTree_dhp_member_cmp_ic_stat)
+            CPPUNIT_TEST( EllenBinTree_dhp_member_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_dhp_member_less_pool )
+            CPPUNIT_TEST(EllenBinTree_dhp_member_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_base_less)
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_base_cmp)
@@ -1108,7 +1139,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_base_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_base_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_base_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpi_base_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpi_base_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpi_base_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_base_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_member_less)
@@ -1118,7 +1150,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_member_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_member_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_member_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpi_member_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpi_member_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpi_member_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpi_member_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_base_less)
@@ -1128,7 +1161,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_base_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_base_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_base_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpb_base_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpb_base_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpb_base_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_base_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_member_less)
@@ -1138,7 +1172,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_member_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_member_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_member_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpb_member_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpb_member_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpb_member_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpb_member_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_base_less)
@@ -1148,7 +1183,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_base_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_base_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_base_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpt_base_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpt_base_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpt_base_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_base_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_member_less)
@@ -1158,7 +1194,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_member_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_member_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_member_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_gpt_member_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_gpt_member_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_gpt_member_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_gpt_member_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_shb_base_less)
@@ -1168,7 +1205,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_shb_base_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_shb_base_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_shb_base_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_shb_base_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_shb_base_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_shb_base_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_shb_base_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_shb_member_less)
@@ -1178,7 +1216,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_shb_member_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_shb_member_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_shb_member_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_shb_member_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_shb_member_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_shb_member_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_shb_member_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_sht_base_less)
@@ -1188,7 +1227,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_sht_base_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_sht_base_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_sht_base_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_sht_base_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_sht_base_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_sht_base_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_sht_base_less_pool_ic_stat)
 
             CPPUNIT_TEST(EllenBinTree_rcu_sht_member_less)
@@ -1198,7 +1238,8 @@ namespace tree {
             CPPUNIT_TEST(EllenBinTree_rcu_sht_member_less_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_sht_member_cmp_ic)
             CPPUNIT_TEST(EllenBinTree_rcu_sht_member_cmp_ic_stat)
-            CPPUNIT_TEST(EllenBinTree_rcu_sht_member_less_pool)
+            CPPUNIT_TEST( EllenBinTree_rcu_sht_member_cmp_ic_stat_yield )
+            CPPUNIT_TEST( EllenBinTree_rcu_sht_member_less_pool )
             CPPUNIT_TEST(EllenBinTree_rcu_sht_member_less_pool_ic_stat)
 
         CPPUNIT_TEST_SUITE_END()