cpp20::atomic_internal

Summary

Typedefs

difference_t using
typename arithmetic_ops_helper< T >::operand_type

Functions

compare_exchange(T *ptr, std::remove_volatile_t< T > & expected, std::remove_volatile_t< T > desired, bool is_weak, std::memory_order success, std::memory_order failure)
LIB_STDCOMPAT_INLINE_LINKAGE bool
compare_exchange_load_memory_order(std::memory_order order)
LIB_STDCOMPAT_INLINE_LINKAGE constexpr std::memory_order
to_builtin_memory_order(std::memory_order order)
LIB_STDCOMPAT_INLINE_LINKAGE constexpr int

Classes

cpp20::atomic_internal::arithmetic_ops
cpp20::atomic_internal::arithmetic_ops< Derived, T, std::enable_if_t< cpp17::is_floating_point_v< T > > >
cpp20::atomic_internal::arithmetic_ops< Derived, T, std::enable_if_t< cpp17::is_integral_v< T >||(cpp17::is_pointer_v< T > &&!cpp17::is_volatile_v< T >)> >
cpp20::atomic_internal::atomic_ops
cpp20::atomic_internal::bitwise_ops
cpp20::atomic_internal::bitwise_ops< Derived, T, std::enable_if_t< cpp17::is_integral_v< T > > >

Structs

cpp20::atomic_internal::alignment
cpp20::atomic_internal::alignment< T, std::enable_if_t< cpp17::is_integral_v< T > > >
cpp20::atomic_internal::alignment< T, std::enable_if_t< cpp17::is_pointer_v< T >||cpp17::is_floating_point_v< T > > >
cpp20::atomic_internal::arithmetic_ops_helper
cpp20::atomic_internal::arithmetic_ops_helper< T * >

Typedefs

difference_t

typename arithmetic_ops_helper< T >::operand_type difference_t

Functions

compare_exchange

LIB_STDCOMPAT_INLINE_LINKAGE bool compare_exchange(
  T *ptr,
  std::remove_volatile_t< T > & expected,
  std::remove_volatile_t< T > desired,
  bool is_weak,
  std::memory_order success,
  std::memory_order failure
)

compare_exchange_load_memory_order

LIB_STDCOMPAT_INLINE_LINKAGE constexpr std::memory_order compare_exchange_load_memory_order(
  std::memory_order order
)

to_builtin_memory_order

LIB_STDCOMPAT_INLINE_LINKAGE constexpr int to_builtin_memory_order(
  std::memory_order order
)