Remove CDS_CXX11_LAMBDA_SUPPORT macro and a lot of emulating code
[libcds.git] / cds / intrusive / striped_set / adapter.h
index f544731ffb18412954a8bf73f2e50b0e37ab4441..8d95114bbd1ef32f8826764fe0a264979206bec0 100644 (file)
@@ -171,7 +171,7 @@ namespace cds { namespace intrusive {
             <hr>
 
         */
-        template < typename Container, CDS_DECL_OPTIONS >
+        template < typename Container, typename... Options >
         class adapt
         {
         public:
@@ -206,13 +206,6 @@ namespace cds { namespace intrusive {
                 typedef typename container_type::value_compare  key_comparator;
 
             private:
-#       ifndef CDS_CXX11_LAMBDA_SUPPORT
-                struct empty_insert_functor {
-                    void operator()( value_type& )
-                    {}
-                };
-#       endif
-
                 container_type  m_Set;
 
             public:
@@ -315,11 +308,7 @@ namespace cds { namespace intrusive {
                 {
                     value_type& val = *itWhat;
                     from.base_container().erase( itWhat );
-#           ifdef CDS_CXX11_LAMBDA_SUPPORT
                     insert( val, []( value_type& ) {} );
-#           else
-                    insert( val, empty_insert_functor() );
-#           endif
                 }
             };
         }   // namespace details
@@ -328,44 +317,4 @@ namespace cds { namespace intrusive {
     } // namespace striped_set
 }} // namespace cds::intrusive
 
-//@cond
-#if defined(CDS_CXX11_VARIADIC_TEMPLATE_SUPPORT) && defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS3    typename... BIOptions
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS4    typename... BIOptions
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS5    typename... BIOptions
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS6    typename... BIOptions
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS7    typename... BIOptions
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS8    typename... BIOptions
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS9    typename... BIOptions
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS10    typename... BIOptions
-
-#   define CDS_BOOST_INTRUSIVE_OPTIONS3    BIOptions...
-#   define CDS_BOOST_INTRUSIVE_OPTIONS4    BIOptions...
-#   define CDS_BOOST_INTRUSIVE_OPTIONS5    BIOptions...
-#   define CDS_BOOST_INTRUSIVE_OPTIONS6    BIOptions...
-#   define CDS_BOOST_INTRUSIVE_OPTIONS7    BIOptions...
-#   define CDS_BOOST_INTRUSIVE_OPTIONS8    BIOptions...
-#   define CDS_BOOST_INTRUSIVE_OPTIONS9    BIOptions...
-#   define CDS_BOOST_INTRUSIVE_OPTIONS10    BIOptions...
-#else
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS3    typename BIO1, typename BIO2, typename BIO3
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS4    CDS_BOOST_INTRUSIVE_DECL_OPTIONS3, typename BIO4
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS5    CDS_BOOST_INTRUSIVE_DECL_OPTIONS4, typename BIO5
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS6    CDS_BOOST_INTRUSIVE_DECL_OPTIONS5, typename BIO6
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS7    CDS_BOOST_INTRUSIVE_DECL_OPTIONS6, typename BIO7
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS8    CDS_BOOST_INTRUSIVE_DECL_OPTIONS7, typename BIO8
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS9    CDS_BOOST_INTRUSIVE_DECL_OPTIONS8, typename BIO9
-#   define CDS_BOOST_INTRUSIVE_DECL_OPTIONS10   CDS_BOOST_INTRUSIVE_DECL_OPTIONS9, typename BIO10
-
-#   define CDS_BOOST_INTRUSIVE_OPTIONS3    BIO1,BIO2,BIO3
-#   define CDS_BOOST_INTRUSIVE_OPTIONS4    CDS_BOOST_INTRUSIVE_OPTIONS3, BIO4
-#   define CDS_BOOST_INTRUSIVE_OPTIONS5    CDS_BOOST_INTRUSIVE_OPTIONS4, BIO5
-#   define CDS_BOOST_INTRUSIVE_OPTIONS6    CDS_BOOST_INTRUSIVE_OPTIONS5, BIO6
-#   define CDS_BOOST_INTRUSIVE_OPTIONS7    CDS_BOOST_INTRUSIVE_OPTIONS6, BIO7
-#   define CDS_BOOST_INTRUSIVE_OPTIONS8    CDS_BOOST_INTRUSIVE_OPTIONS7, BIO8
-#   define CDS_BOOST_INTRUSIVE_OPTIONS9    CDS_BOOST_INTRUSIVE_OPTIONS8, BIO9
-#   define CDS_BOOST_INTRUSIVE_OPTIONS10   CDS_BOOST_INTRUSIVE_OPTIONS9, BIO10
-#endif
-//@endcond
-
 #endif // #ifndef __CDS_INTRUSIVE_STRIPED_SET_ADAPTER_H