Added support for MS VC++ 2015
[libcds.git] / tests / test-hdr / set / hdr_intrusive_striped_set.h
index 36243a6580fe2a947331e3c2644e85bddb7775f0..a67f99cdc3a743e25e8bb5e4ca4534791a52f15c 100644 (file)
@@ -23,8 +23,8 @@ namespace set {
             unsigned int nFindCount     ;   // count of find-functor calling
             unsigned int nFindArgCount;
             unsigned int nInsertCount;
-            unsigned int nEnsureNewCount;
-            unsigned int nEnsureCount;
+            unsigned int nUpdateNewCount;
+            unsigned int nUpdateCount;
             unsigned int nEraseCount;
 
             stat()
@@ -196,16 +196,16 @@ namespace set {
             }
         };
 
-        struct ensure_functor {
+        struct update_functor {
             template <typename Item>
             void operator()( bool bNew, Item& e, Item& arg )
             {
                 if ( bNew ) {
-                    ++e.nEnsureNewCount;
+                    ++e.nUpdateNewCount;
                     CPPUNIT_ASSERT_CURRENT( &e == &arg );
                 }
                 else
-                    ++e.nEnsureCount;
+                    ++e.nUpdateCount;
             }
         };
 
@@ -286,15 +286,15 @@ namespace set {
             CPPUNIT_ASSERT( s.empty() );
             CPPUNIT_ASSERT( s.size() == 0 );
 
-            CPPUNIT_ASSERT( !s.find(k1));
-            CPPUNIT_ASSERT( !s.find(k2));
-            CPPUNIT_ASSERT( !s.find(k3));
+            CPPUNIT_ASSERT( !s.contains(k1));
+            CPPUNIT_ASSERT( !s.contains(k2));
+            CPPUNIT_ASSERT( !s.contains(k3));
 
             CPPUNIT_ASSERT( s.insert(e1));
-            CPPUNIT_ASSERT( s.find(e1));
-            CPPUNIT_ASSERT( s.find(k1));
-            CPPUNIT_ASSERT( !s.find(e2));
-            CPPUNIT_ASSERT( !s.find(e3));
+            CPPUNIT_ASSERT( s.contains(e1));
+            CPPUNIT_ASSERT( s.contains(k1));
+            CPPUNIT_ASSERT( !s.contains(e2));
+            CPPUNIT_ASSERT( !s.contains(e3));
 
             CPPUNIT_ASSERT( e2.nInsertCount == 0 );
             CPPUNIT_ASSERT( s.insert(e2, insert_functor() ));
@@ -320,11 +320,14 @@ namespace set {
 
             s1 = e1 ; s2 = e2 ; s3 = e3;
 
-            CPPUNIT_ASSERT( e3.nEnsureNewCount == 0 );
-            CPPUNIT_ASSERT( e3.nEnsureCount == 0 );
-            CPPUNIT_ASSERT( s.ensure( e3, ensure_functor() ) == std::make_pair(true, true));
-            CPPUNIT_ASSERT( e3.nEnsureNewCount == 1 );
-            CPPUNIT_ASSERT( e3.nEnsureCount == 0 );
+            CPPUNIT_ASSERT( e3.nUpdateNewCount == 0 );
+            CPPUNIT_ASSERT( e3.nUpdateCount == 0 );
+            CPPUNIT_ASSERT(s.update(e3, update_functor(), false) == std::make_pair(false, false));
+            CPPUNIT_ASSERT(e3.nUpdateNewCount == 0);
+            CPPUNIT_ASSERT(e3.nUpdateCount == 0);
+            CPPUNIT_ASSERT( s.update( e3, update_functor() ) == std::make_pair(true, true));
+            CPPUNIT_ASSERT( e3.nUpdateNewCount == 1 );
+            CPPUNIT_ASSERT( e3.nUpdateCount == 0 );
             CPPUNIT_ASSERT( s.find_with(find_key(k1), less2(), find_functor() ));
             CPPUNIT_ASSERT( e1.nFindCount == s1.nFindCount + 1 );
             CPPUNIT_ASSERT( e1.nFindArgCount == s1.nFindArgCount );
@@ -334,10 +337,10 @@ namespace set {
             CPPUNIT_ASSERT( s.find_with(k2, less2(), find_functor() ));
             CPPUNIT_ASSERT( e2.nFindCount == s2.nFindCount + 1 );
             CPPUNIT_ASSERT( e2.nFindArgCount == s2.nFindArgCount );
-            CPPUNIT_ASSERT( s.find_with(find_key(k2), less2() ));
+            CPPUNIT_ASSERT( s.contains(find_key(k2), less2() ));
             CPPUNIT_ASSERT( e2.nFindCount == s2.nFindCount + 1 )        ;   // unchanged, no find_functor
             CPPUNIT_ASSERT( e2.nFindArgCount == s2.nFindArgCount );
-            CPPUNIT_ASSERT( s.find_with(k3, less2() ));
+            CPPUNIT_ASSERT( s.contains(k3, less2() ));
             CPPUNIT_ASSERT( e3.nFindCount == s3.nFindCount )            ;   // unchanged, no find_functor
             CPPUNIT_ASSERT( e3.nFindArgCount == s3.nFindArgCount );
             CPPUNIT_ASSERT( s.find_with(find_key(k3), less2(), find_functor() ));
@@ -353,10 +356,10 @@ namespace set {
                 CPPUNIT_ASSERT( !s.insert( eu, insert_functor() ));
                 CPPUNIT_ASSERT( e2.nInsertCount == s2.nInsertCount );
 
-                CPPUNIT_ASSERT( s.ensure( eu, ensure_functor()) == std::make_pair(true, false));
+                CPPUNIT_ASSERT( s.update( eu, update_functor()) == std::make_pair(true, false));
                 CPPUNIT_ASSERT( e2.nInsertCount == s2.nInsertCount );
-                CPPUNIT_ASSERT( e2.nEnsureCount == s2.nEnsureCount + 1 );
-                CPPUNIT_ASSERT( e2.nEnsureNewCount == s2.nEnsureNewCount  );
+                CPPUNIT_ASSERT( e2.nUpdateCount == s2.nUpdateCount + 1 );
+                CPPUNIT_ASSERT( e2.nUpdateNewCount == s2.nUpdateNewCount  );
             }
 
             s1 = e1 ; s2 = e2 ; s3 = e3;
@@ -423,14 +426,14 @@ namespace set {
                 CPPUNIT_ASSERT_EX( s.insert( *p, insert_functor() ), "i=" << i );
                 CPPUNIT_ASSERT_EX( p->nInsertCount == 1, "i=" << i );
                 //for ( size_t j = 0; j <= i; ++j ) {
-                //    if ( !s.find((int) j) ) {
+                //    if ( !s.contains((int) j) ) {
                 //        CPPUNIT_MSG( "Key " << j << " is not found after inserting key " << i );
                 //    }
                 //}
             }
 
             for ( size_t i = 0; i < nSize; ++i )
-                CPPUNIT_ASSERT_EX( s.find((int) i), "Key " << i << " is not found" );
+                CPPUNIT_ASSERT_EX( s.contains((int) i), "Key " << i << " is not found" );
 
             CPPUNIT_ASSERT( !s.empty() );
             CPPUNIT_ASSERT( s.size() == nSize );