Classes | Namespaces | Macros | Functions
base.hpp File Reference
#include <string.h>
#include <boost/memory_order.hpp>
#include <boost/smart_ptr/detail/spinlock_pool.hpp>
Include dependency graph for base.hpp:
This graph shows which files directly or indirectly include this file:

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

 boost
 
 boost::detail
 
 boost::detail::atomic
 

Macros

#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)
 

Macro Definition Documentation

◆ BOOST_ATOMIC_DECLARE_ADDITIVE_OPERATORS

#define BOOST_ATOMIC_DECLARE_ADDITIVE_OPERATORS

Definition at line 51 of file base.hpp.

◆ BOOST_ATOMIC_DECLARE_BASE_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.

◆ BOOST_ATOMIC_DECLARE_BIT_OPERATORS

#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.

◆ BOOST_ATOMIC_DECLARE_INTEGRAL_OPERATORS

#define BOOST_ATOMIC_DECLARE_INTEGRAL_OPERATORS
Value:
BOOST_ATOMIC_DECLARE_BASE_OPERATORS \
BOOST_ATOMIC_DECLARE_ADDITIVE_OPERATORS \
BOOST_ATOMIC_DECLARE_BIT_OPERATORS \

Definition at line 111 of file base.hpp.

◆ BOOST_ATOMIC_DECLARE_POINTER_OPERATORS

#define BOOST_ATOMIC_DECLARE_POINTER_OPERATORS
Value:
BOOST_ATOMIC_DECLARE_BASE_OPERATORS \
BOOST_ATOMIC_DECLARE_ADDITIVE_OPERATORS \

Definition at line 107 of file base.hpp.

boost::memory_order_seq_cst
@ memory_order_seq_cst
Definition: memory_order.hpp:47
boost::detail::atomic::calculate_failure_order
static memory_order calculate_failure_order(memory_order order)
Definition: base.hpp:121
boost::memory_order
memory_order
Definition: memory_order.hpp:41


rosatomic
Author(s): Josh Faust
autogenerated on Wed Mar 2 2022 00:54:12