@@ -101,12 +101,12 @@ struct atomic
101101 bool compare_exchange_strong(T& expc, T desr,
102102 memory_order m = memory_order_seq_cst) noexcept;
103103
104- void wait(T, memory_order = memory_order::seq_cst) const volatile noexcept;
105- void wait(T, memory_order = memory_order::seq_cst) const noexcept;
106- void notify_one() volatile noexcept;
107- void notify_one() noexcept;
108- void notify_all() volatile noexcept;
109- void notify_all() noexcept;
104+ void wait(T, memory_order = memory_order::seq_cst) const volatile noexcept; // since C++20
105+ void wait(T, memory_order = memory_order::seq_cst) const noexcept; // since C++20
106+ void notify_one() volatile noexcept; // since C++20
107+ void notify_one() noexcept; // since C++20
108+ void notify_all() volatile noexcept; // since C++20
109+ void notify_all() noexcept; // since C++20
110110};
111111
112112template <>
@@ -184,12 +184,12 @@ struct atomic<integral>
184184 integral operator^=(integral op) volatile noexcept;
185185 integral operator^=(integral op) noexcept;
186186
187- void wait(integral, memory_order = memory_order::seq_cst) const volatile noexcept;
188- void wait(integral, memory_order = memory_order::seq_cst) const noexcept;
189- void notify_one() volatile noexcept;
190- void notify_one() noexcept;
191- void notify_all() volatile noexcept;
192- void notify_all() noexcept;
187+ void wait(integral, memory_order = memory_order::seq_cst) const volatile noexcept; // since C++20
188+ void wait(integral, memory_order = memory_order::seq_cst) const noexcept; // since C++20
189+ void notify_one() volatile noexcept; // since C++20
190+ void notify_one() noexcept; // since C++20
191+ void notify_all() volatile noexcept; // since C++20
192+ void notify_all() noexcept; // since C++20
193193};
194194
195195template <class T>
@@ -254,12 +254,12 @@ struct atomic<T*>
254254 T* operator-=(ptrdiff_t op) volatile noexcept;
255255 T* operator-=(ptrdiff_t op) noexcept;
256256
257- void wait(T*, memory_order = memory_order::seq_cst) const volatile noexcept;
258- void wait(T*, memory_order = memory_order::seq_cst) const noexcept;
259- void notify_one() volatile noexcept;
260- void notify_one() noexcept;
261- void notify_all() volatile noexcept;
262- void notify_all() noexcept;
257+ void wait(T*, memory_order = memory_order::seq_cst) const volatile noexcept; // since C++20
258+ void wait(T*, memory_order = memory_order::seq_cst) const noexcept; // since C++20
259+ void notify_one() volatile noexcept; // since C++20
260+ void notify_one() noexcept; // since C++20
261+ void notify_all() volatile noexcept; // since C++20
262+ void notify_all() noexcept; // since C++20
263263};
264264
265265template<>
@@ -321,12 +321,12 @@ struct atomic<floating-point-type> { // since C++20
321321 floating-point-type operator-=(floating-point-type) volatile noexcept;
322322 floating-point-type operator-=(floating-point-type) noexcept;
323323
324- void wait(floating-point-type, memory_order = memory_order::seq_cst) const volatile noexcept;
325- void wait(floating-point-type, memory_order = memory_order::seq_cst) const noexcept;
326- void notify_one() volatile noexcept;
327- void notify_one() noexcept;
328- void notify_all() volatile noexcept;
329- void notify_all() noexcept;
324+ void wait(floating-point-type, memory_order = memory_order::seq_cst) const volatile noexcept; // since C++20
325+ void wait(floating-point-type, memory_order = memory_order::seq_cst) const noexcept; // since C++20
326+ void notify_one() volatile noexcept; // since C++20
327+ void notify_one() noexcept; // since C++20
328+ void notify_all() volatile noexcept; // since C++20
329+ void notify_all() noexcept; // since C++20
330330};
331331
332332// [atomics.nonmembers], non-member functions
@@ -443,23 +443,23 @@ template<class T>
443443 memory_order) noexcept;
444444
445445template<class T>
446- void atomic_wait(const volatile atomic<T>*, atomic<T>::value_type) noexcept;
446+ void atomic_wait(const volatile atomic<T>*, atomic<T>::value_type) noexcept; // since C++20
447447template<class T>
448- void atomic_wait(const atomic<T>*, atomic<T>::value_type) noexcept;
448+ void atomic_wait(const atomic<T>*, atomic<T>::value_type) noexcept; // since C++20
449449template<class T>
450- void atomic_wait_explicit(const volatile atomic<T>*, atomic<T>::value_type,
450+ void atomic_wait_explicit(const volatile atomic<T>*, atomic<T>::value_type, // since C++20
451451 memory_order) noexcept;
452452template<class T>
453- void atomic_wait_explicit(const atomic<T>*, atomic<T>::value_type,
453+ void atomic_wait_explicit(const atomic<T>*, atomic<T>::value_type, // since C++20
454454 memory_order) noexcept;
455455template<class T>
456- void atomic_notify_one(volatile atomic<T>*) noexcept;
456+ void atomic_notify_one(volatile atomic<T>*) noexcept; // since C++20
457457template<class T>
458- void atomic_notify_one(atomic<T>*) noexcept;
458+ void atomic_notify_one(atomic<T>*) noexcept; // since C++20
459459template<class T>
460- void atomic_notify_all(volatile atomic<T>*) noexcept;
460+ void atomic_notify_all(volatile atomic<T>*) noexcept; // since C++20
461461template<class T>
462- void atomic_notify_all(atomic<T>*) noexcept;
462+ void atomic_notify_all(atomic<T>*) noexcept; // since C++20
463463
464464// Atomics for standard typedef types
465465
@@ -534,12 +534,12 @@ typedef struct atomic_flag
534534 void clear(memory_order m = memory_order_seq_cst) volatile noexcept;
535535 void clear(memory_order m = memory_order_seq_cst) noexcept;
536536
537- void wait(bool, memory_order = memory_order::seq_cst) const volatile noexcept;
538- void wait(bool, memory_order = memory_order::seq_cst) const noexcept;
539- void notify_one() volatile noexcept;
540- void notify_one() noexcept;
541- void notify_all() volatile noexcept;
542- void notify_all() noexcept;
537+ void wait(bool, memory_order = memory_order::seq_cst) const volatile noexcept; // since C++20
538+ void wait(bool, memory_order = memory_order::seq_cst) const noexcept; // since C++20
539+ void notify_one() volatile noexcept; // since C++20
540+ void notify_one() noexcept; // since C++20
541+ void notify_all() volatile noexcept; // since C++20
542+ void notify_all() noexcept; // since C++20
543543} atomic_flag;
544544
545545bool atomic_flag_test(volatile atomic_flag* obj) noexcept;
@@ -557,14 +557,14 @@ void atomic_flag_clear(atomic_flag* obj) noexcept;
557557void atomic_flag_clear_explicit(volatile atomic_flag* obj, memory_order m) noexcept;
558558void atomic_flag_clear_explicit(atomic_flag* obj, memory_order m) noexcept;
559559
560- void atomic_wait(const volatile atomic_flag* obj, T old) noexcept;
561- void atomic_wait(const atomic_flag* obj, T old) noexcept;
562- void atomic_wait_explicit(const volatile atomic_flag* obj, T old, memory_order m) noexcept;
563- void atomic_wait_explicit(const atomic_flag* obj, T old, memory_order m) noexcept;
564- void atomic_one(volatile atomic_flag* obj) noexcept;
565- void atomic_one(atomic_flag* obj) noexcept;
566- void atomic_all(volatile atomic_flag* obj) noexcept;
567- void atomic_all(atomic_flag* obj) noexcept;
560+ void atomic_wait(const volatile atomic_flag* obj, T old) noexcept; // since C++20
561+ void atomic_wait(const atomic_flag* obj, T old) noexcept; // since C++20
562+ void atomic_wait_explicit(const volatile atomic_flag* obj, T old, memory_order m) noexcept; // since C++20
563+ void atomic_wait_explicit(const atomic_flag* obj, T old, memory_order m) noexcept; // since C++20
564+ void atomic_one(volatile atomic_flag* obj) noexcept; // since C++20
565+ void atomic_one(atomic_flag* obj) noexcept; // since C++20
566+ void atomic_all(volatile atomic_flag* obj) noexcept; // since C++20
567+ void atomic_all(atomic_flag* obj) noexcept; // since C++20
568568
569569// fences
570570
0 commit comments