Public Types | Public Member Functions | Friends | List of all members
tbb::deprecated::concurrent_queue< T, A > Class Template Reference

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

#include <concurrent_queue.h>

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

Public Types

typedef
concurrent_bounded_queue< T, A >
::iterator 
iterator
 
typedef
concurrent_bounded_queue< T, A >
::const_iterator 
const_iterator
 
- Public Types inherited from tbb::concurrent_bounded_queue< T, A >
typedef T value_type
 Element type in the queue.
 
typedef A allocator_type
 Allocator type.
 
typedef T & reference
 Reference type.
 
typedef const T & const_reference
 Const reference type.
 
typedef std::ptrdiff_t size_type
 Integral type for representing size of the queue. More...
 
typedef std::ptrdiff_t difference_type
 Difference type for iterator.
 
typedef
internal::concurrent_queue_iterator
< concurrent_bounded_queue, T > 
iterator
 
typedef
internal::concurrent_queue_iterator
< concurrent_bounded_queue,
const T > 
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. More...
 
bool pop_if_present (T &destination)
 Attempt to dequeue an item from head of queue. More...
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
- Public Member Functions inherited from tbb::concurrent_bounded_queue< T, A >
 concurrent_bounded_queue (const allocator_type &a=allocator_type())
 Construct empty queue.
 
 concurrent_bounded_queue (const concurrent_bounded_queue &src, const allocator_type &a=allocator_type())
 Copy constructor.
 
template<typename InputIterator >
 concurrent_bounded_queue (InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())
 [begin,end) constructor
 
 ~concurrent_bounded_queue ()
 Destroy queue.
 
void push (const T &source)
 Enqueue an item at tail of queue.
 
void pop (T &destination)
 Dequeue item from head of queue. More...
 
void abort ()
 Abort all pending queue operations.
 
bool try_push (const T &source)
 Enqueue an item at tail of queue if queue is not already full. More...
 
bool try_pop (T &destination)
 Attempt to dequeue an item from head of queue. More...
 
size_type size () const
 Return number of pushes minus number of pops. More...
 
bool empty () const
 Equivalent to size()<=0.
 
size_type capacity () const
 Maximum number of allowed elements.
 
void set_capacity (size_type new_capacity)
 Set the capacity. More...
 
allocator_type get_allocator () const
 return allocator object
 
void clear ()
 clear the queue. not thread-safe.
 
iterator unsafe_begin ()
 
iterator unsafe_end ()
 
const_iterator unsafe_begin () const
 
const_iterator unsafe_end () const
 

Friends

template<typename Container , typename Value >
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:

Copyright © 2005-2014 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.