libstdc++
atomic_wait.h File Reference

Go to the source code of this file.

Namespaces

namespace  std
namespace  std::__detail

Macros

#define __cpp_lib_atomic_wait
#define _GLIBCXX_HAVE_PLATFORM_WAIT

Typedefs

using std::__detail::__bare_wait
using std::__detail::__enters_wait
using std::__detail::__platform_wait_t

Enumerations

enum class  __futex_wait_flags : int {
  __private_flag , __wait , __wake , __wait_bitset ,
  __wake_bitset , __wait_private , __wake_private , __wait_bitset_private ,
  __wake_bitset_private , __bitset_match_any
}

Functions

template<typename _Tp>
bool std::__detail::__atomic_compare (const _Tp &__a, const _Tp &__b)
template<typename _Tp>
void std::__atomic_notify_address (const _Tp *__addr, bool __all) noexcept
void std::__atomic_notify_address_bare (const __detail::__platform_wait_t *__addr, bool __all) noexcept
template<typename _Pred, typename _Spin = __default_spin_policy>
bool std::__detail::__atomic_spin (_Pred &__pred, _Spin __spin=_Spin{ }) noexcept
template<typename _Tp, typename _Pred>
void std::__atomic_wait_address (const _Tp *__addr, _Pred __pred) noexcept
template<typename _Pred>
void std::__atomic_wait_address_bare (const __detail::__platform_wait_t *__addr, _Pred __pred) noexcept
template<typename _Tp, typename _ValFn>
void std::__atomic_wait_address_v (const _Tp *__addr, _Tp __old, _ValFn __vfn) noexcept
template<typename _Tp>
void std::__detail::__platform_notify (const _Tp *__addr, bool __all) noexcept
template<typename _Tp>
void std::__detail::__platform_wait (const _Tp *__addr, __platform_wait_t __val) noexcept
void std::__detail::__thread_relax () noexcept
void std::__detail::__thread_yield () noexcept

Variables

constexpr auto std::__detail::__atomic_spin_count
constexpr auto std::__detail::__atomic_spin_count_relax
constexpr size_t std::__detail::__platform_wait_alignment
template<typename _Tp>
constexpr bool std::__platform_wait_uses_type

Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <atomic>.

Definition in file atomic_wait.h.

Macro Definition Documentation

◆ __cpp_lib_atomic_wait

#define __cpp_lib_atomic_wait

Definition at line 52 of file atomic_wait.h.

◆ _GLIBCXX_HAVE_PLATFORM_WAIT

#define _GLIBCXX_HAVE_PLATFORM_WAIT

Definition at line 60 of file atomic_wait.h.