# __gnu_parallel::RestrictedBoundedConcurrentQueue< T > Class Template Reference

Inheritance diagram for __gnu_parallel::RestrictedBoundedConcurrentQueue< T >:

List of all members.

## Detailed Description

### template<typename T>
class __gnu_parallel::RestrictedBoundedConcurrentQueue< T >

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:

  | T | Contained element type.

Definition at line 58 of file queue.h.

## Public Member Functions

- bool pop_back (T &t)
- bool pop_front (T &t)
- void push_front (const T &t)
- RestrictedBoundedConcurrentQueue (sequence_index_t max_size)
- ~RestrictedBoundedConcurrentQueue ()

## Constructor & Destructor Documentation

template<typename T>

__gnu_parallel::RestrictedBoundedConcurrentQueue< T >::RestrictedBoundedConcurrentQueue | ( | sequence_index_t | max_size | ) | `[inline]`

Constructor. Not to be called concurrent, of course.

Parameters:

  | max_size | Maximal number of elements to be contained.

Definition at line 74 of file queue.h.

template<typename T>

__gnu_parallel::RestrictedBoundedConcurrentQueue< T >::~RestrictedBoundedConcurrentQueue | ( |  | ) | `[inline]`

Destructor. Not to be called concurrent, of course.

Definition at line 83 of file queue.h.

## Member Function Documentation

template<typename T>

bool __gnu_parallel::RestrictedBoundedConcurrentQueue< T >::pop_back | ( | T & | t | ) | `[inline]`

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

Definition at line 130 of file queue.h.

template<typename T>

bool __gnu_parallel::RestrictedBoundedConcurrentQueue< T >::pop_front | ( | T & | t | ) | `[inline]`

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

Definition at line 106 of file queue.h.

template<typename T>

void __gnu_parallel::RestrictedBoundedConcurrentQueue< T >::push_front | ( | const T & | t | ) | `[inline]`

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

Definition at line 89 of file queue.h.

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

- queue.h