Updated copyright
[libcds.git] / test / unit / striped-set / intrusive_cuckoo_set.cpp
index 05692fb86224280b90d2554b6dc93ee5de680b32..7bed730b22d19e67ede13b882198af9ee5f9488d 100644 (file)
@@ -1,11 +1,11 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #include "test_intrusive_set.h"
@@ -51,23 +51,22 @@ namespace {
 
             base_class::test_< Set::c_isSorted>( s, data );
 
-            typedef typename Set::value_type value_type;
             size_t const nSetSize = base_class::kSize;
 
             // clear
             for ( auto& i : data ) {
                 i.clear_stat();
-                ASSERT_TRUE( s.insert( i ) );
+                ASSERT_TRUE( s.insert( i ));
             }
-            ASSERT_FALSE( s.empty() );
+            ASSERT_FALSE( s.empty());
             ASSERT_CONTAINER_SIZE( s, nSetSize );
 
             s.clear();
 
-            ASSERT_TRUE( s.empty() );
+            ASSERT_TRUE( s.empty());
             ASSERT_CONTAINER_SIZE( s, 0 );
             for ( auto& i : data ) {
-                EXPECT_EQ( i.nDisposeCount, 1 );
+                EXPECT_EQ( i.nDisposeCount, 1u );
             }
 
         }
@@ -133,7 +132,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -155,7 +154,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 , ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -178,7 +177,7 @@ namespace {
                 ,ci::opt::less< less<item_type> >
                 , ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -201,7 +200,7 @@ namespace {
                 ,ci::opt::less< less<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -225,7 +224,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -249,7 +248,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -274,7 +273,7 @@ namespace {
                 ,ci::opt::stat< ci::cuckoo::stat >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -298,7 +297,7 @@ namespace {
                 ,ci::opt::stat< ci::cuckoo::stat >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -312,7 +311,7 @@ namespace {
         typedef base_class::base_int_item< ci::cuckoo::node< ci::cuckoo::list, 2 >> item_type;
         struct set_traits: public ci::cuckoo::traits
         {
-            typedef ci::cuckoo::base_hook< 
+            typedef ci::cuckoo::base_hook<
                 ci::cuckoo::probeset_type< item_type::probeset_type >
                 ,ci::cuckoo::store_hash< item_type::hash_array_size >
             > hook;
@@ -335,7 +334,7 @@ namespace {
         typedef base_class::base_int_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 >> item_type;
         struct set_traits: public ci::cuckoo::traits
         {
-            typedef ci::cuckoo::base_hook< 
+            typedef ci::cuckoo::base_hook<
                 ci::cuckoo::probeset_type< item_type::probeset_type >
                 ,ci::cuckoo::store_hash< item_type::hash_array_size >
             > hook;
@@ -368,7 +367,7 @@ namespace {
                 ,cds::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -393,7 +392,7 @@ namespace {
                 ,cds::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -430,7 +429,7 @@ namespace {
         typedef base_class::member_int_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 >> item_type;
         struct set_traits: public ci::cuckoo::traits
         {
-            
+
             typedef ci::cuckoo::member_hook< offsetof( item_type, hMember ), ci::cuckoo::probeset_type< item_type::member_type::probeset_type >> hook;
             typedef cds::opt::hash_tuple< hash1, hash2 > hash;
             typedef base_class::equal_to<item_type> equal_to;
@@ -458,7 +457,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -480,7 +479,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 , ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -503,7 +502,7 @@ namespace {
                 ,ci::opt::less< less<item_type> >
                 , ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -526,7 +525,7 @@ namespace {
                 ,ci::opt::less< less<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -550,7 +549,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -574,7 +573,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -599,7 +598,7 @@ namespace {
                 ,ci::opt::stat< ci::cuckoo::stat >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -623,7 +622,7 @@ namespace {
                 ,ci::opt::stat< ci::cuckoo::stat >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -693,7 +692,7 @@ namespace {
                 ,cds::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -718,7 +717,7 @@ namespace {
                 ,cds::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -784,7 +783,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -807,7 +806,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 , ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -831,7 +830,7 @@ namespace {
                 ,ci::opt::less< less<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -855,7 +854,7 @@ namespace {
                 ,ci::opt::less< less<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -880,7 +879,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -905,7 +904,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -931,7 +930,7 @@ namespace {
                 ,ci::opt::stat< ci::cuckoo::stat >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -956,7 +955,7 @@ namespace {
                 ,ci::opt::stat< ci::cuckoo::stat >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -970,7 +969,7 @@ namespace {
         typedef base_class::base_int_item< ci::cuckoo::node< ci::cuckoo::list, 2 >> item_type;
         struct set_traits: public ci::cuckoo::traits
         {
-            typedef ci::cuckoo::base_hook< 
+            typedef ci::cuckoo::base_hook<
                 ci::cuckoo::probeset_type< item_type::probeset_type >
                 ,ci::cuckoo::store_hash< item_type::hash_array_size >
             > hook;
@@ -994,7 +993,7 @@ namespace {
         typedef base_class::base_int_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 2 >> item_type;
         struct set_traits: public ci::cuckoo::traits
         {
-            typedef ci::cuckoo::base_hook< 
+            typedef ci::cuckoo::base_hook<
                 ci::cuckoo::probeset_type< item_type::probeset_type >
                 ,ci::cuckoo::store_hash< item_type::hash_array_size >
             > hook;
@@ -1029,7 +1028,7 @@ namespace {
                 ,cds::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1055,7 +1054,7 @@ namespace {
                 ,cds::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1093,7 +1092,7 @@ namespace {
         typedef base_class::member_int_item< ci::cuckoo::node< ci::cuckoo::vector<4>, 0 >> item_type;
         struct set_traits: public ci::cuckoo::traits
         {
-            
+
             typedef ci::cuckoo::member_hook< offsetof( item_type, hMember ), ci::cuckoo::probeset_type< item_type::member_type::probeset_type >> hook;
             typedef ci::cuckoo::refinable<> mutex_policy;
             typedef cds::opt::hash_tuple< hash1, hash2 > hash;
@@ -1123,7 +1122,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1146,7 +1145,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1170,7 +1169,7 @@ namespace {
                 ,ci::opt::less< less<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1194,7 +1193,7 @@ namespace {
                 ,ci::opt::less< less<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1219,7 +1218,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1244,7 +1243,7 @@ namespace {
                 ,ci::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1270,7 +1269,7 @@ namespace {
                 ,ci::opt::stat< ci::cuckoo::stat >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1295,7 +1294,7 @@ namespace {
                 ,ci::opt::stat< ci::cuckoo::stat >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1368,7 +1367,7 @@ namespace {
                 ,cds::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {
@@ -1394,7 +1393,7 @@ namespace {
                 ,cds::opt::compare< cmp<item_type> >
                 ,ci::opt::disposer< mock_disposer >
             >::type
-        > set_type; 
+        > set_type;
 
         std::vector< typename set_type::value_type > data;
         {