/*
This file is a part of libcds - Concurrent Data Structures library
- (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+ (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
Source code repo: http://github.com/khizmax/libcds/
Download: http://sourceforge.net/projects/libcds/files/
marked_ptr& operator &=( int nBits ) CDS_NOEXCEPT
{
assert( (nBits & pointer_bitmask) == 0 );
- m_ptr = to_ptr( to_int() & (pointer_bitmask | nBits) );
+ m_ptr = to_ptr( to_int() & (pointer_bitmask | nBits));
return *this;
}
{}
CDS_CONSTEXPR explicit atomic(marked_ptr val) CDS_NOEXCEPT
- : m_atomic( val.all() )
+ : m_atomic( val.all())
{}
CDS_CONSTEXPR explicit atomic(T * p) CDS_NOEXCEPT
: m_atomic( p )
atomic(const atomic&) = delete;
atomic& operator=(const atomic&) = delete;
-#if !(CDS_COMPILER == CDS_COMPILER_MSVC && CDS_COMPILER_VERSION <= CDS_COMPILER_MSVC14)
- // MSVC12, MSVC14: warning C4522: multiple assignment operators specified
+#if !(CDS_COMPILER == CDS_COMPILER_MSVC && CDS_COMPILER_VERSION <= CDS_COMPILER_MSVC14_1)
+ // MSVC12, MSVC14, MSVC14.1: warning C4522: multiple assignment operators specified
atomic& operator=(const atomic&) volatile = delete;
marked_ptr operator=(marked_ptr val) volatile CDS_NOEXCEPT
{