Template Class BlockingQueue#

Nested Relationships#

Nested Types#

Class Documentation#

template<typename T>
class BlockingQueue#

Public Functions

template<typename Q = T>
void Push(const T &item)#

Push a copy constructable item to the queue.

Parameters:

item – Item to push.

template<typename Q = T>
void Push(T &&item)#

Push a move constructable item to the queue.

Parameters:

item – Item to push.

template<typename Q = T>
bool TryPush(const T &item)#

Try to push a copy constructable item to the queue.

Parameters:

item – Item to push.

Returns:

True on success, false otherwise.

template<typename Q = T>
bool TryPush(T &&item)#

Try to push a move constructable item to the queue.

Parameters:

item – Item to push.

Returns:

True on success, false otherwise.

template<typename Q = T>
bool Pop(T &item)#

Pop a copy assignable item from the queue.

Parameters:

item – Item to pop.

template<typename Q = T>
bool Pop(T &item)

Pop a move assignable item from the queue.

Parameters:

item – Item to pop.

template<typename Q = T>
bool TryPop(T &item)#

Try to pop a copy assignable item from the queue.

Parameters:

item – Item to pop.

Returns:

True on success, false otherwise.

template<typename Q = T>
bool TryPop(T &item)

Try to pop a move assignable item from the queue.

Parameters:

item – Item to pop.

Returns:

True on success, false otherwise.

void Done() noexcept#

Mark the queue as done.

bool Empty() const noexcept#

Check if queue is empty.

Returns:

True if queue is empty, false otherwise.

u32 Size() const noexcept#

Retrieve the size of the queue.

Returns:

Queue size.