base.hpp File Reference
#include <string.h>
#include <boost/memory_order.hpp>
#include <boost/smart_ptr/detail/spinlock_pool.hpp>
Go to the source code of this file.
Classes |
class | boost::detail::atomic::base_atomic< T, C, Size, Sign > |
class | boost::detail::atomic::base_atomic< T *, void *, Size, Sign > |
class | boost::detail::atomic::base_atomic< T, int, Size, Sign > |
class | boost::detail::atomic::base_atomic< void *, void *, Size, Sign > |
Namespaces |
namespace | boost |
namespace | boost::detail |
namespace | boost::detail::atomic |
Defines |
#define | BOOST_ATOMIC_DECLARE_ADDITIVE_OPERATORS |
#define | BOOST_ATOMIC_DECLARE_BASE_OPERATORS |
#define | BOOST_ATOMIC_DECLARE_BIT_OPERATORS |
#define | BOOST_ATOMIC_DECLARE_INTEGRAL_OPERATORS |
#define | BOOST_ATOMIC_DECLARE_POINTER_OPERATORS |
Functions |
static memory_order | boost::detail::atomic::calculate_failure_order (memory_order order) |
Define Documentation
#define BOOST_ATOMIC_DECLARE_ADDITIVE_OPERATORS |
#define BOOST_ATOMIC_DECLARE_BASE_OPERATORS |
Value:operator value_type(void) volatile const \
{ \
return load(memory_order_seq_cst); \
} \
\
this_type & \
operator=(value_type v) volatile \
{ \
store(v, memory_order_seq_cst); \
return *const_cast<this_type *>(this); \
} \
\
bool \
compare_exchange_strong( \
value_type & expected, \
value_type desired, \
memory_order order = memory_order_seq_cst) volatile \
{ \
return compare_exchange_strong(expected, desired, order, calculate_failure_order(order)); \
} \
\
bool \
compare_exchange_weak( \
value_type & expected, \
value_type desired, \
memory_order order = memory_order_seq_cst) volatile \
{ \
return compare_exchange_weak(expected, desired, order, calculate_failure_order(order)); \
} \
\
Definition at line 19 of file base.hpp.
#define BOOST_ATOMIC_DECLARE_BIT_OPERATORS |
Value:value_type \
operator&=(difference_type v) volatile \
{ \
return fetch_and(v) & v; \
} \
\
value_type \
operator|=(difference_type v) volatile \
{ \
return fetch_or(v) | v; \
} \
\
value_type \
operator^=(difference_type v) volatile \
{ \
return fetch_xor(v) ^ v; \
} \
Definition at line 88 of file base.hpp.
#define BOOST_ATOMIC_DECLARE_INTEGRAL_OPERATORS |
#define BOOST_ATOMIC_DECLARE_POINTER_OPERATORS |