# tbb::deprecated::concurrent_queue< T, A > Class Template Reference
[Containers]

A high-performance thread-safe blocking concurrent bounded queue. More...

`#include <concurrent_queue.h>`

Inheritance diagram for tbb::deprecated::concurrent_queue< T, A >:

List of all members.

## Public Types

typedef concurrent_bounded_queue< T, A > ::iterator | iterator
typedef concurrent_bounded_queue< T, A > ::const_iterator | const_iterator

## Public Member Functions

| concurrent_queue (const A &a=A())
| Construct empty queue.
| concurrent_queue (const concurrent_queue &src, const A &a=A())
| Copy constructor.
template<typename InputIterator >
| concurrent_queue (InputIterator b, InputIterator e, const A &a=A())
| [begin,end) constructor
bool | push_if_not_full (const T &source)
| Enqueue an item at tail of queue if queue is not already full.
bool | pop_if_present (T &destination)
| Attempt to dequeue an item from head of queue.
iterator | begin ()
iterator | end ()
const_iterator | begin () const
const_iterator | end () const

## Friends

class | internal::concurrent_queue_iterator

## Detailed Description

### template<typename T, class A = cache_aligned_allocator<T>>
class tbb::deprecated::concurrent_queue< T, A >

A high-performance thread-safe blocking concurrent bounded queue.

This is the pre-PPL TBB concurrent queue which support boundedness and blocking semantics. Note that method names agree with the PPL-style concurrent queue. Multiple threads may each push and pop concurrently. Assignment construction is not allowed.

## Member Function Documentation

template<typename T , class A = cache_aligned_allocator<T>>

bool tbb::deprecated::concurrent_queue< T, A >::pop_if_present | ( | T & | destination | ) | `[inline]`

Attempt to dequeue an item from head of queue.

Does not wait for item to become available. Returns true if successful; false otherwise.

Deprecated:
  Use try_pop()

References tbb::concurrent_bounded_queue< T, A >::try_pop().

template<typename T , class A = cache_aligned_allocator<T>>

bool tbb::deprecated::concurrent_queue< T, A >::push_if_not_full | ( | const T & | source | ) | `[inline]`

Enqueue an item at tail of queue if queue is not already full.

Does not wait for queue to become not full. Returns true if item is pushed; false if queue was already full.

References tbb::concurrent_bounded_queue< T, A >::try_push().

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

- concurrent_queue.h

Copyright © 2005-2012 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.