Added stress-set-iter-erase test for testing erase_at() - erasing by iterator
[libcds.git] / test / stress / set / set_type_feldman_hashset.h
index 40747d3d2b497eeaa55e6ae49c0a7297bc4907d3..c88b4c0b67828387fb8a9fdba73fef4df915a223 100644 (file)
@@ -47,7 +47,7 @@ namespace set {
     {
         typedef cc::FeldmanHashSet< GC, T, Traits > base_class;
 
-        template <typename G>
+        template <typename GC>
         struct get_extracted_ptr
         {
             typedef typename base_class::guarded_ptr extracted_ptr;
@@ -97,6 +97,34 @@ namespace set {
             return base_class::contains( hasher()(key));
         }
 
+        template <typename Iterator>
+        typename std::enable_if< std::is_same< Iterator, typename base_class::iterator>::value, Iterator>::type
+        get_begin()
+        {
+            return base_class::begin();
+        }
+
+        template <typename Iterator>
+        typename std::enable_if< std::is_same< Iterator, typename base_class::iterator>::value, Iterator>::type
+        get_end()
+        {
+            return base_class::end();
+        }
+
+        template <typename Iterator>
+        typename std::enable_if< std::is_same< Iterator, typename base_class::reverse_iterator>::value, Iterator>::type
+        get_begin()
+        {
+            return base_class::rbegin();
+        }
+
+        template <typename Iterator>
+        typename std::enable_if< std::is_same< Iterator, typename base_class::reverse_iterator>::value, Iterator>::type
+        get_end()
+        {
+            return base_class::rend();
+        }
+
         // for testing
         static CDS_CONSTEXPR bool const c_bExtractSupported = true;
         static CDS_CONSTEXPR bool const c_bLoadFactorDepended = false;