|
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 |
|
inlineconstexpr |
Definition at line 285 of file atomic.h.
|
inline |
Definition at line 299 of file atomic.h.
References tbb::internal::atomic_impl< T >::my_storage, tbb::internal::atomic_impl< T >::to_bits(), and value.
|
inline |
|
inline |
Definition at line 288 of file atomic.h.
References tbb::internal::atomic_impl< T >::my_storage, tbb::internal::atomic_impl< T >::to_bits(), and value.
|
inline |
|
inline |
Definition at line 316 of file atomic.h.
References tbb::internal::atomic_impl< T >::my_storage, and tbb::internal::atomic_impl< T >::to_bits_ref().
|
inline |
|
inline |
Definition at line 309 of file atomic.h.
References tbb::internal::__TBB_load_with_acquire(), tbb::internal::atomic_impl< T >::my_storage, and tbb::internal::atomic_impl< T >::to_bits_ref().
|
inline |
Definition at line 327 of file atomic.h.
References tbb::internal::atomic_impl< T >::my_storage, tbb::store(), tbb::internal::atomic_impl< T >::to_bits(), tbb::internal::atomic_impl< T >::to_bits_ref(), and value.
|
inline |
|
inlineprotected |
Definition at line 336 of file atomic.h.
References tbb::internal::__TBB_store_with_release(), tbb::internal::atomic_impl< T >::my_storage, tbb::internal::atomic_impl< T >::to_bits(), and tbb::internal::atomic_impl< T >::to_bits_ref().
|
inlinestaticprivate |
Definition at line 246 of file atomic.h.
References tbb::internal::atomic_impl< T >::converter< value_type >::bits, and value.
Referenced by tbb::internal::atomic_impl< T >::compare_and_swap(), tbb::internal::atomic_impl< T >::fetch_and_store(), tbb::internal::atomic_impl< T >::store(), and tbb::internal::atomic_impl< T >::store_with_release().
|
inlinestaticprivate |
Definition at line 269 of file atomic.h.
References tbb::internal::atomic_impl< T >::ptr_converter< value_t * >::bits, and value.
Referenced by tbb::internal::atomic_impl< T >::load(), tbb::internal::atomic_impl< T >::operator value_type(), tbb::internal::atomic_impl< T >::store(), and tbb::internal::atomic_impl< T >::store_with_release().
|
inlinestaticprivate |
Definition at line 250 of file atomic.h.
References tbb::internal::atomic_impl< T >::converter< value_type >::bits, and tbb::internal::atomic_impl< T >::converter< value_type >::value.
|
protected |
Definition at line 232 of file atomic.h.
Referenced by tbb::internal::atomic_impl< T >::compare_and_swap(), tbb::internal::atomic_impl< T >::fetch_and_store(), tbb::internal::atomic_impl< T >::load(), tbb::internal::atomic_impl< T >::operator value_type(), tbb::internal::atomic_impl< T >::store(), and tbb::internal::atomic_impl< T >::store_with_release().