29#ifndef _GLIBCXX_STDATOMIC_H
30#define _GLIBCXX_STDATOMIC_H
32#if __cplusplus > 202002L
35#define __cpp_lib_stdatomic_h 202011L
37#define _Atomic(_Tp) std::atomic<_Tp>
40using std::memory_order_relaxed;
41using std::memory_order_consume;
42using std::memory_order_acquire;
43using std::memory_order_release;
44using std::memory_order_acq_rel;
45using std::memory_order_seq_cst;
59#ifdef _GLIBCXX_USE_CHAR8_T
60using std::atomic_char8_t;
65#ifdef _GLIBCXX_USE_C99_STDINT_TR1
95#ifdef _GLIBCXX_USE_C99_STDINT_TR1
99using std::atomic_is_lock_free;
100using std::atomic_load;
101using std::atomic_load_explicit;
102using std::atomic_store;
103using std::atomic_store_explicit;
104using std::atomic_exchange;
105using std::atomic_exchange_explicit;
106using std::atomic_compare_exchange_strong;
107using std::atomic_compare_exchange_strong_explicit;
108using std::atomic_compare_exchange_weak;
109using std::atomic_compare_exchange_weak_explicit;
110using std::atomic_fetch_add;
111using std::atomic_fetch_add_explicit;
112using std::atomic_fetch_sub;
113using std::atomic_fetch_sub_explicit;
114using std::atomic_fetch_or;
115using std::atomic_fetch_or_explicit;
116using std::atomic_fetch_xor;
117using std::atomic_fetch_xor_explicit;
118using std::atomic_fetch_and;
119using std::atomic_fetch_and_explicit;
120using std::atomic_flag_test_and_set;
121using std::atomic_flag_test_and_set_explicit;
122using std::atomic_flag_clear;
123using std::atomic_flag_clear_explicit;
124using std::atomic_thread_fence;
125using std::atomic_signal_fence;
127#elif defined __clang__
128# include_next <stdatomic.h>
memory_order
Enumeration for memory_order.
Generic atomic type, primary class template.
Explicit specialization for char.
Explicit specialization for signed char.
Explicit specialization for unsigned char.
Explicit specialization for short.
Explicit specialization for unsigned short.
Explicit specialization for int.
Explicit specialization for unsigned int.
Explicit specialization for long.
Explicit specialization for unsigned long.
Explicit specialization for long long.
Explicit specialization for unsigned long long.
Explicit specialization for wchar_t.
Explicit specialization for char16_t.
Explicit specialization for char32_t.