DPC++ Runtime
Runtime libraries for oneAPI DPC++
atomic_ref.hpp File Reference
#include <sycl/access/access.hpp>
#include <sycl/bit_cast.hpp>
#include <sycl/memory_enums.hpp>
#include <atomic>
#include <stddef.h>
#include <stdint.h>
#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::detail::IsValidAtomicRefType< T >
 
struct  sycl::_V1::detail::IsValidAtomicRefAddressSpace< AS >
 
struct  sycl::_V1::detail::memory_order_traits< memory_order::relaxed >
 
struct  sycl::_V1::detail::memory_order_traits< memory_order::acq_rel >
 
struct  sycl::_V1::detail::memory_order_traits< memory_order::seq_cst >
 
struct  sycl::_V1::detail::bit_equal< T, typename std::enable_if_t< std::is_integral_v< T > > >
 
struct  sycl::_V1::detail::bit_equal< float >
 
struct  sycl::_V1::detail::bit_equal< double >
 
class  sycl::_V1::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >
 
class  sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename >
 
class  sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >
 
class  sycl::_V1::detail::atomic_ref_impl< T, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >
 
class  sycl::_V1::detail::atomic_ref_impl< T, true, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_integral_v< T > > >
 
class  sycl::_V1::detail::atomic_ref_impl< T, true, DefaultOrder, DefaultScope, AddressSpace, typename std::enable_if_t< std::is_floating_point_v< T > > >
 
class  sycl::_V1::detail::atomic_ref_impl< T *, IsAspectAtomic64AttrUsed, DefaultOrder, DefaultScope, AddressSpace >
 
class  sycl::_V1::atomic_ref< T, DefaultOrder, DefaultScope, AddressSpace >
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::detail
 

Typedefs

using sycl::_V1::detail::memory_scope = sycl::memory_scope
 
template<memory_order Order>
using sycl::_V1::detail::IsValidDefaultOrder = std::bool_constant< Order==memory_order::relaxed||Order==memory_order::acq_rel||Order==memory_order::seq_cst >
 

Functions

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