#define __CDS_CONTAINER_MSQUEUE_H
#include <memory>
+#include <functional> // ref
#include <cds/intrusive/msqueue.h>
#include <cds/container/details/base.h>
-#include <cds/ref.h>
#include <cds/details/trivial_assign.h>
namespace cds { namespace container {
bool enqueue( Type const& data, Func f )
{
scoped_node_ptr p( alloc_node() );
- unref(f)( p->m_value, data );
+ f( p->m_value, data );
if ( base_class::enqueue( *p )) {
p.release();
return true;
{
typename base_class::dequeue_result res;
if ( base_class::do_dequeue( res )) {
- unref(f)( dest, node_traits::to_value_ptr( *res.pNext )->m_value );
+ f( dest, node_traits::to_value_ptr( *res.pNext )->m_value );
base_class::dispose_result( res );