#include <sycl/atomic_ref.hpp>
Public Types | |
using | value_type = T |
Static Public Attributes | |
static constexpr size_t | required_alignment = sizeof(T) |
static constexpr bool | is_always_lock_free |
static constexpr memory_order | default_read_order |
static constexpr memory_order | default_write_order |
static constexpr memory_order | default_read_modify_write_order = DefaultOrder |
static constexpr memory_scope | default_scope = DefaultScope |
Protected Attributes | |
std::atomic< T > * | ptr |
Definition at line 115 of file atomic_ref.hpp.
using sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::value_type = T |
Definition at line 137 of file atomic_ref.hpp.
|
inlineexplicit |
Definition at line 157 of file atomic_ref.hpp.
|
inlinenoexcept |
Definition at line 162 of file atomic_ref.hpp.
References sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::ptr.
|
inlinenoexcept |
Definition at line 223 of file atomic_ref.hpp.
References sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::compare_exchange_strong().
|
inlinenoexcept |
Definition at line 203 of file atomic_ref.hpp.
References sycl::_V1::detail::getStdMemoryOrder(), sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::ptr, and sycl::_V1::success.
Referenced by sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::compare_exchange_strong(), syclcompat::atomic< T, DefaultScope, DefaultOrder, Space >::compare_exchange_strong(), and sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::compare_exchange_weak().
|
inlinenoexcept |
Definition at line 247 of file atomic_ref.hpp.
References sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::compare_exchange_weak().
|
inlinenoexcept |
Definition at line 230 of file atomic_ref.hpp.
References sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::compare_exchange_strong(), sycl::_V1::detail::getStdMemoryOrder(), sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::ptr, and sycl::_V1::success.
Referenced by sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::compare_exchange_weak(), syclcompat::atomic< T, DefaultScope, DefaultOrder, Space >::compare_exchange_weak(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_add(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_max(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_max(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_min(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_min(), and sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_sub().
|
inlinenoexcept |
Definition at line 192 of file atomic_ref.hpp.
References sycl::_V1::detail::getStdMemoryOrder(), and sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::ptr.
Referenced by syclcompat::atomic< T, DefaultScope, DefaultOrder, Space >::exchange().
|
inlinenoexcept |
Definition at line 148 of file atomic_ref.hpp.
|
inlinenoexcept |
Definition at line 180 of file atomic_ref.hpp.
References sycl::_V1::detail::getStdMemoryOrder(), and sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::ptr.
Referenced by sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_add(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_max(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_max(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_min(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_min(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_sub(), syclcompat::atomic< T, DefaultScope, DefaultOrder, Space >::load(), and sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::operator T().
|
inlinenoexcept |
Definition at line 190 of file atomic_ref.hpp.
References sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::load().
|
delete |
|
inlinenoexcept |
Definition at line 175 of file atomic_ref.hpp.
References sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::store().
|
inlinenoexcept |
Definition at line 165 of file atomic_ref.hpp.
References sycl::_V1::detail::getStdMemoryOrder(), and sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::ptr.
Referenced by sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::operator=(), and syclcompat::atomic< T, DefaultScope, DefaultOrder, Space >::store().
|
staticconstexpr |
Definition at line 145 of file atomic_ref.hpp.
|
staticconstexpr |
Definition at line 141 of file atomic_ref.hpp.
|
staticconstexpr |
Definition at line 146 of file atomic_ref.hpp.
|
staticconstexpr |
Definition at line 143 of file atomic_ref.hpp.
|
staticconstexpr |
Definition at line 139 of file atomic_ref.hpp.
|
protected |
Definition at line 257 of file atomic_ref.hpp.
Referenced by sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::atomic_ref_base(), sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::compare_exchange_strong(), sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::compare_exchange_weak(), sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::exchange(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_add(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_add(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_and(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_max(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_max(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_min(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_min(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_or(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_sub(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >::fetch_sub(), sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >::fetch_xor(), sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::load(), and sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >::store().
|
staticconstexpr |
Definition at line 138 of file atomic_ref.hpp.