Remove CDS_EMPLACE_SUPPORT macro and unused code
[libcds.git] / cds / container / michael_list_nogc.h
index 41a023b069819001cbba1636d0a511d819c176df..512d61737a997a62ba10caf01fcaeccf58efb3f8 100644 (file)
@@ -106,13 +106,11 @@ namespace cds { namespace container {
             return cxx_allocator().New( v );
         }
 
-#   ifdef CDS_EMPLACE_SUPPORT
         template <typename... Args>
         static node_type * alloc_node( Args&&... args )
         {
             return cxx_allocator().MoveNew( std::forward<Args>(args)... );
         }
-#   endif
 
         static void free_node( node_type * pNode )
         {
@@ -323,20 +321,15 @@ namespace cds { namespace container {
             return std::make_pair( node_to_iterator( ret.first ), ret.second );
         }
 
-#   ifdef CDS_EMPLACE_SUPPORT
         /// Inserts data of type \ref value_type constructed with <tt>std::forward<Args>(args)...</tt>
         /**
             Return an iterator pointing to inserted item if success \ref end() otherwise
-
-            This function is available only for compiler that supports
-            variadic template and move semantics
         */
         template <typename... Args>
         iterator emplace( Args&&... args )
         {
             return node_to_iterator( emplace_at( head(), std::forward<Args>(args)... ));
         }
-#   endif
 
         /// Find the key \p val
         /** \anchor cds_nonintrusive_MichaelList_nogc_find_val
@@ -429,13 +422,11 @@ namespace cds { namespace container {
             return std::make_pair( pItemFound, ret.second );
         }
 
-#   ifdef CDS_EMPLACE_SUPPORT
         template <typename... Args>
         node_type * emplace_at( head_type& refHead, Args&&... args )
         {
             return insert_node_at( refHead, alloc_node( std::forward<Args>(args)...));
         }
-#   endif
 
         template <typename Q, typename Compare>
         node_type * find_at( head_type& refHead, Q const& key, Compare cmp )