---
name: "__gnu_parallel::RestrictedBoundedConcurrentQueue"
section: "3cxx"
platform: "linux"
package: "libstdc++6-4.4-doc"
version: "4.4.7-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_parallel::RestrictedBoundedConcurrentQueue/3cxx"
---

# \_\_gnu\_parallel::RestrictedBoundedConcurrentQueue(3cxx)

## NAME

\_\_gnu\_parallel::RestrictedBoundedConcurrentQueue\< T \> -

## SYNOPSIS

### 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** ()\

## 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 52 of file queue.h.

## Constructor & Destructor Documentation

### template\<typename T\> \_\_gnu\_parallel::RestrictedBoundedConcurrentQueue\< T \>::RestrictedBoundedConcurrentQueue (sequence\_index\_tmax\_size)` [inline]`

Constructor. Not to be called concurrent, of course. **Parameters:**

*max\_size* Maximal number of elements to be contained.

Definition at line 68 of file queue.h.

### template\<typename T\> \_\_gnu\_parallel::RestrictedBoundedConcurrentQueue\< T \>::~RestrictedBoundedConcurrentQueue ()` [inline]`

Destructor. Not to be called concurrent, of course.

Definition at line 77 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 124 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 100 of file queue.h.

Referenced by \_\_gnu\_parallel::qsb\_local\_sort\_with\_helping().

### 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 83 of file queue.h.

Referenced by \_\_gnu\_parallel::qsb\_local\_sort\_with\_helping().

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
