Fixed explicit ctor bugs in stress tests
authorkhizmax <khizmax@gmail.com>
Mon, 14 Nov 2016 13:50:45 +0000 (16:50 +0300)
committerkhizmax <khizmax@gmail.com>
Mon, 14 Nov 2016 13:50:45 +0000 (16:50 +0300)
test/stress/map/map_type_feldman_hashmap.h
test/stress/set/insdel_find/set_insdelfind.h
test/stress/set/set_type_std.h

index fabf3769acd8c06832ee813b944ece49a344483b..c6026064fbf6107a9d5041cb420ec703e6d0d75b 100644 (file)
@@ -75,8 +75,8 @@ namespace map {
 
         struct traits_FeldmanHashMap_stdhash : public cc::feldman_hashmap::traits
         {
 
         struct traits_FeldmanHashMap_stdhash : public cc::feldman_hashmap::traits
         {
-            typedef std::hash< Key > hash;
-            typedef map::cmp<Key>    compare;
+            typedef std::hash< Key >    hash;
+            typedef std::less<size_t>   less;
         };
 
         typedef FeldmanHashMap< cds::gc::HP,  Key, Value, traits_FeldmanHashMap_stdhash >    FeldmanHashMap_hp_stdhash;
         };
 
         typedef FeldmanHashMap< cds::gc::HP,  Key, Value, traits_FeldmanHashMap_stdhash >    FeldmanHashMap_hp_stdhash;
@@ -92,7 +92,7 @@ namespace map {
         struct traits_FeldmanHashMap_stdhash_stat: traits_FeldmanHashMap_stdhash
         {
             typedef cc::feldman_hashmap::stat<> stat;
         struct traits_FeldmanHashMap_stdhash_stat: traits_FeldmanHashMap_stdhash
         {
             typedef cc::feldman_hashmap::stat<> stat;
-            typedef map::less<Key> less;
+            typedef std::less<size_t>   less;
         };
 
         typedef FeldmanHashMap< cds::gc::HP,  Key, Value, traits_FeldmanHashMap_stdhash_stat >    FeldmanHashMap_hp_stdhash_stat;
         };
 
         typedef FeldmanHashMap< cds::gc::HP,  Key, Value, traits_FeldmanHashMap_stdhash_stat >    FeldmanHashMap_hp_stdhash_stat;
index 5989ba499f5fd4abe2e2dae0dd449032e263da80..a8778307dcd21bfc01079e4f4ea13be67fd6c7b6 100644 (file)
@@ -107,6 +107,8 @@ namespace set {
                 unsigned int i = 0;
                 size_t const nNormalize = size_t(-1) / ( fixture.s_nSetSize * 2);
 
                 unsigned int i = 0;
                 size_t const nNormalize = size_t(-1) / ( fixture.s_nSetSize * 2);
 
+                typedef typename Set::value_type value_type;
+
                 size_t nRand = 0;
                 while ( !time_elapsed()) {
                     nRand = cds::bitop::RandXorShift(nRand);
                 size_t nRand = 0;
                 while ( !time_elapsed()) {
                     nRand = cds::bitop::RandXorShift(nRand);
index 54e265c96a0f1ed615fcfa3f60ea772093155baa..c4481cf42b789ee9aa406eb4ee84e59cc9f3e417 100644 (file)
@@ -164,10 +164,11 @@ namespace set {
             return base_class::find( v ) != base_class::end();
         }
 
             return base_class::find( v ) != base_class::end();
         }
 
-        bool insert( value_type const& v )
+        template <typename Key>
+        bool insert( Key const& k )
         {
             scoped_lock al( m_lock );
         {
             scoped_lock al( m_lock );
-            return base_class::insert( v ).second;
+            return base_class::insert( value_type( k )).second;
         }
 
         template <typename Key, typename Func>
         }
 
         template <typename Key, typename Func>