Normalized split-list set types in unit-set tests
[libcds.git] / tests / test-hdr / set / hdr_intrusive_set.h
index 12ca4ea853b497498d6aa5132fa8f7c0d3d47da6..a6345126370ed3c7713137bee640676a3b611e5f 100644 (file)
@@ -4,7 +4,7 @@
 #include "size_check.h"
 
 #include <cds/opt/hash.h>
-#include <cds/ref.h>
+#include <functional>   // ref
 #include <algorithm>    // random_shuffle
 
 // forward declaration
@@ -263,10 +263,10 @@ namespace set {
                 find_functor    ff;
                 CPPUNIT_ASSERT( !s.find( v3 ));
                 CPPUNIT_ASSERT( v3.nVal != v3.nKey * 100 );
-                CPPUNIT_ASSERT( s.insert( v3, cds::ref(fi) ));
+                CPPUNIT_ASSERT( s.insert( v3, std::ref(fi) ));
                 CPPUNIT_ASSERT( v3.nVal == v3.nKey * 100 );
                 CPPUNIT_ASSERT( v3.nFindCount == 0 );
-                CPPUNIT_ASSERT( s.find( v3, cds::ref(ff) ));
+                CPPUNIT_ASSERT( s.find( v3, std::ref(ff) ));
                 CPPUNIT_ASSERT( v3.nFindCount == 1 );
                 v3.nFindCount = 0;
                 CPPUNIT_ASSERT( check_size( s, 3 ));
@@ -610,13 +610,13 @@ namespace set {
                     CPPUNIT_ASSERT( check_size( s, 0 ));
 
                     // insert/find test
-                    CPPUNIT_ASSERT( s.find( v1.key() ) == NULL );
+                    CPPUNIT_ASSERT( s.find( v1.key() ) == nullptr );
                     CPPUNIT_ASSERT( s.insert( v1 ));
                     CPPUNIT_ASSERT( s.find_with( v1.key(), less<value_type>() ) == &v1 );
                     CPPUNIT_ASSERT( check_size( s, 1 ));
                     CPPUNIT_ASSERT( !s.empty() );
 
-                    CPPUNIT_ASSERT( s.find( v2.key() ) == NULL );
+                    CPPUNIT_ASSERT( s.find( v2.key() ) == nullptr );
                     CPPUNIT_ASSERT( s.insert( v2 ));
                     CPPUNIT_ASSERT( v2.nFindCount == 0 );
                     CPPUNIT_ASSERT( s.find( key = v2.key(), find_functor() ));
@@ -627,10 +627,10 @@ namespace set {
 
                     {
                         find_functor    ff;
-                        CPPUNIT_ASSERT( s.find( v3 ) == NULL );
+                        CPPUNIT_ASSERT( s.find( v3 ) == nullptr );
                         CPPUNIT_ASSERT( s.insert( v3 ));
                         CPPUNIT_ASSERT( v3.nFindCount == 0 );
-                        CPPUNIT_ASSERT( s.find_with( v3, less<value_type>(), cds::ref(ff) ));
+                        CPPUNIT_ASSERT( s.find_with( v3, less<value_type>(), std::ref(ff) ));
                         CPPUNIT_ASSERT( v3.nFindCount == 1 );
                         v3.nFindCount = 0;
                         CPPUNIT_ASSERT( check_size( s, 3 ));
@@ -749,10 +749,10 @@ namespace set {
                 find_functor    ff;
                 ASSERT_RCU_FIND( !s.find( v3 ));
                 CPPUNIT_ASSERT( v3.nVal != v3.nKey * 100 );
-                CPPUNIT_ASSERT( s.insert( v3, cds::ref(fi) ));
+                CPPUNIT_ASSERT( s.insert( v3, std::ref(fi) ));
                 CPPUNIT_ASSERT( v3.nVal == v3.nKey * 100 );
                 CPPUNIT_ASSERT( v3.nFindCount == 0 );
-                CPPUNIT_ASSERT( s.find_with( v3, less<value_type>(), cds::ref(ff) ));
+                CPPUNIT_ASSERT( s.find_with( v3, less<value_type>(), std::ref(ff) ));
                 CPPUNIT_ASSERT( v3.nFindCount == 1 );
                 v3.nFindCount = 0;
                 CPPUNIT_ASSERT( check_size( s, 3 ));
@@ -1002,7 +1002,7 @@ namespace set {
                     {
                         rcu_lock l;
                         pVal = s.get( nKey );
-                        CPPUNIT_ASSERT( pVal != NULL );
+                        CPPUNIT_ASSERT( pVal != nullptr );
                         CPPUNIT_CHECK( pVal->nKey == nKey );
                         CPPUNIT_CHECK( pVal->nVal == nKey * 2 );
 
@@ -1014,13 +1014,13 @@ namespace set {
                     ep.release();
                     {
                         rcu_lock l;
-                        CPPUNIT_CHECK( s.get( nKey ) == NULL );
+                        CPPUNIT_CHECK( s.get( nKey ) == nullptr );
                         CPPUNIT_CHECK( !s.extract( ep, nKey ));
                         CPPUNIT_CHECK( ep.empty() );
 
                         nKey = arr[i+1];
                         pVal = s.get_with( nKey, less<value_type>() );
-                        CPPUNIT_ASSERT( pVal != NULL );
+                        CPPUNIT_ASSERT( pVal != nullptr );
                         CPPUNIT_CHECK( pVal->nKey == nKey );
                         CPPUNIT_CHECK( pVal->nVal == nKey * 2 );
 
@@ -1032,7 +1032,7 @@ namespace set {
                     ep.release();
                     {
                         rcu_lock l;
-                        CPPUNIT_CHECK( s.get_with( nKey, less<value_type>() ) == NULL );
+                        CPPUNIT_CHECK( s.get_with( nKey, less<value_type>() ) == nullptr );
                         CPPUNIT_CHECK( !s.extract_with( ep, nKey, less<value_type>() ));
                         CPPUNIT_CHECK( ep.empty() );
                     }
@@ -1041,7 +1041,7 @@ namespace set {
                 CPPUNIT_CHECK( check_size( s, 0 ));
                 {
                     rcu_lock l;
-                    CPPUNIT_CHECK( s.get( 100 ) == NULL );
+                    CPPUNIT_CHECK( s.get( 100 ) == nullptr );
                     CPPUNIT_CHECK( !s.extract( ep, 100 ));
                     CPPUNIT_CHECK( ep.empty() );
                 }
@@ -1058,16 +1058,12 @@ namespace set {
         void HP_member_less();
         void HP_member_cmpmix();
 
-        void PTB_base_cmp();
-        void PTB_base_less();
-        void PTB_base_cmpmix();
-        void PTB_member_cmp();
-        void PTB_member_less();
-        void PTB_member_cmpmix();
-
-        void HRC_base_cmp();
-        void HRC_base_less();
-        void HRC_base_cmpmix();
+        void DHP_base_cmp();
+        void DHP_base_less();
+        void DHP_base_cmpmix();
+        void DHP_member_cmp();
+        void DHP_member_less();
+        void DHP_member_cmpmix();
 
         void RCU_GPI_base_cmp();
         void RCU_GPI_base_less();
@@ -1119,16 +1115,12 @@ namespace set {
         void HP_member_less_lazy();
         void HP_member_cmpmix_lazy();
 
-        void PTB_base_cmp_lazy();
-        void PTB_base_less_lazy();
-        void PTB_base_cmpmix_lazy();
-        void PTB_member_cmp_lazy();
-        void PTB_member_less_lazy();
-        void PTB_member_cmpmix_lazy();
-
-        void HRC_base_cmp_lazy();
-        void HRC_base_less_lazy();
-        void HRC_base_cmpmix_lazy();
+        void DHP_base_cmp_lazy();
+        void DHP_base_less_lazy();
+        void DHP_base_cmpmix_lazy();
+        void DHP_member_cmp_lazy();
+        void DHP_member_less_lazy();
+        void DHP_member_cmpmix_lazy();
 
         void RCU_GPI_base_cmp_lazy();
         void RCU_GPI_base_less_lazy();
@@ -1176,226 +1168,276 @@ namespace set {
         void split_dyn_HP_base_cmp();
         void split_dyn_HP_base_less();
         void split_dyn_HP_base_cmpmix();
+        void split_dyn_HP_base_cmpmix_stat();
         void split_dyn_HP_member_cmp();
         void split_dyn_HP_member_less();
         void split_dyn_HP_member_cmpmix();
+        void split_dyn_HP_member_cmpmix_stat();
         void split_st_HP_base_cmp();
         void split_st_HP_base_less();
         void split_st_HP_base_cmpmix();
+        void split_st_HP_base_cmpmix_stat();
         void split_st_HP_member_cmp();
         void split_st_HP_member_less();
         void split_st_HP_member_cmpmix();
-
-        void split_dyn_PTB_base_cmp();
-        void split_dyn_PTB_base_less();
-        void split_dyn_PTB_base_cmpmix();
-        void split_dyn_PTB_member_cmp();
-        void split_dyn_PTB_member_less();
-        void split_dyn_PTB_member_cmpmix();
-        void split_st_PTB_base_cmp();
-        void split_st_PTB_base_less();
-        void split_st_PTB_base_cmpmix();
-        void split_st_PTB_member_cmp();
-        void split_st_PTB_member_less();
-        void split_st_PTB_member_cmpmix();
-
-        void split_dyn_HRC_base_cmp();
-        void split_dyn_HRC_base_less();
-        void split_dyn_HRC_base_cmpmix();
-        void split_st_HRC_base_cmp();
-        void split_st_HRC_base_less();
-        void split_st_HRC_base_cmpmix();
+        void split_st_HP_member_cmpmix_stat();
+
+        void split_dyn_DHP_base_cmp();
+        void split_dyn_DHP_base_less();
+        void split_dyn_DHP_base_cmpmix();
+        void split_dyn_DHP_base_cmpmix_stat();
+        void split_dyn_DHP_member_cmp();
+        void split_dyn_DHP_member_less();
+        void split_dyn_DHP_member_cmpmix();
+        void split_dyn_DHP_member_cmpmix_stat();
+        void split_st_DHP_base_cmp();
+        void split_st_DHP_base_less();
+        void split_st_DHP_base_cmpmix();
+        void split_st_DHP_base_cmpmix_stat();
+        void split_st_DHP_member_cmp();
+        void split_st_DHP_member_less();
+        void split_st_DHP_member_cmpmix();
+        void split_st_DHP_member_cmpmix_stat();
 
         void split_dyn_RCU_GPI_base_cmp();
         void split_dyn_RCU_GPI_base_less();
         void split_dyn_RCU_GPI_base_cmpmix();
+        void split_dyn_RCU_GPI_base_cmpmix_stat();
         void split_dyn_RCU_GPI_member_cmp();
         void split_dyn_RCU_GPI_member_less();
         void split_dyn_RCU_GPI_member_cmpmix();
+        void split_dyn_RCU_GPI_member_cmpmix_stat();
         void split_st_RCU_GPI_base_cmp();
         void split_st_RCU_GPI_base_less();
         void split_st_RCU_GPI_base_cmpmix();
+        void split_st_RCU_GPI_base_cmpmix_stat();
         void split_st_RCU_GPI_member_cmp();
         void split_st_RCU_GPI_member_less();
         void split_st_RCU_GPI_member_cmpmix();
+        void split_st_RCU_GPI_member_cmpmix_stat();
 
         void split_dyn_RCU_GPB_base_cmp();
         void split_dyn_RCU_GPB_base_less();
         void split_dyn_RCU_GPB_base_cmpmix();
+        void split_dyn_RCU_GPB_base_cmpmix_stat();
         void split_dyn_RCU_GPB_member_cmp();
         void split_dyn_RCU_GPB_member_less();
         void split_dyn_RCU_GPB_member_cmpmix();
+        void split_dyn_RCU_GPB_member_cmpmix_stat();
         void split_st_RCU_GPB_base_cmp();
         void split_st_RCU_GPB_base_less();
         void split_st_RCU_GPB_base_cmpmix();
+        void split_st_RCU_GPB_base_cmpmix_stat();
         void split_st_RCU_GPB_member_cmp();
         void split_st_RCU_GPB_member_less();
         void split_st_RCU_GPB_member_cmpmix();
+        void split_st_RCU_GPB_member_cmpmix_stat();
 
         void split_dyn_RCU_GPT_base_cmp();
         void split_dyn_RCU_GPT_base_less();
         void split_dyn_RCU_GPT_base_cmpmix();
+        void split_dyn_RCU_GPT_base_cmpmix_stat();
         void split_dyn_RCU_GPT_member_cmp();
         void split_dyn_RCU_GPT_member_less();
         void split_dyn_RCU_GPT_member_cmpmix();
+        void split_dyn_RCU_GPT_member_cmpmix_stat();
         void split_st_RCU_GPT_base_cmp();
         void split_st_RCU_GPT_base_less();
         void split_st_RCU_GPT_base_cmpmix();
+        void split_st_RCU_GPT_base_cmpmix_stat();
         void split_st_RCU_GPT_member_cmp();
         void split_st_RCU_GPT_member_less();
         void split_st_RCU_GPT_member_cmpmix();
+        void split_st_RCU_GPT_member_cmpmix_stat();
 
         void split_dyn_RCU_SHB_base_cmp();
         void split_dyn_RCU_SHB_base_less();
         void split_dyn_RCU_SHB_base_cmpmix();
+        void split_dyn_RCU_SHB_base_cmpmix_stat();
         void split_dyn_RCU_SHB_member_cmp();
         void split_dyn_RCU_SHB_member_less();
         void split_dyn_RCU_SHB_member_cmpmix();
+        void split_dyn_RCU_SHB_member_cmpmix_stat();
         void split_st_RCU_SHB_base_cmp();
         void split_st_RCU_SHB_base_less();
         void split_st_RCU_SHB_base_cmpmix();
+        void split_st_RCU_SHB_base_cmpmix_stat();
         void split_st_RCU_SHB_member_cmp();
         void split_st_RCU_SHB_member_less();
         void split_st_RCU_SHB_member_cmpmix();
+        void split_st_RCU_SHB_member_cmpmix_stat();
 
         void split_dyn_RCU_SHT_base_cmp();
         void split_dyn_RCU_SHT_base_less();
         void split_dyn_RCU_SHT_base_cmpmix();
+        void split_dyn_RCU_SHT_base_cmpmix_stat();
         void split_dyn_RCU_SHT_member_cmp();
         void split_dyn_RCU_SHT_member_less();
         void split_dyn_RCU_SHT_member_cmpmix();
+        void split_dyn_RCU_SHT_member_cmpmix_stat();
         void split_st_RCU_SHT_base_cmp();
         void split_st_RCU_SHT_base_less();
         void split_st_RCU_SHT_base_cmpmix();
+        void split_st_RCU_SHT_base_cmpmix_stat();
         void split_st_RCU_SHT_member_cmp();
         void split_st_RCU_SHT_member_less();
         void split_st_RCU_SHT_member_cmpmix();
+        void split_st_RCU_SHT_member_cmpmix_stat();
 
         void split_dyn_nogc_base_cmp();
         void split_dyn_nogc_base_less();
         void split_dyn_nogc_base_cmpmix();
+        void split_dyn_nogc_base_cmpmix_stat();
         void split_dyn_nogc_member_cmp();
         void split_dyn_nogc_member_less();
         void split_dyn_nogc_member_cmpmix();
+        void split_dyn_nogc_member_cmpmix_stat();
         void split_st_nogc_base_cmp();
         void split_st_nogc_base_less();
         void split_st_nogc_base_cmpmix();
+        void split_st_nogc_base_cmpmix_stat();
         void split_st_nogc_member_cmp();
         void split_st_nogc_member_less();
         void split_st_nogc_member_cmpmix();
+        void split_st_nogc_member_cmpmix_stat();
 
 
         // SplitListSet + LazyList [dyn - dynamic bucket table, st - static bucket table]
         void split_dyn_HP_base_cmp_lazy();
         void split_dyn_HP_base_less_lazy();
         void split_dyn_HP_base_cmpmix_lazy();
+        void split_dyn_HP_base_cmpmix_stat_lazy();
         void split_dyn_HP_member_cmp_lazy();
         void split_dyn_HP_member_less_lazy();
         void split_dyn_HP_member_cmpmix_lazy();
+        void split_dyn_HP_member_cmpmix_stat_lazy();
         void split_st_HP_base_cmp_lazy();
         void split_st_HP_base_less_lazy();
         void split_st_HP_base_cmpmix_lazy();
+        void split_st_HP_base_cmpmix_stat_lazy();
         void split_st_HP_member_cmp_lazy();
         void split_st_HP_member_less_lazy();
         void split_st_HP_member_cmpmix_lazy();
-
-        void split_dyn_PTB_base_cmp_lazy();
-        void split_dyn_PTB_base_less_lazy();
-        void split_dyn_PTB_base_cmpmix_lazy();
-        void split_dyn_PTB_member_cmp_lazy();
-        void split_dyn_PTB_member_less_lazy();
-        void split_dyn_PTB_member_cmpmix_lazy();
-        void split_st_PTB_base_cmp_lazy();
-        void split_st_PTB_base_less_lazy();
-        void split_st_PTB_base_cmpmix_lazy();
-        void split_st_PTB_member_cmp_lazy();
-        void split_st_PTB_member_less_lazy();
-        void split_st_PTB_member_cmpmix_lazy();
-
-        void split_dyn_HRC_base_cmp_lazy();
-        void split_dyn_HRC_base_less_lazy();
-        void split_dyn_HRC_base_cmpmix_lazy();
-        void split_st_HRC_base_cmp_lazy();
-        void split_st_HRC_base_less_lazy();
-        void split_st_HRC_base_cmpmix_lazy();
+        void split_st_HP_member_cmpmix_stat_lazy();
+
+        void split_dyn_DHP_base_cmp_lazy();
+        void split_dyn_DHP_base_less_lazy();
+        void split_dyn_DHP_base_cmpmix_lazy();
+        void split_dyn_DHP_base_cmpmix_stat_lazy();
+        void split_dyn_DHP_member_cmp_lazy();
+        void split_dyn_DHP_member_less_lazy();
+        void split_dyn_DHP_member_cmpmix_lazy();
+        void split_dyn_DHP_member_cmpmix_stat_lazy();
+        void split_st_DHP_base_cmp_lazy();
+        void split_st_DHP_base_less_lazy();
+        void split_st_DHP_base_cmpmix_lazy();
+        void split_st_DHP_base_cmpmix_stat_lazy();
+        void split_st_DHP_member_cmp_lazy();
+        void split_st_DHP_member_less_lazy();
+        void split_st_DHP_member_cmpmix_lazy();
+        void split_st_DHP_member_cmpmix_stat_lazy();
 
         void split_dyn_RCU_GPI_base_cmp_lazy();
         void split_dyn_RCU_GPI_base_less_lazy();
         void split_dyn_RCU_GPI_base_cmpmix_lazy();
+        void split_dyn_RCU_GPI_base_cmpmix_stat_lazy();
         void split_dyn_RCU_GPI_member_cmp_lazy();
         void split_dyn_RCU_GPI_member_less_lazy();
         void split_dyn_RCU_GPI_member_cmpmix_lazy();
+        void split_dyn_RCU_GPI_member_cmpmix_stat_lazy();
         void split_st_RCU_GPI_base_cmp_lazy();
         void split_st_RCU_GPI_base_less_lazy();
         void split_st_RCU_GPI_base_cmpmix_lazy();
+        void split_st_RCU_GPI_base_cmpmix_stat_lazy();
         void split_st_RCU_GPI_member_cmp_lazy();
         void split_st_RCU_GPI_member_less_lazy();
         void split_st_RCU_GPI_member_cmpmix_lazy();
+        void split_st_RCU_GPI_member_cmpmix_stat_lazy();
 
         void split_dyn_RCU_GPB_base_cmp_lazy();
         void split_dyn_RCU_GPB_base_less_lazy();
         void split_dyn_RCU_GPB_base_cmpmix_lazy();
+        void split_dyn_RCU_GPB_base_cmpmix_stat_lazy();
         void split_dyn_RCU_GPB_member_cmp_lazy();
         void split_dyn_RCU_GPB_member_less_lazy();
         void split_dyn_RCU_GPB_member_cmpmix_lazy();
+        void split_dyn_RCU_GPB_member_cmpmix_stat_lazy();
         void split_st_RCU_GPB_base_cmp_lazy();
         void split_st_RCU_GPB_base_less_lazy();
         void split_st_RCU_GPB_base_cmpmix_lazy();
+        void split_st_RCU_GPB_base_cmpmix_stat_lazy();
         void split_st_RCU_GPB_member_cmp_lazy();
         void split_st_RCU_GPB_member_less_lazy();
         void split_st_RCU_GPB_member_cmpmix_lazy();
+        void split_st_RCU_GPB_member_cmpmix_stat_lazy();
 
         void split_dyn_RCU_GPT_base_cmp_lazy();
         void split_dyn_RCU_GPT_base_less_lazy();
         void split_dyn_RCU_GPT_base_cmpmix_lazy();
+        void split_dyn_RCU_GPT_base_cmpmix_stat_lazy();
         void split_dyn_RCU_GPT_member_cmp_lazy();
         void split_dyn_RCU_GPT_member_less_lazy();
         void split_dyn_RCU_GPT_member_cmpmix_lazy();
+        void split_dyn_RCU_GPT_member_cmpmix_stat_lazy();
         void split_st_RCU_GPT_base_cmp_lazy();
         void split_st_RCU_GPT_base_less_lazy();
         void split_st_RCU_GPT_base_cmpmix_lazy();
+        void split_st_RCU_GPT_base_cmpmix_stat_lazy();
         void split_st_RCU_GPT_member_cmp_lazy();
         void split_st_RCU_GPT_member_less_lazy();
         void split_st_RCU_GPT_member_cmpmix_lazy();
+        void split_st_RCU_GPT_member_cmpmix_stat_lazy();
 
         void split_dyn_RCU_SHB_base_cmp_lazy();
         void split_dyn_RCU_SHB_base_less_lazy();
         void split_dyn_RCU_SHB_base_cmpmix_lazy();
+        void split_dyn_RCU_SHB_base_cmpmix_stat_lazy();
         void split_dyn_RCU_SHB_member_cmp_lazy();
         void split_dyn_RCU_SHB_member_less_lazy();
         void split_dyn_RCU_SHB_member_cmpmix_lazy();
+        void split_dyn_RCU_SHB_member_cmpmix_stat_lazy();
         void split_st_RCU_SHB_base_cmp_lazy();
         void split_st_RCU_SHB_base_less_lazy();
         void split_st_RCU_SHB_base_cmpmix_lazy();
+        void split_st_RCU_SHB_base_cmpmix_stat_lazy();
         void split_st_RCU_SHB_member_cmp_lazy();
         void split_st_RCU_SHB_member_less_lazy();
         void split_st_RCU_SHB_member_cmpmix_lazy();
+        void split_st_RCU_SHB_member_cmpmix_stat_lazy();
 
         void split_dyn_RCU_SHT_base_cmp_lazy();
         void split_dyn_RCU_SHT_base_less_lazy();
         void split_dyn_RCU_SHT_base_cmpmix_lazy();
+        void split_dyn_RCU_SHT_base_cmpmix_stat_lazy();
         void split_dyn_RCU_SHT_member_cmp_lazy();
         void split_dyn_RCU_SHT_member_less_lazy();
         void split_dyn_RCU_SHT_member_cmpmix_lazy();
+        void split_dyn_RCU_SHT_member_cmpmix_stat_lazy();
         void split_st_RCU_SHT_base_cmp_lazy();
         void split_st_RCU_SHT_base_less_lazy();
         void split_st_RCU_SHT_base_cmpmix_lazy();
+        void split_st_RCU_SHT_base_cmpmix_stat_lazy();
         void split_st_RCU_SHT_member_cmp_lazy();
         void split_st_RCU_SHT_member_less_lazy();
         void split_st_RCU_SHT_member_cmpmix_lazy();
+        void split_st_RCU_SHT_member_cmpmix_stat_lazy();
 
         void split_dyn_nogc_base_cmp_lazy();
         void split_dyn_nogc_base_less_lazy();
         void split_dyn_nogc_base_cmpmix_lazy();
+        void split_dyn_nogc_base_cmpmix_stat_lazy();
         void split_dyn_nogc_member_cmp_lazy();
         void split_dyn_nogc_member_less_lazy();
         void split_dyn_nogc_member_cmpmix_lazy();
+        void split_dyn_nogc_member_cmpmix_stat_lazy();
         void split_st_nogc_base_cmp_lazy();
         void split_st_nogc_base_less_lazy();
         void split_st_nogc_base_cmpmix_lazy();
+        void split_st_nogc_base_cmpmix_stat_lazy();
         void split_st_nogc_member_cmp_lazy();
         void split_st_nogc_member_less_lazy();
         void split_st_nogc_member_cmpmix_lazy();
+        void split_st_nogc_member_cmpmix_stat_lazy();
 
         CPPUNIT_TEST_SUITE(IntrusiveHashSetHdrTest)
             CPPUNIT_TEST(HP_base_cmp)
@@ -1405,16 +1447,12 @@ namespace set {
             CPPUNIT_TEST(HP_member_less)
             CPPUNIT_TEST(HP_member_cmpmix)
 
-            CPPUNIT_TEST(PTB_base_cmp)
-            CPPUNIT_TEST(PTB_base_less)
-            CPPUNIT_TEST(PTB_base_cmpmix)
-            CPPUNIT_TEST(PTB_member_cmp)
-            CPPUNIT_TEST(PTB_member_less)
-            CPPUNIT_TEST(PTB_member_cmpmix)
-
-            CPPUNIT_TEST(HRC_base_cmp)
-            CPPUNIT_TEST(HRC_base_less)
-            CPPUNIT_TEST(HRC_base_cmpmix)
+            CPPUNIT_TEST(DHP_base_cmp)
+            CPPUNIT_TEST(DHP_base_less)
+            CPPUNIT_TEST(DHP_base_cmpmix)
+            CPPUNIT_TEST(DHP_member_cmp)
+            CPPUNIT_TEST(DHP_member_less)
+            CPPUNIT_TEST(DHP_member_cmpmix)
 
             CPPUNIT_TEST(RCU_GPI_base_cmp)
             CPPUNIT_TEST(RCU_GPI_base_less)
@@ -1465,16 +1503,12 @@ namespace set {
             CPPUNIT_TEST(HP_member_less_lazy)
             CPPUNIT_TEST(HP_member_cmpmix_lazy)
 
-            CPPUNIT_TEST(PTB_base_cmp_lazy)
-            CPPUNIT_TEST(PTB_base_less_lazy)
-            CPPUNIT_TEST(PTB_base_cmpmix_lazy)
-            CPPUNIT_TEST(PTB_member_cmp_lazy)
-            CPPUNIT_TEST(PTB_member_less_lazy)
-            CPPUNIT_TEST(PTB_member_cmpmix_lazy)
-
-            CPPUNIT_TEST(HRC_base_cmp_lazy)
-            CPPUNIT_TEST(HRC_base_less_lazy)
-            CPPUNIT_TEST(HRC_base_cmpmix_lazy)
+            CPPUNIT_TEST(DHP_base_cmp_lazy)
+            CPPUNIT_TEST(DHP_base_less_lazy)
+            CPPUNIT_TEST(DHP_base_cmpmix_lazy)
+            CPPUNIT_TEST(DHP_member_cmp_lazy)
+            CPPUNIT_TEST(DHP_member_less_lazy)
+            CPPUNIT_TEST(DHP_member_cmpmix_lazy)
 
             CPPUNIT_TEST(RCU_GPI_base_cmp_lazy)
             CPPUNIT_TEST(RCU_GPI_base_less_lazy)
@@ -1521,226 +1555,274 @@ namespace set {
             CPPUNIT_TEST(split_dyn_HP_base_cmp)
             CPPUNIT_TEST(split_dyn_HP_base_less)
             CPPUNIT_TEST(split_dyn_HP_base_cmpmix)
-            CPPUNIT_TEST(split_dyn_HP_member_cmp)
+            CPPUNIT_TEST( split_dyn_HP_base_cmpmix_stat )
+            CPPUNIT_TEST( split_dyn_HP_member_cmp )
             CPPUNIT_TEST(split_dyn_HP_member_less)
             CPPUNIT_TEST(split_dyn_HP_member_cmpmix)
-            CPPUNIT_TEST(split_st_HP_base_cmp)
+            CPPUNIT_TEST( split_dyn_HP_member_cmpmix_stat )
+            CPPUNIT_TEST( split_st_HP_base_cmp )
             CPPUNIT_TEST(split_st_HP_base_less)
             CPPUNIT_TEST(split_st_HP_base_cmpmix)
-            CPPUNIT_TEST(split_st_HP_member_cmp)
+            CPPUNIT_TEST( split_st_HP_base_cmpmix_stat )
+            CPPUNIT_TEST( split_st_HP_member_cmp )
             CPPUNIT_TEST(split_st_HP_member_less)
             CPPUNIT_TEST(split_st_HP_member_cmpmix)
-
-            CPPUNIT_TEST(split_dyn_PTB_base_cmp)
-            CPPUNIT_TEST(split_dyn_PTB_base_less)
-            CPPUNIT_TEST(split_dyn_PTB_base_cmpmix)
-            CPPUNIT_TEST(split_dyn_PTB_member_cmp)
-            CPPUNIT_TEST(split_dyn_PTB_member_less)
-            CPPUNIT_TEST(split_dyn_PTB_member_cmpmix)
-            CPPUNIT_TEST(split_st_PTB_base_cmp)
-            CPPUNIT_TEST(split_st_PTB_base_less)
-            CPPUNIT_TEST(split_st_PTB_base_cmpmix)
-            CPPUNIT_TEST(split_st_PTB_member_cmp)
-            CPPUNIT_TEST(split_st_PTB_member_less)
-            CPPUNIT_TEST(split_st_PTB_member_cmpmix)
-
-            CPPUNIT_TEST(split_dyn_HRC_base_cmp)
-            CPPUNIT_TEST(split_dyn_HRC_base_less)
-            CPPUNIT_TEST(split_dyn_HRC_base_cmpmix)
-            CPPUNIT_TEST(split_st_HRC_base_cmp)
-            CPPUNIT_TEST(split_st_HRC_base_less)
-            CPPUNIT_TEST(split_st_HRC_base_cmpmix)
+            CPPUNIT_TEST( split_st_HP_member_cmpmix_stat )
+
+            CPPUNIT_TEST(split_dyn_DHP_base_cmp)
+            CPPUNIT_TEST(split_dyn_DHP_base_less)
+            CPPUNIT_TEST(split_dyn_DHP_base_cmpmix)
+            CPPUNIT_TEST( split_dyn_DHP_base_cmpmix_stat )
+            CPPUNIT_TEST( split_dyn_DHP_member_cmp )
+            CPPUNIT_TEST(split_dyn_DHP_member_less)
+            CPPUNIT_TEST(split_dyn_DHP_member_cmpmix)
+            CPPUNIT_TEST( split_dyn_DHP_member_cmpmix_stat )
+            CPPUNIT_TEST( split_st_DHP_base_cmp )
+            CPPUNIT_TEST(split_st_DHP_base_less)
+            CPPUNIT_TEST(split_st_DHP_base_cmpmix)
+            CPPUNIT_TEST( split_st_DHP_base_cmpmix_stat )
+            CPPUNIT_TEST( split_st_DHP_member_cmp )
+            CPPUNIT_TEST(split_st_DHP_member_less)
+            CPPUNIT_TEST(split_st_DHP_member_cmpmix)
+            CPPUNIT_TEST( split_st_DHP_member_cmpmix_stat )
 
             CPPUNIT_TEST(split_dyn_RCU_GPI_base_cmp)
             CPPUNIT_TEST(split_dyn_RCU_GPI_base_less)
             CPPUNIT_TEST(split_dyn_RCU_GPI_base_cmpmix)
-            CPPUNIT_TEST(split_dyn_RCU_GPI_member_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_GPI_base_cmpmix_stat )
+            CPPUNIT_TEST( split_dyn_RCU_GPI_member_cmp )
             CPPUNIT_TEST(split_dyn_RCU_GPI_member_less)
             CPPUNIT_TEST(split_dyn_RCU_GPI_member_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_GPI_base_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_GPI_member_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_GPI_base_cmp )
             CPPUNIT_TEST(split_st_RCU_GPI_base_less)
             CPPUNIT_TEST(split_st_RCU_GPI_base_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_GPI_member_cmp)
+            CPPUNIT_TEST( split_st_RCU_GPI_base_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_GPI_member_cmp )
             CPPUNIT_TEST(split_st_RCU_GPI_member_less)
             CPPUNIT_TEST(split_st_RCU_GPI_member_cmpmix)
+            CPPUNIT_TEST( split_st_RCU_GPI_member_cmpmix_stat )
 
             CPPUNIT_TEST(split_dyn_RCU_GPB_base_cmp)
             CPPUNIT_TEST(split_dyn_RCU_GPB_base_less)
             CPPUNIT_TEST(split_dyn_RCU_GPB_base_cmpmix)
-            CPPUNIT_TEST(split_dyn_RCU_GPB_member_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_GPB_base_cmpmix_stat )
+            CPPUNIT_TEST( split_dyn_RCU_GPB_member_cmp )
             CPPUNIT_TEST(split_dyn_RCU_GPB_member_less)
             CPPUNIT_TEST(split_dyn_RCU_GPB_member_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_GPB_base_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_GPB_member_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_GPB_base_cmp )
             CPPUNIT_TEST(split_st_RCU_GPB_base_less)
             CPPUNIT_TEST(split_st_RCU_GPB_base_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_GPB_member_cmp)
+            CPPUNIT_TEST( split_st_RCU_GPB_base_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_GPB_member_cmp )
             CPPUNIT_TEST(split_st_RCU_GPB_member_less)
             CPPUNIT_TEST(split_st_RCU_GPB_member_cmpmix)
+            CPPUNIT_TEST( split_st_RCU_GPB_member_cmpmix_stat )
 
             CPPUNIT_TEST(split_dyn_RCU_GPT_base_cmp)
             CPPUNIT_TEST(split_dyn_RCU_GPT_base_less)
             CPPUNIT_TEST(split_dyn_RCU_GPT_base_cmpmix)
-            CPPUNIT_TEST(split_dyn_RCU_GPT_member_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_GPT_base_cmpmix_stat )
+            CPPUNIT_TEST( split_dyn_RCU_GPT_member_cmp )
             CPPUNIT_TEST(split_dyn_RCU_GPT_member_less)
             CPPUNIT_TEST(split_dyn_RCU_GPT_member_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_GPT_base_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_GPT_member_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_GPT_base_cmp )
             CPPUNIT_TEST(split_st_RCU_GPT_base_less)
             CPPUNIT_TEST(split_st_RCU_GPT_base_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_GPT_member_cmp)
+            CPPUNIT_TEST( split_st_RCU_GPT_base_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_GPT_member_cmp )
             CPPUNIT_TEST(split_st_RCU_GPT_member_less)
             CPPUNIT_TEST(split_st_RCU_GPT_member_cmpmix)
+            CPPUNIT_TEST( split_st_RCU_GPT_member_cmpmix_stat )
 
             CPPUNIT_TEST(split_dyn_RCU_SHB_base_cmp)
             CPPUNIT_TEST(split_dyn_RCU_SHB_base_less)
             CPPUNIT_TEST(split_dyn_RCU_SHB_base_cmpmix)
-            CPPUNIT_TEST(split_dyn_RCU_SHB_member_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_SHB_base_cmpmix_stat )
+            CPPUNIT_TEST( split_dyn_RCU_SHB_member_cmp )
             CPPUNIT_TEST(split_dyn_RCU_SHB_member_less)
             CPPUNIT_TEST(split_dyn_RCU_SHB_member_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_SHB_base_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_SHB_member_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_SHB_base_cmp )
             CPPUNIT_TEST(split_st_RCU_SHB_base_less)
             CPPUNIT_TEST(split_st_RCU_SHB_base_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_SHB_member_cmp)
+            CPPUNIT_TEST( split_st_RCU_SHB_base_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_SHB_member_cmp )
             CPPUNIT_TEST(split_st_RCU_SHB_member_less)
             CPPUNIT_TEST(split_st_RCU_SHB_member_cmpmix)
+            CPPUNIT_TEST( split_st_RCU_SHB_member_cmpmix_stat )
 
             CPPUNIT_TEST(split_dyn_RCU_SHT_base_cmp)
             CPPUNIT_TEST(split_dyn_RCU_SHT_base_less)
             CPPUNIT_TEST(split_dyn_RCU_SHT_base_cmpmix)
-            CPPUNIT_TEST(split_dyn_RCU_SHT_member_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_SHT_base_cmpmix_stat )
+            CPPUNIT_TEST( split_dyn_RCU_SHT_member_cmp )
             CPPUNIT_TEST(split_dyn_RCU_SHT_member_less)
             CPPUNIT_TEST(split_dyn_RCU_SHT_member_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_SHT_base_cmp)
+            CPPUNIT_TEST( split_dyn_RCU_SHT_member_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_SHT_base_cmp )
             CPPUNIT_TEST(split_st_RCU_SHT_base_less)
             CPPUNIT_TEST(split_st_RCU_SHT_base_cmpmix)
-            CPPUNIT_TEST(split_st_RCU_SHT_member_cmp)
+            CPPUNIT_TEST( split_st_RCU_SHT_base_cmpmix_stat )
+            CPPUNIT_TEST( split_st_RCU_SHT_member_cmp )
             CPPUNIT_TEST(split_st_RCU_SHT_member_less)
             CPPUNIT_TEST(split_st_RCU_SHT_member_cmpmix)
+            CPPUNIT_TEST( split_st_RCU_SHT_member_cmpmix_stat )
 
             CPPUNIT_TEST(split_dyn_nogc_base_cmp)
             CPPUNIT_TEST(split_dyn_nogc_base_less)
             CPPUNIT_TEST(split_dyn_nogc_base_cmpmix)
-            CPPUNIT_TEST(split_dyn_nogc_member_cmp)
+            CPPUNIT_TEST( split_dyn_nogc_base_cmpmix_stat )
+            CPPUNIT_TEST( split_dyn_nogc_member_cmp )
             CPPUNIT_TEST(split_dyn_nogc_member_less)
             CPPUNIT_TEST(split_dyn_nogc_member_cmpmix)
-            CPPUNIT_TEST(split_st_nogc_base_cmp)
+            CPPUNIT_TEST( split_dyn_nogc_member_cmpmix_stat )
+            CPPUNIT_TEST( split_st_nogc_base_cmp )
             CPPUNIT_TEST(split_st_nogc_base_less)
             CPPUNIT_TEST(split_st_nogc_base_cmpmix)
-            CPPUNIT_TEST(split_st_nogc_member_cmp)
+            CPPUNIT_TEST( split_st_nogc_base_cmpmix_stat )
+            CPPUNIT_TEST( split_st_nogc_member_cmp )
             CPPUNIT_TEST(split_st_nogc_member_less)
             CPPUNIT_TEST(split_st_nogc_member_cmpmix)
-
+            CPPUNIT_TEST( split_st_nogc_member_cmpmix_stat )
 
             CPPUNIT_TEST(split_dyn_HP_base_cmp_lazy)
             CPPUNIT_TEST(split_dyn_HP_base_less_lazy)
             CPPUNIT_TEST(split_dyn_HP_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_dyn_HP_member_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_HP_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_dyn_HP_member_cmp_lazy )
             CPPUNIT_TEST(split_dyn_HP_member_less_lazy)
             CPPUNIT_TEST(split_dyn_HP_member_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_HP_base_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_HP_member_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_HP_base_cmp_lazy )
             CPPUNIT_TEST(split_st_HP_base_less_lazy)
             CPPUNIT_TEST(split_st_HP_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_HP_member_cmp_lazy)
+            CPPUNIT_TEST( split_st_HP_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_HP_member_cmp_lazy )
             CPPUNIT_TEST(split_st_HP_member_less_lazy)
             CPPUNIT_TEST(split_st_HP_member_cmpmix_lazy)
-
-            CPPUNIT_TEST(split_dyn_PTB_base_cmp_lazy)
-            CPPUNIT_TEST(split_dyn_PTB_base_less_lazy)
-            CPPUNIT_TEST(split_dyn_PTB_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_dyn_PTB_member_cmp_lazy)
-            CPPUNIT_TEST(split_dyn_PTB_member_less_lazy)
-            CPPUNIT_TEST(split_dyn_PTB_member_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_PTB_base_cmp_lazy)
-            CPPUNIT_TEST(split_st_PTB_base_less_lazy)
-            CPPUNIT_TEST(split_st_PTB_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_PTB_member_cmp_lazy)
-            CPPUNIT_TEST(split_st_PTB_member_less_lazy)
-            CPPUNIT_TEST(split_st_PTB_member_cmpmix_lazy)
-
-            CPPUNIT_TEST(split_dyn_HRC_base_cmp_lazy)
-            CPPUNIT_TEST(split_dyn_HRC_base_less_lazy)
-            CPPUNIT_TEST(split_dyn_HRC_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_HRC_base_cmp_lazy)
-            CPPUNIT_TEST(split_st_HRC_base_less_lazy)
-            CPPUNIT_TEST(split_st_HRC_base_cmpmix_lazy)
+            CPPUNIT_TEST( split_st_HP_member_cmpmix_stat_lazy )
+
+            CPPUNIT_TEST(split_dyn_DHP_base_cmp_lazy)
+            CPPUNIT_TEST(split_dyn_DHP_base_less_lazy)
+            CPPUNIT_TEST(split_dyn_DHP_base_cmpmix_lazy)
+            CPPUNIT_TEST( split_dyn_DHP_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_dyn_DHP_member_cmp_lazy )
+            CPPUNIT_TEST(split_dyn_DHP_member_less_lazy)
+            CPPUNIT_TEST(split_dyn_DHP_member_cmpmix_lazy)
+            CPPUNIT_TEST( split_dyn_DHP_member_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_DHP_base_cmp_lazy )
+            CPPUNIT_TEST(split_st_DHP_base_less_lazy)
+            CPPUNIT_TEST(split_st_DHP_base_cmpmix_lazy)
+            CPPUNIT_TEST( split_st_DHP_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_DHP_member_cmp_lazy )
+            CPPUNIT_TEST(split_st_DHP_member_less_lazy)
+            CPPUNIT_TEST(split_st_DHP_member_cmpmix_lazy)
+            CPPUNIT_TEST( split_st_DHP_member_cmpmix_stat_lazy )
 
             CPPUNIT_TEST(split_dyn_RCU_GPI_base_cmp_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPI_base_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPI_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_dyn_RCU_GPI_member_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_GPI_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_dyn_RCU_GPI_member_cmp_lazy )
             CPPUNIT_TEST(split_dyn_RCU_GPI_member_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPI_member_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_GPI_base_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_GPI_member_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_GPI_base_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_GPI_base_less_lazy)
             CPPUNIT_TEST(split_st_RCU_GPI_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_GPI_member_cmp_lazy)
+            CPPUNIT_TEST( split_st_RCU_GPI_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_GPI_member_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_GPI_member_less_lazy)
             CPPUNIT_TEST(split_st_RCU_GPI_member_cmpmix_lazy)
+            CPPUNIT_TEST( split_st_RCU_GPI_member_cmpmix_stat_lazy )
 
             CPPUNIT_TEST(split_dyn_RCU_GPB_base_cmp_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPB_base_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPB_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_dyn_RCU_GPB_member_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_GPB_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_dyn_RCU_GPB_member_cmp_lazy )
             CPPUNIT_TEST(split_dyn_RCU_GPB_member_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPB_member_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_GPB_base_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_GPB_member_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_GPB_base_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_GPB_base_less_lazy)
             CPPUNIT_TEST(split_st_RCU_GPB_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_GPB_member_cmp_lazy)
+            CPPUNIT_TEST( split_st_RCU_GPB_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_GPB_member_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_GPB_member_less_lazy)
             CPPUNIT_TEST(split_st_RCU_GPB_member_cmpmix_lazy)
+            CPPUNIT_TEST( split_st_RCU_GPB_member_cmpmix_stat_lazy )
 
             CPPUNIT_TEST(split_dyn_RCU_GPT_base_cmp_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPT_base_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPT_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_dyn_RCU_GPT_member_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_GPT_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_dyn_RCU_GPT_member_cmp_lazy )
             CPPUNIT_TEST(split_dyn_RCU_GPT_member_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_GPT_member_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_GPT_base_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_GPT_member_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_GPT_base_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_GPT_base_less_lazy)
             CPPUNIT_TEST(split_st_RCU_GPT_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_GPT_member_cmp_lazy)
+            CPPUNIT_TEST( split_st_RCU_GPT_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_GPT_member_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_GPT_member_less_lazy)
             CPPUNIT_TEST(split_st_RCU_GPT_member_cmpmix_lazy)
+            CPPUNIT_TEST( split_st_RCU_GPT_member_cmpmix_stat_lazy )
 
             CPPUNIT_TEST(split_dyn_RCU_SHB_base_cmp_lazy)
             CPPUNIT_TEST(split_dyn_RCU_SHB_base_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_SHB_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_dyn_RCU_SHB_member_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_SHB_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_dyn_RCU_SHB_member_cmp_lazy )
             CPPUNIT_TEST(split_dyn_RCU_SHB_member_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_SHB_member_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_SHB_base_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_SHB_member_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_SHB_base_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_SHB_base_less_lazy)
             CPPUNIT_TEST(split_st_RCU_SHB_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_SHB_member_cmp_lazy)
+            CPPUNIT_TEST( split_st_RCU_SHB_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_SHB_member_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_SHB_member_less_lazy)
             CPPUNIT_TEST(split_st_RCU_SHB_member_cmpmix_lazy)
+            CPPUNIT_TEST( split_st_RCU_SHB_member_cmpmix_stat_lazy )
 
             CPPUNIT_TEST(split_dyn_RCU_SHT_base_cmp_lazy)
             CPPUNIT_TEST(split_dyn_RCU_SHT_base_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_SHT_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_dyn_RCU_SHT_member_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_SHT_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_dyn_RCU_SHT_member_cmp_lazy )
             CPPUNIT_TEST(split_dyn_RCU_SHT_member_less_lazy)
             CPPUNIT_TEST(split_dyn_RCU_SHT_member_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_SHT_base_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_RCU_SHT_member_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_SHT_base_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_SHT_base_less_lazy)
             CPPUNIT_TEST(split_st_RCU_SHT_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_RCU_SHT_member_cmp_lazy)
+            CPPUNIT_TEST( split_st_RCU_SHT_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_RCU_SHT_member_cmp_lazy )
             CPPUNIT_TEST(split_st_RCU_SHT_member_less_lazy)
             CPPUNIT_TEST(split_st_RCU_SHT_member_cmpmix_lazy)
+            CPPUNIT_TEST( split_st_RCU_SHT_member_cmpmix_stat_lazy )
 
             CPPUNIT_TEST(split_dyn_nogc_base_cmp_lazy)
             CPPUNIT_TEST(split_dyn_nogc_base_less_lazy)
             CPPUNIT_TEST(split_dyn_nogc_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_dyn_nogc_member_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_nogc_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_dyn_nogc_member_cmp_lazy )
             CPPUNIT_TEST(split_dyn_nogc_member_less_lazy)
             CPPUNIT_TEST(split_dyn_nogc_member_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_nogc_base_cmp_lazy)
+            CPPUNIT_TEST( split_dyn_nogc_member_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_nogc_base_cmp_lazy )
             CPPUNIT_TEST(split_st_nogc_base_less_lazy)
             CPPUNIT_TEST(split_st_nogc_base_cmpmix_lazy)
-            CPPUNIT_TEST(split_st_nogc_member_cmp_lazy)
+            CPPUNIT_TEST( split_st_nogc_base_cmpmix_stat_lazy )
+            CPPUNIT_TEST( split_st_nogc_member_cmp_lazy )
             CPPUNIT_TEST(split_st_nogc_member_less_lazy)
             CPPUNIT_TEST(split_st_nogc_member_cmpmix_lazy)
-
+            CPPUNIT_TEST( split_st_nogc_member_cmpmix_stat_lazy )
         CPPUNIT_TEST_SUITE_END()
 
     };