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 fabf376..c602606 100644 (file)
@@ -75,8 +75,8 @@ namespace map {
 
         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;
@@ -92,7 +92,7 @@ namespace map {
         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;
index 5989ba4..a877830 100644 (file)
@@ -107,6 +107,8 @@ namespace set {
                 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);
index 54e265c..c4481cf 100644 (file)
@@ -164,10 +164,11 @@ namespace set {
             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 );
-            return base_class::insert( v ).second;
+            return base_class::insert( value_type( k )).second;
         }
 
         template <typename Key, typename Func>