DPC++ Runtime
Runtime libraries for oneAPI DPC++
atomic_ref.hpp File Reference
#include <sycl/access/access.hpp>
#include <sycl/atomic.hpp>
#include <sycl/ext/oneapi/atomic_enums.hpp>
#include <atomic>
#include <type_traits>
Include dependency graph for atomic_ref.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sycl::_V1::ext::oneapi::detail::IsValidAtomicRefType< T >
 
struct  sycl::_V1::ext::oneapi::detail::memory_order_traits< memory_order::relaxed >
 
struct  sycl::_V1::ext::oneapi::detail::memory_order_traits< memory_order::acq_rel >
 
struct  sycl::_V1::ext::oneapi::detail::memory_order_traits< memory_order::seq_cst >
 
struct  sycl::_V1::ext::oneapi::detail::bit_equal< T, typename detail::enable_if_t< std::is_integral< T >::value > >
 
struct  sycl::_V1::ext::oneapi::detail::bit_equal< float >
 
struct  sycl::_V1::ext::oneapi::detail::bit_equal< double >
 
class  sycl::_V1::ext::oneapi::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >
 
class  sycl::_V1::ext::oneapi::detail::atomic_ref_impl< T, DefaultOrder, DefaultScope, AddressSpace, typename >
 
class  sycl::_V1::ext::oneapi::detail::atomic_ref_impl< T, DefaultOrder, DefaultScope, AddressSpace, typename detail::enable_if_t< std::is_integral< T >::value > >
 
class  sycl::_V1::ext::oneapi::detail::atomic_ref_impl< T, DefaultOrder, DefaultScope, AddressSpace, typename detail::enable_if_t< std::is_floating_point< T >::value > >
 
class  sycl::_V1::ext::oneapi::detail::atomic_ref_impl< T *, DefaultOrder, DefaultScope, AddressSpace >
 

Namespaces

 sycl
 ---— Error handling, matching OpenCL plugin semantics.
 
 sycl::_V1
 
 sycl::_V1::ext
 
 sycl::_V1::ext::oneapi
 
 sycl::_V1::ext::oneapi::detail
 

Typedefs

using sycl::_V1::ext::oneapi::detail::memory_order = sycl::ext::oneapi::memory_order
 
using sycl::_V1::ext::oneapi::detail::memory_scope = sycl::ext::oneapi::memory_scope
 
template<sycl::access::address_space AS>
using sycl::_V1::ext::oneapi::detail::IsValidAtomicAddressSpace = bool_constant< AS==access::address_space::global_space||AS==access::address_space::local_space||AS==access::address_space::ext_intel_global_device_space >
 
template<memory_order Order>
using sycl::_V1::ext::oneapi::detail::IsValidDefaultOrder = bool_constant< Order==memory_order::relaxed||Order==memory_order::acq_rel||Order==memory_order::seq_cst >
 

Functions

constexpr memory_order sycl::_V1::ext::oneapi::detail::getLoadOrder (memory_order order)