13#include <readerwriterqueue.h>
39 requires std::is_copy_constructible_v<T> &&
40 std::is_move_constructible_v<T> &&
41 std::is_default_constructible_v<T>
47 explicit SPSC(
size_t maxSize) : m_queue(maxSize) {
54 [[nodiscard]] std::optional<T>
tryPop() noexcept {
56 const auto res = m_queue.try_dequeue(temp);
67 [[maybe_unused]]
const auto res = m_queue.try_enqueue(std::move(x));
76 [[maybe_unused]] T curr;
77 res = m_queue.try_dequeue(curr);
82 moodycamel::ReaderWriterQueue<T> m_queue;
void tryPush(T &&x) noexcept
Definition marvin_FIFO.h:66
SPSC(size_t maxSize)
Definition marvin_FIFO.h:47
void emptyQueue() noexcept
Definition marvin_FIFO.h:73
std::optional< T > tryPop() noexcept
Definition marvin_FIFO.h:54
First in, first out queues.
Definition marvin_FIFO.h:16