DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::atomic_ref< T, DefaultOrder, DefaultScope, AddressSpace > Class Template Reference

#include <sycl/atomic_ref.hpp>

Inheritance diagram for sycl::_V1::atomic_ref< T, DefaultOrder, DefaultScope, AddressSpace >:
Collaboration diagram for sycl::_V1::atomic_ref< T, DefaultOrder, DefaultScope, AddressSpace >:

Public Types

using T = =8, DefaultOrder, DefaultScope, AddressSpace >::atomic_ref_impl
 
using T = =8, DefaultOrder, DefaultScope, AddressSpace >::operator=
 
- Public Types inherited from sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >
using value_type = T
 

Additional Inherited Members

- Public Member Functions inherited from sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >
bool is_lock_free () const noexcept
 
 atomic_ref_base (T &ref)
 
 atomic_ref_base (const atomic_ref_base &ref) noexcept
 
atomic_ref_baseoperator= (const atomic_ref_base &)=delete
 
void store (T operand, memory_order order=default_write_order, memory_scope scope=default_scope) const noexcept
 
operator= (T desired) const noexcept
 
load (memory_order order=default_read_order, memory_scope scope=default_scope) const noexcept
 
 operator T () const noexcept
 
exchange (T operand, memory_order order=default_read_modify_write_order, memory_scope scope=default_scope) const noexcept
 
bool compare_exchange_strong (T &expected, T desired, memory_order success, memory_order failure, memory_scope scope=default_scope) const noexcept
 
bool compare_exchange_strong (T &expected, T desired, memory_order order=default_read_modify_write_order, memory_scope scope=default_scope) const noexcept
 
bool compare_exchange_weak (T &expected, T desired, memory_order success, memory_order failure, memory_scope scope=default_scope) const noexcept
 
bool compare_exchange_weak (T &expected, T desired, memory_order order=default_read_modify_write_order, memory_scope scope=default_scope) const noexcept
 
- Static Public Attributes inherited from sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >
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 inherited from sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >
std::atomic< T > * ptr
 

Detailed Description

template<typename T, memory_order DefaultOrder, memory_scope DefaultScope, access::address_space AddressSpace = access::address_space::generic_space>
class sycl::_V1::atomic_ref< T, DefaultOrder, DefaultScope, AddressSpace >

Definition at line 713 of file atomic_ref.hpp.

Member Typedef Documentation

◆ T [1/2]

template<typename T , memory_order DefaultOrder, memory_scope DefaultScope, access::address_space AddressSpace = access::address_space::generic_space>
using sycl::_V1::atomic_ref< T, DefaultOrder, DefaultScope, AddressSpace >::T = = 8, DefaultOrder, DefaultScope, AddressSpace>::atomic_ref_impl

Definition at line 717 of file atomic_ref.hpp.

◆ T [2/2]

template<typename T , memory_order DefaultOrder, memory_scope DefaultScope, access::address_space AddressSpace = access::address_space::generic_space>
using sycl::_V1::atomic_ref< T, DefaultOrder, DefaultScope, AddressSpace >::T = = 8, DefaultOrder, DefaultScope, AddressSpace>::operator=

Definition at line 719 of file atomic_ref.hpp.


The documentation for this class was generated from the following file: