// 29.6.1, general operations on atomic types // In the following declarations, atomic_type is either //atomic<T>
or a named base class forT
from // Table 145 or inferred from // Table 146. // In the following declarations, atomic-type is either //atomic<T>
or a named base class forT
from // Table 145 or inferred from // Table 146. // If it isatomic<T>
, then the declaration is a template // declaration prefixed withtemplate <class T>
template <class T> bool atomic_is_lock_free(const volatile atomic_typeatomic-type*); template <class T> bool atomic_is_lock_free(const atomic_typeatomic-type*); template <class T> void atomic_init(volatile atomic_typeatomic-type*, T); template <class T> void atomic_init(atomic_typeatomic-type*, T); template <class T> void atomic_store(volatile atomic_typeatomic-type*, T); template <class T> void atomic_store(atomic_typeatomic-type*, T); template <class T> void atomic_store_explicit(volatile atomic_typeatomic-type*, T, memory_order); template <class T> void atomic_store_explicit(atomic_typeatomic-type*, T, memory_order); template <class T> T atomic_load(const volatile atomic_typeatomic-type*); template <class T> T atomic_load(const atomic_typeatomic-type*); template <class T> T atomic_load_explicit(const volatile atomic_typeatomic-type*, memory_order); template <class T> T atomic_load_explicit(const atomic_typeatomic-type*, memory_order); template <class T> T atomic_exchange(volatile atomic_typeatomic-type*, T); template <class T> T atomic_exchange(atomic_typeatomic-type*, T); template <class T> T atomic_exchange_explicit(volatile atomic_typeatomic-type*, T, memory_order); template <class T> T atomic_exchange_explicit(atomic_typeatomic-type*, T, memory_order); template <class T> bool atomic_compare_exchange_weak(volatile atomic_typeatomic-type*, T*, T); template <class T> bool atomic_compare_exchange_weak(atomic_typeatomic-type*, T*, T); template <class T> bool atomic_compare_exchange_strong(volatile atomic_typeatomic-type*, T*, T); template <class T> bool atomic_compare_exchange_strong(atomic_typeatomic-type*, T*, T); template <class T> bool atomic_compare_exchange_weak_explicit(volatile atomic_typeatomic-type*, T*, T, memory_order, memory_order); template <class T> bool atomic_compare_exchange_weak_explicit(atomic_typeatomic-type*, T*, T. memory_order, memory_order); template <class T> bool atomic_compare)exchange_strong_explicit(volatile atomic_typeatomic-type*, T*, T, memory_order, memory_order); template <class T> bool atomic_compare_exchange_strong_explicit(atomic_typeatomic-type*, T*, T, memory_order, memory_order); // 29.6.2, templated operations on atomic types // In the following declarations, atomic_type is either //atomic<T>
or a named base class forT
from // Table 145 or inferred from // Table 146. template <class T> T atomic_fetch_add(volatile atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_add(atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_add_explicit(volatile atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_add_explicit(atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_sub(volatile atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_sub(atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_sub_explicit(volatile atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_sub_explicit(atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_and(volatile atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_and(atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_and_explicit(volatile atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_and_explicit(atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_or(volatile atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_or(atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_or_explicit(volatile atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_or_explicit(atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_xor(volatile atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_xor(atomic-typeatomic<T>*, T); template <class T> T atomic_fetch_xor_explicit(volatile atomic-typeatomic<T>*, T, memory_order); template <class T> T atomic_fetch_xor_explicit(atomic-typeatomic<T>*, T, memory_order); // 29.6.3, arithmetic operations on atomic types // In the following declarations, atomic-integral is either //atomic<T>
or a named base class forT
from // Table 145 or inferred from // Table 146. // If it isatomic<T>
, // then the declaration is a template specialization declaration prefixed with //template <>
template <> integral atomic_fetch_add(volatile atomic-integral*, integral); template <> integral atomic_fetch_add(atomic-integral*, integral); template <> integral atomic_fetch_add_explicit(volatile atomic-integral*, integral, memory_order); template <> integral atomic_fetch_add_explicit(atomic-integral*, integral, memory_order); template <> integral atomic_fetch_sub(volatile atomic-integral*, integral); template <> integral atomic_fetch_sub(atomic-integral*, integral); template <> integral atomic_fetch_sub_explicit(volatile atomic-integral*, integral, memory_order); template <> integral atomic_fetch_sub_explicit(atomic-integral*, integral, memory_order); template <> integral atomic_fetch_and(volatile atomic-integral*, integral); template <> integral atomic_fetch_and(atomic-integral*, integral); template <> integral atomic_fetch_and_explicit(volatile atomic-integral*, integral, memory_order); template <> integral atomic_fetch_and_explicit(atomic-integral*, integral, memory_order); template <> integral atomic_fetch_or(volatile atomic-integral*, integral); template <> integral atomic_fetch_or(atomic-integral*, integral); template <> integral atomic_fetch_or_explicit(atomic-integral*, integral, memory_order); template <> integral atomic_fetch_or_explicit(atomic-integral*, integral, memory_order); template <> integral atomic_fetch_xor(volatile atomic-integral*, integral); template <> integral atomic_fetch_xor(atomic-integral*, integral); template <> integral atomic_fetch_xor_explicit(volatile atomic-integral*, integral, memory_order); template <> integral atomic_fetch_xor_explicit(atomic-integral*, integral, memory_order);
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4