libstdc++
__gnu_parallel::_RestrictedBoundedConcurrentQueue Class Reference
Inheritance diagram for __gnu_parallel::_RestrictedBoundedConcurrentQueue:

List of all members.

Public Member Functions


Detailed Description

Double-ended queue of bounded size, allowing lock-free atomic access. push_front() and pop_front() must not be called concurrently to each other, while pop_back() can be called concurrently at all times. empty(), size(), and top() are intentionally not provided. Calling them would not make sense in a concurrent setting.

Parameters:
_TpContained element type.

Constructor & Destructor Documentation

__gnu_parallel::_RestrictedBoundedConcurrentQueue::_RestrictedBoundedConcurrentQueue ( _SequenceIndex  __max_size) [inline]

Constructor. Not to be called concurrent, of course.

Parameters:
_M_max_sizeMaximal number of elements to be contained.

Definition at line 68 of file queue.h.

__gnu_parallel::_RestrictedBoundedConcurrentQueue::~_RestrictedBoundedConcurrentQueue ( ) [inline]

Destructor. Not to be called concurrent, of course.

Definition at line 77 of file queue.h.


Member Function Documentation

bool __gnu_parallel::_RestrictedBoundedConcurrentQueue::pop_back ( _Tp &  __t) [inline]

Pops one element from the queue at the front end. Must not be called concurrently with pop_front().

Definition at line 127 of file queue.h.

bool __gnu_parallel::_RestrictedBoundedConcurrentQueue::pop_front ( _Tp &  __t) [inline]

Pops one element from the queue at the front end. Must not be called concurrently with pop_front().

Definition at line 100 of file queue.h.

Referenced by __gnu_parallel::__qsb_local_sort_with_helping().

void __gnu_parallel::_RestrictedBoundedConcurrentQueue::push_front ( const _Tp &  __t) [inline]

Pushes one element into the queue at the front end. Must not be called concurrently with pop_front().

Definition at line 83 of file queue.h.

Referenced by __gnu_parallel::__qsb_local_sort_with_helping().


The documentation for this class was generated from the following file: