hpx/schedulers/lockfree_queue_backends.hpp

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace threads
namespace policies
struct concurrentqueue_fifo
template<typename T>
struct apply

Public Types

template<>
using type = moodycamel_fifo_backend<T>
struct lockfree_fifo
template<typename T>
struct apply

Public Types

template<>
using type = lockfree_fifo_backend<T>
template<typename T>
struct lockfree_fifo_backend

Public Types

template<>
using container_type = boost::lockfree::queue<T, hpx::util::aligned_allocator<T>>
template<>
using value_type = T
template<>
using reference = T&
template<>
using const_reference = T const&
template<>
using rvalue_reference = T&&
template<>
using size_type = std::uint64_t

Public Functions

lockfree_fifo_backend(size_type initial_size = 0, size_type = size_type(-1))
bool push(const_reference val, bool = false)
bool push(rvalue_reference val, bool = false)
bool pop(reference val, bool = true)
bool empty()

Private Members

container_type queue_
template<typename T>
struct moodycamel_fifo_backend

Public Types

template<>
using container_type = hpx::concurrency::ConcurrentQueue<T>
template<>
using value_type = T
template<>
using reference = T&
template<>
using const_reference = T const&
template<>
using rvalue_reference = T&&
template<>
using size_type = std::uint64_t

Public Functions

moodycamel_fifo_backend(size_type initial_size = 0, size_type = size_type(-1))
bool push(const_reference val, bool = false)
bool push(rvalue_reference val, bool = false)
bool pop(reference val, bool = true)
bool empty()

Private Members

container_type queue_