29#ifndef _GLIBCXX_STDATOMIC_H
30#define _GLIBCXX_STDATOMIC_H
32#define __glibcxx_want_stdatomic_h
35#ifdef __cpp_lib_stdatomic_h
38#define _Atomic(_Tp) std::atomic<_Tp>
41using std::memory_order_relaxed;
42using std::memory_order_consume;
43using std::memory_order_acquire;
44using std::memory_order_release;
45using std::memory_order_acq_rel;
46using std::memory_order_seq_cst;
60#ifdef _GLIBCXX_USE_CHAR8_T
61using std::atomic_char8_t;
66#ifdef _GLIBCXX_USE_C99_STDINT
96#ifdef _GLIBCXX_USE_C99_STDINT
100using std::atomic_is_lock_free;
101using std::atomic_load;
102using std::atomic_load_explicit;
103using std::atomic_store;
104using std::atomic_store_explicit;
105using std::atomic_exchange;
106using std::atomic_exchange_explicit;
107using std::atomic_compare_exchange_strong;
108using std::atomic_compare_exchange_strong_explicit;
109using std::atomic_compare_exchange_weak;
110using std::atomic_compare_exchange_weak_explicit;
111using std::atomic_fetch_add;
112using std::atomic_fetch_add_explicit;
113using std::atomic_fetch_sub;
114using std::atomic_fetch_sub_explicit;
115using std::atomic_fetch_or;
116using std::atomic_fetch_or_explicit;
117using std::atomic_fetch_xor;
118using std::atomic_fetch_xor_explicit;
119using std::atomic_fetch_and;
120using std::atomic_fetch_and_explicit;
121using std::atomic_flag_test_and_set;
122using std::atomic_flag_test_and_set_explicit;
123using std::atomic_flag_clear;
124using std::atomic_flag_clear_explicit;
125using std::atomic_thread_fence;
126using std::atomic_signal_fence;
128#elif defined __clang__
129# include_next <stdatomic.h>
atomic< intmax_t > atomic_intmax_t
atomic_intmax_t
atomic< uintptr_t > atomic_uintptr_t
atomic_uintptr_t
atomic< int_least8_t > atomic_int_least8_t
atomic_int_least8_t
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< uint_least8_t > atomic_uint_least8_t
atomic_uint_least8_t
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< 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< 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< int_fast64_t > atomic_int_fast64_t
atomic_int_fast64_t
atomic< ptrdiff_t > atomic_ptrdiff_t
atomic_ptrdiff_t
atomic< int_least16_t > atomic_int_least16_t
atomic_int_least16_t
atomic< int_fast8_t > atomic_int_fast8_t
atomic_int_fast8_t
memory_order
Enumeration for memory_order.
atomic< int_least64_t > atomic_int_least64_t
atomic_int_least64_t
atomic< uint_fast32_t > atomic_uint_fast32_t
atomic_uint_fast32_t
atomic< uint32_t > atomic_uint32_t
atomic_uint32_t
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.