~ubuntu-branches/ubuntu/saucy/deal.ii/saucy

« back to all changes in this revision

Viewing changes to contrib/tbb/tbb30_104oss/doc/html/a00159.html

  • Committer: Package Import Robot
  • Author(s): "Adam C. Powell, IV", Adam C. Powell, IV, Christophe Trophime
  • Date: 2012-02-21 06:57:30 UTC
  • mfrom: (3.1.7 sid)
  • Revision ID: package-import@ubuntu.com-20120221065730-r2iz70lg557wcd2e
Tags: 7.1.0-1
[ Adam C. Powell, IV ]
* New upstream (closes: #652057).
* Updated to use PETSc and SLEPc 3.2, and forward-ported all patches.
* Removed NetCDF Build-Depends because it uses serial HDF5.
* Made Sacado cmath patch work with new configure.
* Moved -dev package symlink lines in rules to arch all section.

[ Christophe Trophime ]
* debian/rules:
   - add dh_strip --dbg-package to generate dbg package (closes: #652058)
   - add .install files to simplify rules
* Add support for mumps, arpack (closes: #637655)
* Add patch for slepc 3.2 (closes: #659245)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
 
3
<title>tbb::concurrent_bounded_queue&lt; T, A &gt; Class Template Reference</title>
 
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
 
5
<link href="tabs.css" rel="stylesheet" type="text/css">
 
6
</head><body>
 
7
<!-- Generated by Doxygen 1.4.7 -->
 
8
<div class="tabs">
 
9
  <ul>
 
10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
 
11
    <li><a href="modules.html"><span>Modules</span></a></li>
 
12
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
 
13
    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
 
14
    <li><a href="files.html"><span>Files</span></a></li>
 
15
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
 
16
  </ul></div>
 
17
<div class="tabs">
 
18
  <ul>
 
19
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
 
20
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
 
21
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
 
22
  </ul></div>
 
23
<div class="nav">
 
24
<a class="el" href="a00272.html">tbb</a>::<a class="el" href="a00159.html">concurrent_bounded_queue</a></div>
 
25
<h1>tbb::concurrent_bounded_queue&lt; T, A &gt; Class Template Reference<br>
 
26
<small>
 
27
[<a class="el" href="a00281.html">Containers</a>]</small>
 
28
</h1><!-- doxytag: class="tbb::concurrent_bounded_queue" -->A high-performance thread-safe blocking concurrent bounded queue.  
 
29
<a href="#_details">More...</a>
 
30
<p>
 
31
<code>#include &lt;<a class="el" href="a00341.html">concurrent_queue.h</a>&gt;</code>
 
32
<p>
 
33
<p>Inheritance diagram for tbb::concurrent_bounded_queue&lt; T, A &gt;:
 
34
<p><center><img src="a00159.png" usemap="#tbb::concurrent_bounded_queue< T, A >_map" border="0" alt=""></center>
 
35
<map name="tbb::concurrent_bounded_queue< T, A >_map">
 
36
<area href="a00165.html" alt="tbb::deprecated::concurrent_queue< T, A >" shape="rect" coords="0,56,257,80">
 
37
</map>
 
38
<a href="a00019.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 
39
<tr><td></td></tr>
 
40
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
 
41
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98245517a931e5893f6601e66c51fc75"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::value_type" ref="98245517a931e5893f6601e66c51fc75" args="" -->
 
42
typedef T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#98245517a931e5893f6601e66c51fc75">value_type</a></td></tr>
 
43
 
 
44
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element type in the queue. <br></td></tr>
 
45
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e2726fccf6d975dc1071608cc0bbf90"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::allocator_type" ref="2e2726fccf6d975dc1071608cc0bbf90" args="" -->
 
46
typedef A&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a></td></tr>
 
47
 
 
48
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocator type. <br></td></tr>
 
49
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dcd44ca6a88c0dc7a847a47a10811f0c"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::reference" ref="dcd44ca6a88c0dc7a847a47a10811f0c" args="" -->
 
50
typedef T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#dcd44ca6a88c0dc7a847a47a10811f0c">reference</a></td></tr>
 
51
 
 
52
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reference type. <br></td></tr>
 
53
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="796713d0b9ba93a4721cbe13e4474068"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::const_reference" ref="796713d0b9ba93a4721cbe13e4474068" args="" -->
 
54
typedef const T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#796713d0b9ba93a4721cbe13e4474068">const_reference</a></td></tr>
 
55
 
 
56
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Const reference type. <br></td></tr>
 
57
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a></td></tr>
 
58
 
 
59
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Integral type for representing size of the queue.  <a href="#a80e4c11dbb324e4b92a24a77bbcde68"></a><br></td></tr>
 
60
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b45c91297e69515d83d5eef85ae1f49"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::difference_type" ref="4b45c91297e69515d83d5eef85ae1f49" args="" -->
 
61
typedef std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#4b45c91297e69515d83d5eef85ae1f49">difference_type</a></td></tr>
 
62
 
 
63
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Difference type for iterator. <br></td></tr>
 
64
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aeea2ad38b7e7fc2866f063dfed24c52"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::iterator" ref="aeea2ad38b7e7fc2866f063dfed24c52" args="" -->
 
65
typedef internal::concurrent_queue_iterator&lt;<br>
 
66
 <a class="el" href="a00159.html">concurrent_bounded_queue</a>,<br>
 
67
 T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
 
68
 
 
69
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0edd1a90e6ffa503bac1c4027116dbff"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::const_iterator" ref="0edd1a90e6ffa503bac1c4027116dbff" args="" -->
 
70
typedef internal::concurrent_queue_iterator&lt;<br>
 
71
 <a class="el" href="a00159.html">concurrent_bounded_queue</a>,<br>
 
72
 const T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
 
73
 
 
74
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
 
75
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e3525226732963ff0f13e89d8e6dab5b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::concurrent_bounded_queue" ref="e3525226732963ff0f13e89d8e6dab5b" args="(const allocator_type &amp;a=allocator_type())" -->
 
76
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#e3525226732963ff0f13e89d8e6dab5b">concurrent_bounded_queue</a> (const <a class="el" href="a00159.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> &amp;a=<a class="el" href="a00159.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a>())</td></tr>
 
77
 
 
78
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct empty queue. <br></td></tr>
 
79
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b7fb414d2eaa8a7f5d68fc4cd63ac50"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::concurrent_bounded_queue" ref="7b7fb414d2eaa8a7f5d68fc4cd63ac50" args="(const concurrent_bounded_queue &amp;src, const allocator_type &amp;a=allocator_type())" -->
 
80
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#7b7fb414d2eaa8a7f5d68fc4cd63ac50">concurrent_bounded_queue</a> (const <a class="el" href="a00159.html">concurrent_bounded_queue</a> &amp;src, const <a class="el" href="a00159.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> &amp;a=<a class="el" href="a00159.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a>())</td></tr>
 
81
 
 
82
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br></td></tr>
 
83
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a5e04dcd7db9fd9b583b4e7df832246a"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::concurrent_bounded_queue" ref="a5e04dcd7db9fd9b583b4e7df832246a" args="(InputIterator begin, InputIterator end, const allocator_type &amp;a=allocator_type())" -->
 
84
template&lt;typename InputIterator&gt; </td></tr>
 
85
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00159.html#a5e04dcd7db9fd9b583b4e7df832246a">concurrent_bounded_queue</a> (InputIterator begin, InputIterator end, const <a class="el" href="a00159.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> &amp;a=<a class="el" href="a00159.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a>())</td></tr>
 
86
 
 
87
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">[begin,end) constructor <br></td></tr>
 
88
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="acaf5b510dc0dfc7780b8c956cf773cf"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::~concurrent_bounded_queue" ref="acaf5b510dc0dfc7780b8c956cf773cf" args="()" -->
 
89
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#acaf5b510dc0dfc7780b8c956cf773cf">~concurrent_bounded_queue</a> ()</td></tr>
 
90
 
 
91
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy queue. <br></td></tr>
 
92
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ceb08c743b11ba88c878e73fff8af20b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::push" ref="ceb08c743b11ba88c878e73fff8af20b" args="(const T &amp;source)" -->
 
93
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#ceb08c743b11ba88c878e73fff8af20b">push</a> (const T &amp;source)</td></tr>
 
94
 
 
95
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enqueue an item at tail of queue. <br></td></tr>
 
96
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#41f4c6bd7a82ab070e840bbf81b0b123">pop</a> (T &amp;destination)</td></tr>
 
97
 
 
98
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dequeue item from head of queue.  <a href="#41f4c6bd7a82ab070e840bbf81b0b123"></a><br></td></tr>
 
99
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#2bd6232531279fb3ccbd296bea23066b">try_push</a> (const T &amp;source)</td></tr>
 
100
 
 
101
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enqueue an item at tail of queue if queue is not already full.  <a href="#2bd6232531279fb3ccbd296bea23066b"></a><br></td></tr>
 
102
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#0ca487019bbb00a196442aff78a1e4f7">try_pop</a> (T &amp;destination)</td></tr>
 
103
 
 
104
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempt to dequeue an item from head of queue.  <a href="#0ca487019bbb00a196442aff78a1e4f7"></a><br></td></tr>
 
105
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00159.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#7dc14d1a579a4cccda9f857585e1768d">size</a> () const </td></tr>
 
106
 
 
107
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return number of pushes minus number of pops.  <a href="#7dc14d1a579a4cccda9f857585e1768d"></a><br></td></tr>
 
108
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f64924f2ee9225c368a270fc3c394db9"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::empty" ref="f64924f2ee9225c368a270fc3c394db9" args="() const " -->
 
109
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#f64924f2ee9225c368a270fc3c394db9">empty</a> () const </td></tr>
 
110
 
 
111
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Equivalent to <a class="el" href="a00159.html#7dc14d1a579a4cccda9f857585e1768d">size()</a>&lt;=0. <br></td></tr>
 
112
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2888b3e4e837d7e03f2c731963a402b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::capacity" ref="b2888b3e4e837d7e03f2c731963a402b" args="() const " -->
 
113
<a class="el" href="a00159.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#b2888b3e4e837d7e03f2c731963a402b">capacity</a> () const </td></tr>
 
114
 
 
115
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of allowed elements. <br></td></tr>
 
116
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#f3c6c934f85fd02aedbc83a16943193b">set_capacity</a> (<a class="el" href="a00159.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> new_capacity)</td></tr>
 
117
 
 
118
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the capacity.  <a href="#f3c6c934f85fd02aedbc83a16943193b"></a><br></td></tr>
 
119
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="415eb87e53b1c6a266de06ecbc490d16"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::get_allocator" ref="415eb87e53b1c6a266de06ecbc490d16" args="() const " -->
 
120
<a class="el" href="a00159.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#415eb87e53b1c6a266de06ecbc490d16">get_allocator</a> () const </td></tr>
 
121
 
 
122
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return allocator object <br></td></tr>
 
123
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90b31e2954c6e4596c7900435a5f4bc1"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::clear" ref="90b31e2954c6e4596c7900435a5f4bc1" args="()" -->
 
124
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#90b31e2954c6e4596c7900435a5f4bc1">clear</a> ()</td></tr>
 
125
 
 
126
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">clear the queue. not thread-safe. <br></td></tr>
 
127
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a2637188e104503ac2c0dff633014e8"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::unsafe_begin" ref="5a2637188e104503ac2c0dff633014e8" args="()" -->
 
128
iterator&nbsp;</td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> ()</td></tr>
 
129
 
 
130
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c7267334ef11087c76c810abb9d5cbc2"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::unsafe_end" ref="c7267334ef11087c76c810abb9d5cbc2" args="()" -->
 
131
iterator&nbsp;</td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> ()</td></tr>
 
132
 
 
133
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8be757841d0bbf7744508aaf6a141d08"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::unsafe_begin" ref="8be757841d0bbf7744508aaf6a141d08" args="() const " -->
 
134
const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> () const </td></tr>
 
135
 
 
136
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3aac91d288bf227d9d06717b44ef28f7"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::unsafe_end" ref="3aac91d288bf227d9d06717b44ef28f7" args="() const " -->
 
137
const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> () const </td></tr>
 
138
 
 
139
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
 
140
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05bffad9626d51abbd4bb82ae2a1cceb"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::internal::concurrent_queue_iterator" ref="05bffad9626d51abbd4bb82ae2a1cceb" args="" -->
 
141
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>internal::concurrent_queue_iterator</b></td></tr>
 
142
 
 
143
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
 
144
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>destroyer</b></td></tr>
 
145
 
 
146
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class used to ensure exception-safety of method "pop". <br></td></tr>
 
147
</table>
 
148
<hr><a name="_details"></a><h2>Detailed Description</h2>
 
149
<h3>template&lt;typename T, class A = cache_aligned_allocator&lt;T&gt;&gt;<br>
 
150
 class tbb::concurrent_bounded_queue&lt; T, A &gt;</h3>
 
151
 
 
152
A high-performance thread-safe blocking concurrent bounded queue. 
 
153
<p>
 
154
This is the pre-PPL TBB concurrent queue which supports 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. 
 
155
<p>
 
156
<hr><h2>Member Typedef Documentation</h2>
 
157
<a class="anchor" name="a80e4c11dbb324e4b92a24a77bbcde68"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::size_type" ref="a80e4c11dbb324e4b92a24a77bbcde68" args="" -->
 
158
<div class="memitem">
 
159
<div class="memproto">
 
160
<div class="memtemplate">
 
161
template&lt;typename T, class A = cache_aligned_allocator&lt;T&gt;&gt; </div>
 
162
      <table class="memname">
 
163
        <tr>
 
164
          <td class="memname">typedef std::ptrdiff_t <a class="el" href="a00159.html">tbb::concurrent_bounded_queue</a>&lt; T, A &gt;::<a class="el" href="a00159.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a>          </td>
 
165
        </tr>
 
166
      </table>
 
167
</div>
 
168
<div class="memdoc">
 
169
 
 
170
<p>
 
171
Integral type for representing size of the queue. 
 
172
<p>
 
173
Notice that the size_type is a signed integral type. This is because the size can be negative if there are pending pops without corresponding pushes. 
 
174
</div>
 
175
</div><p>
 
176
<hr><h2>Member Function Documentation</h2>
 
177
<a class="anchor" name="41f4c6bd7a82ab070e840bbf81b0b123"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::pop" ref="41f4c6bd7a82ab070e840bbf81b0b123" args="(T &amp;destination)" -->
 
178
<div class="memitem">
 
179
<div class="memproto">
 
180
<div class="memtemplate">
 
181
template&lt;typename T, class A = cache_aligned_allocator&lt;T&gt;&gt; </div>
 
182
      <table class="memname">
 
183
        <tr>
 
184
          <td class="memname">void <a class="el" href="a00159.html">tbb::concurrent_bounded_queue</a>&lt; T, A &gt;::pop           </td>
 
185
          <td>(</td>
 
186
          <td class="paramtype">T &amp;&nbsp;</td>
 
187
          <td class="paramname"> <em>destination</em>          </td>
 
188
          <td>&nbsp;)&nbsp;</td>
 
189
          <td width="100%"><code> [inline]</code></td>
 
190
        </tr>
 
191
      </table>
 
192
</div>
 
193
<div class="memdoc">
 
194
 
 
195
<p>
 
196
Dequeue item from head of queue. 
 
197
<p>
 
198
Block until an item becomes available, and then dequeue it. 
 
199
</div>
 
200
</div><p>
 
201
<a class="anchor" name="f3c6c934f85fd02aedbc83a16943193b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::set_capacity" ref="f3c6c934f85fd02aedbc83a16943193b" args="(size_type new_capacity)" -->
 
202
<div class="memitem">
 
203
<div class="memproto">
 
204
<div class="memtemplate">
 
205
template&lt;typename T, class A = cache_aligned_allocator&lt;T&gt;&gt; </div>
 
206
      <table class="memname">
 
207
        <tr>
 
208
          <td class="memname">void <a class="el" href="a00159.html">tbb::concurrent_bounded_queue</a>&lt; T, A &gt;::set_capacity           </td>
 
209
          <td>(</td>
 
210
          <td class="paramtype"><a class="el" href="a00159.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a>&nbsp;</td>
 
211
          <td class="paramname"> <em>new_capacity</em>          </td>
 
212
          <td>&nbsp;)&nbsp;</td>
 
213
          <td width="100%"><code> [inline]</code></td>
 
214
        </tr>
 
215
      </table>
 
216
</div>
 
217
<div class="memdoc">
 
218
 
 
219
<p>
 
220
Set the capacity. 
 
221
<p>
 
222
Setting the capacity to 0 causes subsequent try_push operations to always fail, and subsequent push operations to block forever. 
 
223
</div>
 
224
</div><p>
 
225
<a class="anchor" name="7dc14d1a579a4cccda9f857585e1768d"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::size" ref="7dc14d1a579a4cccda9f857585e1768d" args="() const " -->
 
226
<div class="memitem">
 
227
<div class="memproto">
 
228
<div class="memtemplate">
 
229
template&lt;typename T, class A = cache_aligned_allocator&lt;T&gt;&gt; </div>
 
230
      <table class="memname">
 
231
        <tr>
 
232
          <td class="memname"><a class="el" href="a00159.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> <a class="el" href="a00159.html">tbb::concurrent_bounded_queue</a>&lt; T, A &gt;::size           </td>
 
233
          <td>(</td>
 
234
          <td class="paramname">          </td>
 
235
          <td>&nbsp;)&nbsp;</td>
 
236
          <td width="100%"> const<code> [inline]</code></td>
 
237
        </tr>
 
238
      </table>
 
239
</div>
 
240
<div class="memdoc">
 
241
 
 
242
<p>
 
243
Return number of pushes minus number of pops. 
 
244
<p>
 
245
Note that the result can be negative if there are pops waiting for the corresponding pushes. The result can also exceed <a class="el" href="a00159.html#b2888b3e4e837d7e03f2c731963a402b">capacity()</a> if there are push operations in flight. 
 
246
</div>
 
247
</div><p>
 
248
<a class="anchor" name="0ca487019bbb00a196442aff78a1e4f7"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::try_pop" ref="0ca487019bbb00a196442aff78a1e4f7" args="(T &amp;destination)" -->
 
249
<div class="memitem">
 
250
<div class="memproto">
 
251
<div class="memtemplate">
 
252
template&lt;typename T, class A = cache_aligned_allocator&lt;T&gt;&gt; </div>
 
253
      <table class="memname">
 
254
        <tr>
 
255
          <td class="memname">bool <a class="el" href="a00159.html">tbb::concurrent_bounded_queue</a>&lt; T, A &gt;::try_pop           </td>
 
256
          <td>(</td>
 
257
          <td class="paramtype">T &amp;&nbsp;</td>
 
258
          <td class="paramname"> <em>destination</em>          </td>
 
259
          <td>&nbsp;)&nbsp;</td>
 
260
          <td width="100%"><code> [inline]</code></td>
 
261
        </tr>
 
262
      </table>
 
263
</div>
 
264
<div class="memdoc">
 
265
 
 
266
<p>
 
267
Attempt to dequeue an item from head of queue. 
 
268
<p>
 
269
Does not wait for item to become available. Returns true if successful; false otherwise. 
 
270
</div>
 
271
</div><p>
 
272
<a class="anchor" name="2bd6232531279fb3ccbd296bea23066b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::try_push" ref="2bd6232531279fb3ccbd296bea23066b" args="(const T &amp;source)" -->
 
273
<div class="memitem">
 
274
<div class="memproto">
 
275
<div class="memtemplate">
 
276
template&lt;typename T, class A = cache_aligned_allocator&lt;T&gt;&gt; </div>
 
277
      <table class="memname">
 
278
        <tr>
 
279
          <td class="memname">bool <a class="el" href="a00159.html">tbb::concurrent_bounded_queue</a>&lt; T, A &gt;::try_push           </td>
 
280
          <td>(</td>
 
281
          <td class="paramtype">const T &amp;&nbsp;</td>
 
282
          <td class="paramname"> <em>source</em>          </td>
 
283
          <td>&nbsp;)&nbsp;</td>
 
284
          <td width="100%"><code> [inline]</code></td>
 
285
        </tr>
 
286
      </table>
 
287
</div>
 
288
<div class="memdoc">
 
289
 
 
290
<p>
 
291
Enqueue an item at tail of queue if queue is not already full. 
 
292
<p>
 
293
Does not wait for queue to become not full. Returns true if item is pushed; false if queue was already full. 
 
294
</div>
 
295
</div><p>
 
296
<hr>The documentation for this class was generated from the following file:<ul>
 
297
<li><a class="el" href="a00341.html">concurrent_queue.h</a></ul>
 
298
<hr>
 
299
<p></p>
 
300
Copyright &copy; 2005-2010 Intel Corporation.  All Rights Reserved.
 
301
<p></p>
 
302
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 
303
registered trademarks or trademarks of Intel Corporation or its
 
304
subsidiaries in the United States and other countries.
 
305
<p></p>
 
306
* Other names and brands may be claimed as the property of others.