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>
40 using std::memory_order_relaxed;
41 using std::memory_order_consume;
42 using std::memory_order_acquire;
43 using std::memory_order_release;
44 using std::memory_order_acq_rel;
45 using std::memory_order_seq_cst;
59 #ifdef _GLIBCXX_USE_CHAR8_T
60 using std::atomic_char8_t;
65 #ifdef _GLIBCXX_USE_C99_STDINT_TR1
95 #ifdef _GLIBCXX_USE_C99_STDINT_TR1
99 using std::atomic_is_lock_free;
100 using std::atomic_load;
101 using std::atomic_load_explicit;
102 using std::atomic_store;
103 using std::atomic_store_explicit;
104 using std::atomic_exchange;
105 using std::atomic_exchange_explicit;
106 using std::atomic_compare_exchange_strong;
107 using std::atomic_compare_exchange_strong_explicit;
108 using std::atomic_compare_exchange_weak;
109 using std::atomic_compare_exchange_weak_explicit;
110 using std::atomic_fetch_add;
111 using std::atomic_fetch_add_explicit;
112 using std::atomic_fetch_sub;
113 using std::atomic_fetch_sub_explicit;
114 using std::atomic_fetch_or;
115 using std::atomic_fetch_or_explicit;
116 using std::atomic_fetch_xor;
117 using std::atomic_fetch_xor_explicit;
118 using std::atomic_fetch_and;
119 using std::atomic_fetch_and_explicit;
120 using std::atomic_flag_test_and_set;
121 using std::atomic_flag_test_and_set_explicit;
122 using std::atomic_flag_clear;
123 using std::atomic_flag_clear_explicit;
124 using std::atomic_thread_fence;
125 using std::atomic_signal_fence;
127 #elif defined __clang__
128 # include_next <stdatomic.h>
atomic< unsigned long > atomic_ulong
atomic_ulong
atomic< intmax_t > atomic_intmax_t
atomic_intmax_t
atomic< uintptr_t > atomic_uintptr_t
atomic_uintptr_t
atomic< signed char > atomic_schar
atomic_schar
atomic< int_least8_t > atomic_int_least8_t
atomic_int_least8_t
atomic< unsigned long long > atomic_ullong
atomic_ullong
atomic< uint_fast8_t > atomic_uint_fast8_t
atomic_uint_fast8_t
atomic< intptr_t > atomic_intptr_t
atomic_intptr_t
atomic< int16_t > atomic_int16_t
atomic_int16_t
atomic< size_t > atomic_size_t
atomic_size_t
atomic< long > atomic_long
atomic_long
atomic< uint_least8_t > atomic_uint_least8_t
atomic_uint_least8_t
atomic< short > atomic_short
atomic_short
atomic< uint_least16_t > atomic_uint_least16_t
atomic_uint_least16_t
atomic< uint16_t > atomic_uint16_t
atomic_uint16_t
atomic< uint64_t > atomic_uint64_t
atomic_uint64_t
atomic< int_least32_t > atomic_int_least32_t
atomic_int_least32_t
atomic< uint8_t > atomic_uint8_t
atomic_uint8_t
atomic< wchar_t > atomic_wchar_t
atomic_wchar_t
atomic< unsigned int > atomic_uint
atomic_uint
atomic< uint_least32_t > atomic_uint_least32_t
atomic_uint_least32_t
atomic< uint_fast64_t > atomic_uint_fast64_t
atomic_uint_fast64_t
atomic< int_fast32_t > atomic_int_fast32_t
atomic_int_fast32_t
atomic< char > atomic_char
atomic_char
atomic< int > atomic_int
atomic_int
atomic< uint_least64_t > atomic_uint_least64_t
atomic_uint_least64_t
atomic< int64_t > atomic_int64_t
atomic_int64_t
atomic< uintmax_t > atomic_uintmax_t
atomic_uintmax_t
atomic< int_fast16_t > atomic_int_fast16_t
atomic_int_fast16_t
atomic< int32_t > atomic_int32_t
atomic_int32_t
atomic< uint_fast16_t > atomic_uint_fast16_t
atomic_uint_fast16_t
atomic< int8_t > atomic_int8_t
atomic_int8_t
atomic< long long > atomic_llong
atomic_llong
atomic< char16_t > atomic_char16_t
atomic_char16_t
atomic< int_fast64_t > atomic_int_fast64_t
atomic_int_fast64_t
atomic< ptrdiff_t > atomic_ptrdiff_t
atomic_ptrdiff_t
atomic< char32_t > atomic_char32_t
atomic_char32_t
atomic< int_least16_t > atomic_int_least16_t
atomic_int_least16_t
atomic< unsigned char > atomic_uchar
atomic_uchar
atomic< int_fast8_t > atomic_int_fast8_t
atomic_int_fast8_t
memory_order
Enumeration for memory_order.
atomic< unsigned short > atomic_ushort
atomic_ushort
atomic< int_least64_t > atomic_int_least64_t
atomic_int_least64_t
atomic< bool > atomic_bool
atomic_bool
atomic< uint_fast32_t > atomic_uint_fast32_t
atomic_uint_fast32_t
atomic< uint32_t > atomic_uint32_t
atomic_uint32_t