Template Class LockingQueue1P1C

Nested Relationships

Nested Types

Class Documentation

template<typename T, typename LockType>
class LockingQueue1P1C

Public Functions

__host__ LockingQueue1P1C() = default
__host__ ~LockingQueue1P1C() = default
__host__ LockingQueue1P1C(const LockingQueue1P1C&) = delete
__host__ LockingQueue1P1C &operator=(const LockingQueue1P1C&) = delete
__host__ LockingQueue1P1C(LockingQueue1P1C&&) = default
__host__ LockingQueue1P1C(Contents contents)
__host__ __device__ void Enqueue(T item)
__host__ __device__ T Dequeue()
__host__ __device__ void EnqueueMultiple(T *item, size_t n)
__host__ __device__ void DequeueMultiple(T *item, size_t n)
__host__ __device__ size_t EnqueueUpTo(T *item, size_t max)
__host__ __device__ size_t DequeueUpTo(T *item, size_t max)

Public Static Functions

__host__ static Contents MakeQueueContents(int hip_dev, unsigned int queue_flags, size_t log2_size)
__host__ static Contents MakeQueueContentsHost(unsigned int queue_flags, size_t log2_size)
class Contents