---
name: "__gnu_parallel::RestrictedBoundedConcurrentQueue"
section: "3"
platform: "linux"
package: "libstdc++6-4.3-doc"
version: "4.3.2-1.1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_parallel::RestrictedBoundedConcurrentQueue"
---

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

## NAME

\_\_gnu\_parallel::RestrictedBoundedConcurrentQueue -

## SYNOPSIS

## 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.

## Author

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