// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
- notify_one() const noexcept
+ notify_one() noexcept
{ std::__atomic_notify_address(&_M_i, false); }
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
- notify_all() const noexcept
+ notify_all() noexcept
{ std::__atomic_notify_address(&_M_i, true); }
// TODO add const volatile overload
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
- notify_one() const noexcept
+ notify_one() noexcept
{ std::__atomic_notify_address(&_M_i, false); }
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
- notify_all() const noexcept
+ notify_all() noexcept
{ std::__atomic_notify_address(&_M_i, true); }
// TODO add const volatile overload
// TODO add const volatile overload
void
- notify_one() const noexcept
+ notify_one() noexcept
{ _M_base.notify_one(); }
void
- notify_all() const noexcept
+ notify_all() noexcept
{ _M_base.notify_all(); }
#endif // __cpp_lib_atomic_wait
};
// TODO add const volatile overload
void
- notify_one() const noexcept
+ notify_one() noexcept
{ std::__atomic_notify_address(&_M_i, false); }
void
- notify_all() const noexcept
+ notify_all() noexcept
{ std::__atomic_notify_address(&_M_i, true); }
#endif // __cpp_lib_atomic_wait
// TODO add const volatile overload
void
- notify_one() const noexcept
+ notify_one() noexcept
{ _M_b.notify_one(); }
void
- notify_all() const noexcept
+ notify_all() noexcept
{ _M_b.notify_all(); }
#endif // __cpp_lib_atomic_wait
template<typename _Tp>
inline void
- atomic_notify_one(const atomic<_Tp>* __a) noexcept
+ atomic_notify_one(atomic<_Tp>* __a) noexcept
{ __a->notify_one(); }
template<typename _Tp>
inline void
- atomic_notify_all(const atomic<_Tp>* __a) noexcept
+ atomic_notify_all(atomic<_Tp>* __a) noexcept
{ __a->notify_all(); }
#endif // __cpp_lib_atomic_wait
#include <atomic>
void
-test1(const std::atomic<char*>& a, char* p)
+test1(std::atomic<char*>& a, char* p)
{
a.wait(p);
}
void
-test2(const std::atomic<int>* a, int v)
+test2(std::atomic<int>* a, int v)
{
std::atomic_wait(a, v);
std::atomic_notify_one(a);