#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) |
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)); \ } \ \
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; \ } \