atomic — stdgpu Latest documentation (original) (raw)

atomic#

stdgpu: atomic

stdgpu Latest

Efficient STL-like Data Structures on the GPU

Functions
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY bool stdgpu::atomic_compare_exchange_strong (atomic< T, Allocator > *obj, typename atomic< T, Allocator >::value_type *expected, const typename atomic< T, Allocator >::value_type desired) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY bool stdgpu::atomic_compare_exchange_weak (atomic< T, Allocator > *obj, typename atomic< T, Allocator >::value_type *expected, const typename atomic< T, Allocator >::value_type desired) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_exchange (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type desired) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_exchange_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type desired, const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_add (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::difference_type arg) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_add_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::difference_type arg, const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_and (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_and_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_max (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_max_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_min (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_min_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_or (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_or_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_sub (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::difference_type arg) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_sub_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::difference_type arg, const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_xor (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept
template<typename T , typename Allocator >
STDGPU_DEVICE_ONLY T stdgpu::atomic_fetch_xor_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_HOST_DEVICE bool stdgpu::atomic_is_lock_free (const atomic< T, Allocator > *obj) noexcept
template<typename T , typename Allocator >
STDGPU_HOST_DEVICE T stdgpu::atomic_load (const atomic< T, Allocator > *obj) noexcept
template<typename T , typename Allocator >
STDGPU_HOST_DEVICE T stdgpu::atomic_load_explicit (const atomic< T, Allocator > *obj, const memory_order order) noexcept
STDGPU_DEVICE_ONLY void stdgpu::atomic_signal_fence (const memory_order order) noexcept
template<typename T , typename Allocator >
STDGPU_HOST_DEVICE void stdgpu::atomic_store (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type desired) noexcept
template<typename T , typename Allocator >
STDGPU_HOST_DEVICE void stdgpu::atomic_store_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type desired, const memory_order order) noexcept
STDGPU_DEVICE_ONLY void stdgpu::atomic_thread_fence (const memory_order order) noexcept
Variables
constexpr memory_order stdgpu::memory_order_acq_rel
constexpr memory_order stdgpu::memory_order_acquire
constexpr memory_order stdgpu::memory_order_consume
constexpr memory_order stdgpu::memory_order_relaxed
constexpr memory_order stdgpu::memory_order_release
constexpr memory_order stdgpu::memory_order_seq_cst