libstdc++
__gnu_parallel::_RestrictedBoundedConcurrentQueue< _Tp > Class Template Reference
Inheritance diagram for __gnu_parallel::_RestrictedBoundedConcurrentQueue< _Tp >:

Public Member Functions

 _RestrictedBoundedConcurrentQueue (_SequenceIndex __max_size)
 
 ~_RestrictedBoundedConcurrentQueue ()
 
bool pop_back (_Tp &__t)
 
bool pop_front (_Tp &__t)
 
void push_front (const _Tp &__t)
 

Detailed Description

template<typename _Tp>
class __gnu_parallel::_RestrictedBoundedConcurrentQueue< _Tp >

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.

Definition at line 52 of file queue.h.

Constructor & Destructor Documentation

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.

Destructor. Not to be called concurrent, of course.

Definition at line 77 of file queue.h.

Member Function Documentation

template<typename _Tp>
bool __gnu_parallel::_RestrictedBoundedConcurrentQueue< _Tp >::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.

template<typename _Tp>
bool __gnu_parallel::_RestrictedBoundedConcurrentQueue< _Tp >::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.

template<typename _Tp>
void __gnu_parallel::_RestrictedBoundedConcurrentQueue< _Tp >::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.


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