IterableList: fixed a complex bug that can be called "ABA problem of null pointer"
[libcds.git] / cds / container / details / make_split_list_set_michael_list.h
index 73ff261431eb834989fdf0e676fc36488427f8e7..a16679e2dc510c1ca12c6493eeab951716fd8524 100644 (file)
@@ -52,8 +52,8 @@ namespace cds { namespace container { namespace details {
             value_type  m_Value;
 
             template <typename Q>
-            explicit node_type( Q const& v )
-                : m_Value(v)
+            explicit node_type( Q&& v )
+                : m_Value( std::forward<Q>( v ))
             {}
             template <typename Q, typename... Args>
             explicit node_type( Q&& q, Args&&... args )