Unit tests for set are only with C++11 std::set and std::unordered_set
[libcds.git] / tests / unit / set2 / std_set.h
index fa9a270d55b1a8b84a958dc40dea9b215cb110a8..096b121f9eeb5c042e5c6f0454d0e4e0e12d670c 100644 (file)
@@ -4,7 +4,6 @@
 #define __CDSUNIT_STD_SET_VC_H
 
 #include <set>
-#include <functional>   // ref
 #include <mutex>    //unique_lock
 
 namespace set2 {
@@ -14,7 +13,7 @@ namespace set2 {
     class StdSet: public std::set<Value, Less, Alloc>
     {
         Lock m_lock;
-        typedef std::unique_lock<Lock> AutoLock;
+        typedef std::unique_lock<Lock> scoped_lock;
         typedef std::set<Value, Less, Alloc> base_class;
     public:
         typedef typename base_class::key_type value_type;
@@ -26,20 +25,20 @@ namespace set2 {
         bool find( const Key& key )
         {
             value_type v( key );
-            AutoLock al( m_lock );
+            scoped_lock al( m_lock );
             return base_class::find( v ) != base_class::end();
         }
 
         bool insert( value_type const& v )
         {
-            AutoLock al( m_lock );
+            scoped_lock al( m_lock );
             return base_class::insert( v ).second;
         }
 
         template <typename Key, typename Func>
         bool insert( Key const& key, Func func )
         {
-            AutoLock al( m_lock );
+            scoped_lock al( m_lock );
             std::pair<typename base_class::iterator, bool> pRet = base_class::insert( value_type( key ));
             if ( pRet.second ) {
                 func( *pRet.first );
@@ -51,7 +50,7 @@ namespace set2 {
         template <typename T, typename Func>
         std::pair<bool, bool> ensure( const T& key, Func func )
         {
-            AutoLock al( m_lock );
+            scoped_lock al( m_lock );
             std::pair<typename base_class::iterator, bool> pRet = base_class::insert( value_type( key ));
             if ( pRet.second ) {
                 func( true, *pRet.first, key );
@@ -66,14 +65,14 @@ namespace set2 {
         template <typename Key>
         bool erase( const Key& key )
         {
-            AutoLock al( m_lock );
+            scoped_lock al( m_lock );
             return base_class::erase( value_type(key) ) != 0;
         }
 
         template <typename T, typename Func>
         bool erase( const T& key, Func func )
         {
-            AutoLock al( m_lock );
+            scoped_lock al( m_lock );
             typename base_class::iterator it = base_class::find( value_type(key) );
             if ( it != base_class::end() ) {
                 func( *it );