Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Base class that provides basic functionality for atomic<T> without fetch_and_add. More...
#include <atomic.h>
Classes | |
union | converter |
Union type used to convert type T to underlying integral type. More... | |
union | ptr_converter |
union | ptr_converter< value_t * > |
Public Types | |
typedef T | value_type |
Public Member Functions | |
atomic_impl ()=default | |
constexpr | atomic_impl (value_type value) |
template<memory_semantics M> | |
value_type | fetch_and_store (value_type value) |
value_type | fetch_and_store (value_type value) |
template<memory_semantics M> | |
value_type | compare_and_swap (value_type value, value_type comparand) |
value_type | compare_and_swap (value_type value, value_type comparand) |
operator value_type () const volatile | |
template<memory_semantics M> | |
value_type | load () const |
value_type | load () const |
template<memory_semantics M> | |
void | store (value_type value) |
void | store (value_type value) |
Protected Member Functions | |
value_type | store_with_release (value_type rhs) |
Protected Attributes | |
aligned_storage< T, sizeof(T)> | my_storage |
Static Private Member Functions | |
template<typename value_t > | |
static converter< value_t >::bits_type | to_bits (value_t value) |
template<typename value_t > | |
static value_t | to_value (typename converter< value_t >::bits_type bits) |
template<typename value_t > | |
static converter< value_t >::bits_type & | to_bits_ref (value_t &value) |
Base class that provides basic functionality for atomic<T> without fetch_and_add.
Works for any type T that has the same size as an integral type, has a trivial constructor/destructor, and can be copied/compared by memcpy/memcmp.
typedef T tbb::internal::atomic_impl< T >::value_type |
|
default |
|
inline |
Definition at line 285 of file atomic.h.
|
inline |
Definition at line 299 of file atomic.h.
Referenced by tbb::internal::atomic_impl< I >::compare_and_swap().
|
inline |
Definition at line 305 of file atomic.h.
|
inline |
Definition at line 288 of file atomic.h.
Referenced by tbb::internal::atomic_impl< I >::fetch_and_store().
|
inline |
Definition at line 294 of file atomic.h.
|
inline |
Definition at line 316 of file atomic.h.
|
inline |
|
inline |
Definition at line 309 of file atomic.h.
|
inline |
Definition at line 327 of file atomic.h.
|
inline |
Definition at line 331 of file atomic.h.
|
inlineprotected |
Definition at line 336 of file atomic.h.
|
inlinestaticprivate |
Definition at line 246 of file atomic.h.
Referenced by tbb::internal::atomic_impl< I >::compare_and_swap(), tbb::internal::atomic_impl< I >::fetch_and_store(), tbb::internal::atomic_impl< I >::store(), and tbb::internal::atomic_impl< I >::store_with_release().
|
inlinestaticprivate |
Definition at line 269 of file atomic.h.
Referenced by tbb::internal::atomic_impl< I >::load(), tbb::internal::atomic_impl< I >::operator value_type(), tbb::internal::atomic_impl< I >::store(), and tbb::internal::atomic_impl< I >::store_with_release().
|
inlinestaticprivate |
|
protected |
Definition at line 232 of file atomic.h.
Referenced by tbb::internal::atomic_impl< I >::compare_and_swap(), tbb::internal::atomic_impl< I >::fetch_and_store(), tbb::internal::atomic_impl< I >::load(), tbb::internal::atomic_impl< I >::operator value_type(), tbb::internal::atomic_impl< I >::store(), and tbb::internal::atomic_impl< I >::store_with_release().