diff options
Diffstat (limited to 'doc/html/boost/lockfree/spsc_queue.html')
-rw-r--r-- | doc/html/boost/lockfree/spsc_queue.html | 112 |
1 files changed, 56 insertions, 56 deletions
diff --git a/doc/html/boost/lockfree/spsc_queue.html b/doc/html/boost/lockfree/spsc_queue.html index 2568817f97..b8764dee85 100644 --- a/doc/html/boost/lockfree/spsc_queue.html +++ b/doc/html/boost/lockfree/spsc_queue.html @@ -7,7 +7,7 @@ <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="../../lockfree/reference.html#header.boost.lockfree.spsc_queue_hpp" title="Header <boost/lockfree/spsc_queue.hpp>"> -<link rel="prev" href="queue/implementation_defined.html" title="Struct template implementation_defined"> +<link rel="prev" href="queue.html" title="Class template queue"> <link rel="next" href="stack.html" title="Class template stack"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -21,7 +21,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="queue/implementation_defined.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../lockfree/reference.html#header.boost.lockfree.spsc_queue_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stack.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="queue.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../lockfree/reference.html#header.boost.lockfree.spsc_queue_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stack.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> </div> <div class="refentry"> <a name="boost.lockfree.spsc_queue"></a><div class="titlepage"></div> @@ -41,43 +41,43 @@ <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span><span class="special">::</span><span class="identifier">size_type</span> <a name="boost.lockfree.spsc_queue.size_type"></a><span class="identifier">size_type</span><span class="special">;</span> <span class="comment">// <a class="link" href="spsc_queue.html#boost.lockfree.spsc_queueconstruct-copy-destruct">construct/copy/destruct</a></span> - <a class="link" href="spsc_queue.html#idp622027040-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="spsc_queue.html#idp641234880-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> - <span class="keyword">explicit</span> <a class="link" href="spsc_queue.html#idp622030320-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">allocator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">rebind</span><span class="special"><</span> <span class="identifier">U</span> <span class="special">></span><span class="special">::</span><span class="identifier">other</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">explicit</span> <a class="link" href="spsc_queue.html#idp622032448-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="identifier">allocator</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">explicit</span> <a class="link" href="spsc_queue.html#idp622033696-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">explicit</span> <a class="link" href="spsc_queue.html#idp641238160-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">allocator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">rebind</span><span class="special"><</span> <span class="identifier">U</span> <span class="special">></span><span class="special">::</span><span class="identifier">other</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">explicit</span> <a class="link" href="spsc_queue.html#idp641240288-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="identifier">allocator</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">explicit</span> <a class="link" href="spsc_queue.html#idp641241536-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> - <a class="link" href="spsc_queue.html#idp622037424-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> + <a class="link" href="spsc_queue.html#idp641245264-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">allocator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">rebind</span><span class="special"><</span> <span class="identifier">U</span> <span class="special">></span><span class="special">::</span><span class="identifier">other</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <a class="link" href="spsc_queue.html#idp622039968-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">allocator_arg</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="spsc_queue.html#idp641247808-bb"><span class="identifier">spsc_queue</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">allocator_arg</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="comment">// <a class="link" href="spsc_queue.html#idp622044208-bb">public member functions</a></span> - <span class="keyword">bool</span> <a class="link" href="spsc_queue.html#idp622044768-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">bool</span> <a class="link" href="spsc_queue.html#idp622050416-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="comment">// <a class="link" href="spsc_queue.html#idp641252048-bb">public member functions</a></span> + <span class="keyword">bool</span> <a class="link" href="spsc_queue.html#idp641252608-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">bool</span> <a class="link" href="spsc_queue.html#idp641258256-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span><span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">is_convertible</span><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">bool</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> - <a class="link" href="spsc_queue.html#idp622054688-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="identifier">U</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp622060560-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="identifier">size_type</span> size<span class="special">></span> <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp622065728-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">(</span><span class="special">&</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="spsc_queue.html#idp641262528-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="identifier">U</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp641268400-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="identifier">size_type</span> size<span class="special">></span> <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp641273568-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">(</span><span class="special">&</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> ConstIterator<span class="special">></span> - <span class="identifier">ConstIterator</span> <a class="link" href="spsc_queue.html#idp622071344-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">ConstIterator</span><span class="special">,</span> <span class="identifier">ConstIterator</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp622077408-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="identifier">size_type</span> size<span class="special">></span> <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp622082560-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">ConstIterator</span> <a class="link" href="spsc_queue.html#idp641279184-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">ConstIterator</span><span class="special">,</span> <span class="identifier">ConstIterator</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp641285248-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="identifier">size_type</span> size<span class="special">></span> <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp641290400-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../OutputIterator.html" title="Concept OutputIterator">OutputIterator</a><span class="special">></span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span><span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">is_convertible</span><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> - <a class="link" href="spsc_queue.html#idp622088880-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="identifier">OutputIterator</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="spsc_queue.html#idp622094256-bb"><span class="identifier">consume_one</span></a><span class="special">(</span><span class="identifier">Functor</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="spsc_queue.html#idp622098768-bb"><span class="identifier">consume_one</span></a><span class="special">(</span><span class="identifier">Functor</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp622103280-bb"><span class="identifier">consume_all</span></a><span class="special">(</span><span class="identifier">Functor</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp622107808-bb"><span class="identifier">consume_all</span></a><span class="special">(</span><span class="identifier">Functor</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp622112336-bb"><span class="identifier">read_available</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp622115872-bb"><span class="identifier">write_available</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span> <a class="link" href="spsc_queue.html#idp622119376-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">T</span> <span class="special">&</span> <a class="link" href="spsc_queue.html#idp622123440-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="spsc_queue.html#idp622127232-bb"><span class="identifier">reset</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="spsc_queue.html#idp641296720-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="identifier">OutputIterator</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="spsc_queue.html#idp641302096-bb"><span class="identifier">consume_one</span></a><span class="special">(</span><span class="identifier">Functor</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="spsc_queue.html#idp641306608-bb"><span class="identifier">consume_one</span></a><span class="special">(</span><span class="identifier">Functor</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp641311120-bb"><span class="identifier">consume_all</span></a><span class="special">(</span><span class="identifier">Functor</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp641315648-bb"><span class="identifier">consume_all</span></a><span class="special">(</span><span class="identifier">Functor</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp641320176-bb"><span class="identifier">read_available</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="spsc_queue.html#idp641323712-bb"><span class="identifier">write_available</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span> <a class="link" href="spsc_queue.html#idp641327216-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">T</span> <span class="special">&</span> <a class="link" href="spsc_queue.html#idp641331280-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="spsc_queue.html#idp641335072-bb"><span class="identifier">reset</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> <span class="special">}</span><span class="special">;</span></pre></div> <div class="refsect1"> -<a name="idp367712592"></a><h2>Description</h2> +<a name="idp343428864"></a><h2>Description</h2> <p>The <a class="link" href="spsc_queue.html" title="Class template spsc_queue">spsc_queue</a> class provides a single-writer/single-reader fifo queue, pushing and popping is wait-free.</p> <p><span class="bold"><strong>Policies:</strong></span> </p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> @@ -96,13 +96,13 @@ <p> </p> <div class="refsect2"> -<a name="idp367721728"></a><h3> +<a name="idp343438000"></a><h3> <a name="boost.lockfree.spsc_queueconstruct-copy-destruct"></a><code class="computeroutput">spsc_queue</code> public construct/copy/destruct</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<pre class="literallayout"><a name="idp622027040-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><a name="idp641234880-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> <p>Constructs a <code class="computeroutput"><a class="link" href="spsc_queue.html" title="Class template spsc_queue">spsc_queue</a></code></p> <p> </p> @@ -118,10 +118,10 @@ </table></div> </li> <li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> - <span class="keyword">explicit</span> <a name="idp622030320-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">allocator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">rebind</span><span class="special"><</span> <span class="identifier">U</span> <span class="special">></span><span class="special">::</span><span class="identifier">other</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span></pre></li> -<li class="listitem"><pre class="literallayout"><span class="keyword">explicit</span> <a name="idp622032448-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="identifier">allocator</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span></pre></li> + <span class="keyword">explicit</span> <a name="idp641238160-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">allocator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">rebind</span><span class="special"><</span> <span class="identifier">U</span> <span class="special">></span><span class="special">::</span><span class="identifier">other</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">explicit</span> <a name="idp641240288-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="identifier">allocator</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">explicit</span> <a name="idp622033696-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="identifier">size_type</span> element_count<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">explicit</span> <a name="idp641241536-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="identifier">size_type</span> element_count<span class="special">)</span><span class="special">;</span></pre> <p>Constructs a <code class="computeroutput"><a class="link" href="spsc_queue.html" title="Class template spsc_queue">spsc_queue</a></code> for element_count elements</p> <p> </p> @@ -137,17 +137,17 @@ </table></div> </li> <li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> - <a name="idp622037424-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="identifier">size_type</span> element_count<span class="special">,</span> + <a name="idp641245264-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="identifier">size_type</span> element_count<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">allocator</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">rebind</span><span class="special"><</span> <span class="identifier">U</span> <span class="special">></span><span class="special">::</span><span class="identifier">other</span> <span class="keyword">const</span> <span class="special">&</span> alloc<span class="special">)</span><span class="special">;</span></pre></li> -<li class="listitem"><pre class="literallayout"><a name="idp622039968-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="identifier">size_type</span> element_count<span class="special">,</span> <span class="identifier">allocator_arg</span> <span class="keyword">const</span> <span class="special">&</span> alloc<span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><a name="idp641247808-bb"></a><span class="identifier">spsc_queue</span><span class="special">(</span><span class="identifier">size_type</span> element_count<span class="special">,</span> <span class="identifier">allocator_arg</span> <span class="keyword">const</span> <span class="special">&</span> alloc<span class="special">)</span><span class="special">;</span></pre></li> </ol></div> </div> <div class="refsect2"> -<a name="idp367783456"></a><h3> -<a name="idp622044208-bb"></a><code class="computeroutput">spsc_queue</code> public member functions</h3> +<a name="idp343499840"></a><h3> +<a name="idp641252048-bb"></a><code class="computeroutput">spsc_queue</code> public member functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<pre class="literallayout"><span class="keyword">bool</span> <a name="idp622044768-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">bool</span> <a name="idp641252608-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> t<span class="special">)</span><span class="special">;</span></pre> <p>Pushes object t to the ringbuffer.</p> <p> @@ -184,7 +184,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">bool</span> <a name="idp622050416-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">bool</span> <a name="idp641258256-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> <p>Pops one object from ringbuffer.</p> <p> @@ -223,7 +223,7 @@ <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">></span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span><span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">is_convertible</span><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> <span class="keyword">bool</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> - <a name="idp622054688-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="identifier">U</span> <span class="special">&</span> ret<span class="special">)</span><span class="special">;</span></pre> + <a name="idp641262528-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="identifier">U</span> <span class="special">&</span> ret<span class="special">)</span><span class="special">;</span></pre> <p>Pops one object from ringbuffer.</p> <p> @@ -260,7 +260,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idp622060560-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> t<span class="special">,</span> <span class="identifier">size_type</span> size<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="idp641268400-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> t<span class="special">,</span> <span class="identifier">size_type</span> size<span class="special">)</span><span class="special">;</span></pre> <p>Pushes as many objects from the array t as there is space.</p> <p> @@ -292,7 +292,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="identifier">size_type</span> size<span class="special">></span> <span class="identifier">size_type</span> <a name="idp622065728-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">(</span><span class="special">&</span><span class="special">)</span> t<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="identifier">size_type</span> size<span class="special">></span> <span class="identifier">size_type</span> <a name="idp641273568-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">(</span><span class="special">&</span><span class="special">)</span> t<span class="special">)</span><span class="special">;</span></pre> <p>Pushes as many objects from the array t as there is space available.</p> <p> @@ -325,7 +325,7 @@ </li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> ConstIterator<span class="special">></span> - <span class="identifier">ConstIterator</span> <a name="idp622071344-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">ConstIterator</span> begin<span class="special">,</span> <span class="identifier">ConstIterator</span> end<span class="special">)</span><span class="special">;</span></pre> + <span class="identifier">ConstIterator</span> <a name="idp641279184-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">ConstIterator</span> begin<span class="special">,</span> <span class="identifier">ConstIterator</span> end<span class="special">)</span><span class="special">;</span></pre> <p>Pushes as many objects from the range [begin, end) as there is space .</p> <p> @@ -357,7 +357,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idp622077408-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span> ret<span class="special">,</span> <span class="identifier">size_type</span> size<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="idp641285248-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span> ret<span class="special">,</span> <span class="identifier">size_type</span> size<span class="special">)</span><span class="special">;</span></pre> <p>Pops a maximum of size objects from ringbuffer.</p> <p> @@ -389,7 +389,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="identifier">size_type</span> size<span class="special">></span> <span class="identifier">size_type</span> <a name="idp622082560-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span> ret<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="identifier">size_type</span> size<span class="special">></span> <span class="identifier">size_type</span> <a name="idp641290400-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span> ret<span class="special">)</span><span class="special">;</span></pre> <p>Pops a maximum of size objects from <code class="computeroutput"><a class="link" href="spsc_queue.html" title="Class template spsc_queue">spsc_queue</a></code>.</p> <p> @@ -423,7 +423,7 @@ <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="../../OutputIterator.html" title="Concept OutputIterator">OutputIterator</a><span class="special">></span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span><span class="special"><</span> <span class="keyword">typename</span> <span class="identifier">is_convertible</span><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> - <a name="idp622088880-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="identifier">OutputIterator</span> it<span class="special">)</span><span class="special">;</span></pre> + <a name="idp641296720-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="identifier">OutputIterator</span> it<span class="special">)</span><span class="special">;</span></pre> <p>Pops objects to the output iterator it</p> <p> @@ -455,7 +455,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="keyword">bool</span> <a name="idp622094256-bb"></a><span class="identifier">consume_one</span><span class="special">(</span><span class="identifier">Functor</span> <span class="special">&</span> f<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="keyword">bool</span> <a name="idp641302096-bb"></a><span class="identifier">consume_one</span><span class="special">(</span><span class="identifier">Functor</span> <span class="special">&</span> f<span class="special">)</span><span class="special">;</span></pre> <p>consumes one element via a functor</p> <p>pops one element from the queue and applies the functor on this object</p> <p> @@ -481,7 +481,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="keyword">bool</span> <a name="idp622098768-bb"></a><span class="identifier">consume_one</span><span class="special">(</span><span class="identifier">Functor</span> <span class="keyword">const</span> <span class="special">&</span> f<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="keyword">bool</span> <a name="idp641306608-bb"></a><span class="identifier">consume_one</span><span class="special">(</span><span class="identifier">Functor</span> <span class="keyword">const</span> <span class="special">&</span> f<span class="special">)</span><span class="special">;</span></pre> <p>consumes one element via a functor</p> <p>pops one element from the queue and applies the functor on this object</p> <p> @@ -507,7 +507,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="identifier">size_type</span> <a name="idp622103280-bb"></a><span class="identifier">consume_all</span><span class="special">(</span><span class="identifier">Functor</span> <span class="special">&</span> f<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="identifier">size_type</span> <a name="idp641311120-bb"></a><span class="identifier">consume_all</span><span class="special">(</span><span class="identifier">Functor</span> <span class="special">&</span> f<span class="special">)</span><span class="special">;</span></pre> <p>consumes all elements via a functor</p> <p>sequentially pops all elements from the queue and applies the functor on each object</p> <p> @@ -533,7 +533,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="identifier">size_type</span> <a name="idp622107808-bb"></a><span class="identifier">consume_all</span><span class="special">(</span><span class="identifier">Functor</span> <span class="keyword">const</span> <span class="special">&</span> f<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Functor<span class="special">></span> <span class="identifier">size_type</span> <a name="idp641315648-bb"></a><span class="identifier">consume_all</span><span class="special">(</span><span class="identifier">Functor</span> <span class="keyword">const</span> <span class="special">&</span> f<span class="special">)</span><span class="special">;</span></pre> <p>consumes all elements via a functor</p> <p>sequentially pops all elements from the queue and applies the functor on each object</p> <p> @@ -559,7 +559,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idp622112336-bb"></a><span class="identifier">read_available</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="idp641320176-bb"></a><span class="identifier">read_available</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p>get number of elements that are available for read</p> <p> </p> @@ -584,7 +584,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idp622115872-bb"></a><span class="identifier">write_available</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="idp641323712-bb"></a><span class="identifier">write_available</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p>get write space to write elements</p> <p> </p> @@ -609,7 +609,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span> <a name="idp622119376-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span> <a name="idp641327216-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p>get reference to element in the front of the queue</p> <p>Availability of front element can be checked using read_available().</p> <p> @@ -645,7 +645,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">T</span> <span class="special">&</span> <a name="idp622123440-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">T</span> <span class="special">&</span> <a name="idp641331280-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> <p>get reference to element in the front of the queue</p> <p>Availability of front element can be checked using read_available().</p> <p> @@ -681,7 +681,7 @@ </table></div> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="idp622127232-bb"></a><span class="identifier">reset</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="idp641335072-bb"></a><span class="identifier">reset</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> <p>reset the ringbuffer</p> <div class="note"><table border="0" summary="Note"> <tr> @@ -708,7 +708,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="queue/implementation_defined.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../lockfree/reference.html#header.boost.lockfree.spsc_queue_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stack.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="queue.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../lockfree/reference.html#header.boost.lockfree.spsc_queue_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stack.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html> |