1 #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED
2 #define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED
6 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
30 pw->fetch_add( 1, std::memory_order_relaxed );
35 return pw->fetch_sub( 1, std::memory_order_acq_rel );
44 std::int_least32_t r = pw->load( std::memory_order_relaxed );
53 if( pw->compare_exchange_weak( r, r + 1, std::memory_order_relaxed, std::memory_order_relaxed ) )
129 return use_count_.load( std::memory_order_acquire );
137 #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED