This class provides a thread‐safe bounded queue of values.

Synopsis

Declared in <bdlcc_boundedqueue.h>

template<class TYPE>
class BoundedQueue;

Type Aliases

Name

Description

value_type

The type for elements stored in this queue.

Enums

Name

Description

Unnamed enum

Status codes returned by queue operations.

Member Functions

Name

Description

BoundedQueue [constructor]

Create a thread‐aware queue with at least the specified capacity.

~BoundedQueue [destructor]

Destroy this object.

allocator

Return the allocator used by this object to supply memory.

capacity

Return the maximum number of elements that may be stored in this queue. Note that the value returned may be greater than that supplied at construction.

disablePopFront

Disable dequeueing from this queue.

disablePushBack

Disable enqueueing into this queue.

enablePopFront

Enable dequeueing. If the queue is not dequeue disabled, this call has no effect.

enablePushBack

Enable queuing. If the queue is not enqueue disabled, this call has no effect.

isEmpty

Return true if this queue is empty (has no elements), or false otherwise.

isFull

Return true if this queue is full (has no available capacity), or false otherwise. Note that for unbounded queues, this method always returns false.

isPopFrontDisabled

Return true if this queue is dequeue disabled, and false otherwise. Note that the queue is created in the "dequeue enabled" state.

isPushBackDisabled

Return true if this queue is enqueue disabled, and false otherwise. Note that the queue is created in the "enqueue enabled" state.

numElements

Return the number of elements currently in this queue.

popFront

Remove the element from the front of this queue and load that element into the specified value.

pushBack

pushBack overloads

removeAll

Remove all items currently in this queue.

tryPopFront

Attempt to remove the front element of this queue without blocking.

tryPushBack

tryPushBack overloads

waitUntilEmpty

Block until all the elements in this queue are removed.

operator BloombergLP::bslmf::NestedTraitDeclaration<BoundedQueue, UsesBslmaAllocator>

Declare that this type uses a bslma allocator.

Friends

Name

Description

BloombergLP::bdlcc::BoundedQueue_PushExceptionCompleteProctor

This class implements a proctor that invokes TYPE::pushExceptionComplete upon destruction unless release has been called.

BloombergLP::bdlcc::BoundedQueue_PopCompleteGuard

This class implements a guard that invokes TYPE::popComplete on a NODE upon destruction.

Created with MrDocs