Home | History | Annotate | Download | only in include

Lines Matching full:volatile

51     bool test_and_set(memory_order m = memory_order_seq_cst) volatile noexcept;
53 void clear(memory_order m = memory_order_seq_cst) volatile noexcept;
58 atomic_flag& operator=(const atomic_flag&) volatile = delete;
62 atomic_flag_test_and_set(volatile atomic_flag* obj) noexcept;
68 atomic_flag_test_and_set_explicit(volatile atomic_flag* obj,
75 atomic_flag_clear(volatile atomic_flag* obj) noexcept;
81 atomic_flag_clear_explicit(volatile atomic_flag* obj, memory_order m) noexcept;
92 bool is_lock_free() const volatile noexcept;
94 void store(T desr, memory_order m = memory_order_seq_cst) volatile noexcept;
96 T load(memory_order m = memory_order_seq_cst) const volatile noexcept;
98 operator T() const volatile noexcept;
100 T exchange(T desr, memory_order m = memory_order_seq_cst) volatile noexcept;
103 memory_order s, memory_order f) volatile noexcept;
106 memory_order s, memory_order f) volatile noexcept;
110 memory_order m = memory_order_seq_cst) volatile noexcept;
114 memory_order m = memory_order_seq_cst) volatile noexcept;
122 atomic& operator=(const atomic&) volatile = delete;
123 T operator=(T) volatile noexcept;
130 bool is_lock_free() const volatile noexcept;
132 void store(integral desr, memory_order m = memory_order_seq_cst) volatile noexcept;
134 integral load(memory_order m = memory_order_seq_cst) const volatile noexcept;
136 operator integral() const volatile noexcept;
139 memory_order m = memory_order_seq_cst) volatile noexcept;
142 memory_order s, memory_order f) volatile noexcept;
146 memory_order s, memory_order f) volatile noexcept;
150 memory_order m = memory_order_seq_cst) volatile noexcept;
154 memory_order m = memory_order_seq_cst) volatile noexcept;
159 fetch_add(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
162 fetch_sub(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
165 fetch_and(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
168 fetch_or(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
171 fetch_xor(integral op, memory_order m = memory_order_seq_cst) volatile noexcept;
178 atomic& operator=(const atomic&) volatile = delete;
179 integral operator=(integral desr) volatile noexcept;
182 integral operator++(int) volatile noexcept;
184 integral operator--(int) volatile noexcept;
186 integral operator++() volatile noexcept;
188 integral operator--() volatile noexcept;
190 integral operator+=(integral op) volatile noexcept;
192 integral operator-=(integral op) volatile noexcept;
194 integral operator&=(integral op) volatile noexcept;
196 integral operator|=(integral op) volatile noexcept;
198 integral operator^=(integral op) volatile noexcept;
205 bool is_lock_free() const volatile noexcept;
207 void store(T* desr, memory_order m = memory_order_seq_cst) volatile noexcept;
209 T* load(memory_order m = memory_order_seq_cst) const volatile noexcept;
211 operator T*() const volatile noexcept;
213 T* exchange(T* desr, memory_order m = memory_order_seq_cst) volatile noexcept;
216 memory_order s, memory_order f) volatile noexcept;
220 memory_order s, memory_order f) volatile noexcept;
224 memory_order m = memory_order_seq_cst) volatile noexcept;
228 memory_order m = memory_order_seq_cst) volatile noexcept;
231 T* fetch_add(ptrdiff_t op, memory_order m = memory_order_seq_cst) volatile noexcept;
233 T* fetch_sub(ptrdiff_t op, memory_order m = memory_order_seq_cst) volatile noexcept;
240 atomic& operator=(const atomic&) volatile = delete;
242 T* operator=(T*) volatile noexcept;
244 T* operator++(int) volatile noexcept;
246 T* operator--(int) volatile noexcept;
248 T* operator++() volatile noexcept;
250 T* operator--() volatile noexcept;
252 T* operator+=(ptrdiff_t op) volatile noexcept;
254 T* operator-=(ptrdiff_t op) volatile noexcept;
261 atomic_is_lock_free(const volatile atomic<T>* obj) noexcept;
269 atomic_init(volatile atomic<T>* obj, T desr) noexcept;
277 atomic_store(volatile atomic<T>* obj, T desr) noexcept;
285 atomic_store_explicit(volatile atomic<T>* obj, T desr, memory_order m) noexcept;
293 atomic_load(const volatile atomic<T>* obj) noexcept;
301 atomic_load_explicit(const volatile atomic<T>* obj, memory_order m) noexcept;
309 atomic_exchange(volatile atomic<T>* obj, T desr) noexcept;
317 atomic_exchange_explicit(volatile atomic<T>* obj, T desr, memory_order m) noexcept;
325 atomic_compare_exchange_weak(volatile atomic<T>* obj, T* expc, T desr) noexcept;
333 atomic_compare_exchange_strong(volatile atomic<T>* obj, T* expc, T desr) noexcept;
341 atomic_compare_exchange_weak_explicit(volatile atomic<T>* obj, T* expc,
352 atomic_compare_exchange_strong_explicit(volatile atomic<T>* obj,
364 atomic_fetch_add(volatile atomic<Integral>* obj, Integral op) noexcept;
372 atomic_fetch_add_explicit(volatile atomic<Integral>* obj, Integral op,
380 atomic_fetch_sub(volatile atomic<Integral>* obj, Integral op) noexcept;
388 atomic_fetch_sub_explicit(volatile atomic<Integral>* obj, Integral op,
396 atomic_fetch_and(volatile atomic<Integral>* obj, Integral op) noexcept;
404 atomic_fetch_and_explicit(volatile atomic<Integral>* obj, Integral op,
412 atomic_fetch_or(volatile atomic<Integral>* obj, Integral op) noexcept;
420 atomic_fetch_or_explicit(volatile atomic<Integral>* obj, Integral op,
428 atomic_fetch_xor(volatile atomic<Integral>* obj, Integral op) noexcept;
436 atomic_fetch_xor_explicit(volatile atomic<Integral>* obj, Integral op,
445 atomic_fetch_add(volatile atomic<T*>* obj, ptrdiff_t op) noexcept;
453 atomic_fetch_add_explicit(volatile atomic<T*>* obj, ptrdiff_t op,
461 atomic_fetch_sub(volatile atomic<T*>* obj, ptrdiff_t op) noexcept;
469 atomic_fetch_sub_explicit(volatile atomic<T*>* obj, ptrdiff_t op,
587 __gcc_atomic::__can_assign<volatile _Atomic(_Tp)*, _Tp>::value>::type
588 __c11_atomic_init(volatile _Atomic(_Tp)* __a, _Tp __val) {
595 !__gcc_atomic::__can_assign<volatile _Atomic(_Tp)*, _Tp>::value &&
597 __c11_atomic_init(volatile _Atomic(_Tp)* __a, _Tp __val) {
599 // the default operator= in an object is not volatile, a byte-by-byte copy
601 volatile char* to = reinterpret_cast<volatile char*>(&__a->__a_value);
602 volatile char* end = to + sizeof(_Tp);
627 static inline void __c11_atomic_store(volatile _Atomic(_Tp)* __a, _Tp __val,
641 static inline _Tp __c11_atomic_load(volatile _Atomic(_Tp)* __a,
658 static inline _Tp __c11_atomic_exchange(volatile _Atomic(_Tp)* __a,
677 volatile _Atomic(_Tp)* __a, _Tp* __expected, _Tp __value,
697 volatile _Atomic(_Tp)* __a, _Tp* __expected, _Tp __value,
729 static inline _Tp __c11_atomic_fetch_add(volatile _Atomic(_Tp)* __a,
743 static inline _Tp __c11_atomic_fetch_sub(volatile _Atomic(_Tp)* __a,
757 static inline _Tp __c11_atomic_fetch_and(volatile _Atomic(_Tp)* __a,
771 static inline _Tp __c11_atomic_fetch_or(volatile _Atomic(_Tp)* __a,
785 static inline _Tp __c11_atomic_fetch_xor(volatile _Atomic(_Tp)* __a,
815 bool is_lock_free() const volatile _NOEXCEPT
821 void store(_Tp __d, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
827 _Tp load(memory_order __m = memory_order_seq_cst) const volatile _NOEXCEPT
833 operator _Tp() const volatile _NOEXCEPT {return load();}
837 _Tp exchange(_Tp __d, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
844 memory_order __s, memory_order __f) volatile _NOEXCEPT
852 memory_order __s, memory_order __f) volatile _NOEXCEPT
860 volatile _NOEXCEPT
868 memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
887 __atomic_base& operator=(const __atomic_base&) volatile = delete;
892 __atomic_base& operator=(const __atomic_base&) volatile;
909 _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
915 _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
921 _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
927 _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
933 _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
940 _Tp operator++(int) volatile _NOEXCEPT {return fetch_add(_Tp(1));}
944 _Tp operator--(int) volatile _NOEXCEPT {return fetch_sub(_Tp(1));}
948 _Tp operator++() volatile _NOEXCEPT {return fetch_add(_Tp(1)) + _Tp(1);}
952 _Tp operator--() volatile _NOEXCEPT {return fetch_sub(_Tp(1)) - _Tp(1);}
956 _Tp operator+=(_Tp __op) volatile _NOEXCEPT {return fetch_add(__op) + __op;}
960 _Tp operator-=(_Tp __op) volatile _NOEXCEPT {return fetch_sub(__op) - __op;}
964 _Tp operator&=(_Tp __op) volatile _NOEXCEPT {return fetch_and(__op) & __op;}
968 _Tp operator|=(_Tp __op) volatile _NOEXCEPT {return fetch_or(__op) | __op;}
972 _Tp operator^=(_Tp __op) volatile _NOEXCEPT {return fetch_xor(__op) ^ __op;}
990 _Tp operator=(_Tp __d) volatile _NOEXCEPT
1010 _Tp* operator=(_Tp* __d) volatile _NOEXCEPT
1018 volatile _NOEXCEPT
1025 volatile _NOEXCEPT
1032 _Tp* operator++(int) volatile _NOEXCEPT {return fetch_add(1);}
1036 _Tp* operator--(int) volatile _NOEXCEPT {return fetch_sub(1);}
1040 _Tp* operator++() volatile _NOEXCEPT {return fetch_add(1) + 1;}
1044 _Tp* operator--() volatile _NOEXCEPT {return fetch_sub(1) - 1;}
1048 _Tp* operator+=(ptrdiff_t __op) volatile _NOEXCEPT {return fetch_add(__op) + __op;}
1052 _Tp* operator-=(ptrdiff_t __op) volatile _NOEXCEPT {return fetch_sub(__op) - __op;}
1062 atomic_is_lock_free(const volatile atomic<_Tp>* __o) _NOEXCEPT
1080 atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
1098 atomic_store(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
1116 atomic_store_explicit(volatile atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
1134 atomic_load(const volatile atomic<_Tp>* __o) _NOEXCEPT
1152 atomic_load_explicit(const volatile atomic<_Tp>* __o, memory_order __m) _NOEXCEPT
1170 atomic_exchange(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
1188 atomic_exchange_explicit(volatile atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
1206 atomic_compare_exchange_weak(volatile atomic<_Tp>* __o, _Tp* __e, _Tp __d) _NOEXCEPT
1224 atomic_compare_exchange_strong(volatile atomic<_Tp>* __o, _Tp* __e, _Tp __d) _NOEXCEPT
1242 atomic_compare_exchange_weak_explicit(volatile atomic<_Tp>* __o, _Tp* __e,
1263 atomic_compare_exchange_strong_explicit(volatile atomic<_Tp>* __o,
1289 atomic_fetch_add(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
1309 atomic_fetch_add(volatile atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
1331 atomic_fetch_add_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
1351 atomic_fetch_add_explicit(volatile atomic<_Tp*>* __o, ptrdiff_t __op,
1374 atomic_fetch_sub(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
1394 atomic_fetch_sub(volatile atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
1416 atomic_fetch_sub_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
1436 atomic_fetch_sub_explicit(volatile atomic<_Tp*>* __o, ptrdiff_t __op,
1459 atomic_fetch_and(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
1485 atomic_fetch_and_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
1511 atomic_fetch_or(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
1537 atomic_fetch_or_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
1563 atomic_fetch_xor(volatile atomic<_Tp>* __o, _Tp __op) _NOEXCEPT
1589 atomic_fetch_xor_explicit(volatile atomic<_Tp>* __o, _Tp __op, memory_order __m) _NOEXCEPT
1613 bool test_and_set(memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
1619 void clear(memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
1638 atomic_flag& operator=(const atomic_flag&) volatile = delete;
1643 atomic_flag& operator=(const atomic_flag&) volatile;
1649 atomic_flag_test_and_set(volatile atomic_flag* __o) _NOEXCEPT
1663 atomic_flag_test_and_set_explicit(volatile atomic_flag* __o, memory_order __m) _NOEXCEPT
1677 atomic_flag_clear(volatile atomic_flag* __o) _NOEXCEPT
1691 atomic_flag_clear_explicit(volatile atomic_flag* __o, memory_order __m) _NOEXCEPT