Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > c74ab286c3d46f9b82671d206e43a74b > files > 672

libstdc++-docs-4.6.3-2.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libstdc++: std::queue&lt; _Tp, _Sequence &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libstdc++</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('a00666.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">std::queue&lt; _Tp, _Sequence &gt; Class Template Reference<div class="ingroups"><a class="el" href="a01159.html">Sequences</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="std::queue" -->
<p>A standard container giving FIFO behavior.  
 <a href="a00666.html#details">More...</a></p>

<p><a href="a02328.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li><a class="anchor" id="a7fd5b7c0286d64f4ef2d825d851178eb"></a><!-- doxytag: member="std::queue::const_reference" ref="a7fd5b7c0286d64f4ef2d825d851178eb" args="" -->
typedef _Sequence::const_reference <b>const_reference</b>
<li><a class="anchor" id="ac4127d5fabbd14fceaf48d958fa74c6e"></a><!-- doxytag: member="std::queue::container_type" ref="ac4127d5fabbd14fceaf48d958fa74c6e" args="" -->
typedef _Sequence <b>container_type</b>
<li><a class="anchor" id="aec6059d3695adbcea35f8609f2a177c0"></a><!-- doxytag: member="std::queue::reference" ref="aec6059d3695adbcea35f8609f2a177c0" args="" -->
typedef _Sequence::reference <b>reference</b>
<li><a class="anchor" id="a4cca43892be30f643ba2cb1f36e8596d"></a><!-- doxytag: member="std::queue::size_type" ref="a4cca43892be30f643ba2cb1f36e8596d" args="" -->
typedef _Sequence::size_type <b>size_type</b>
<li><a class="anchor" id="adb07aea180f16d04665ecdf4de75e2c6"></a><!-- doxytag: member="std::queue::value_type" ref="adb07aea180f16d04665ecdf4de75e2c6" args="" -->
typedef _Sequence::value_type <b>value_type</b>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="a00666.html#aaee35aa54506e4d5272e8d64f9356be7">queue</a> (const _Sequence &amp;__c)
<li><a class="anchor" id="ae3e54d5e9a8de15048399f6f24d9cb93"></a><!-- doxytag: member="std::queue::queue" ref="ae3e54d5e9a8de15048399f6f24d9cb93" args="(_Sequence &amp;&amp;__c=_Sequence())" -->
<b>queue</b> (_Sequence &amp;&amp;__c=_Sequence())
<li>const_reference <a class="el" href="a00666.html#af1e1ea3c1adeaebf58ad89cae981e759">back</a> () const 
<li>reference <a class="el" href="a00666.html#afa9dca2075a73287acdad8800e9ad39d">back</a> ()
<li><a class="anchor" id="af8b301eb9690c7046e089817a4ef39ce"></a><!-- doxytag: member="std::queue::emplace" ref="af8b301eb9690c7046e089817a4ef39ce" args="(_Args &amp;&amp;...__args)" -->
template&lt;typename... _Args&gt; void <b>emplace</b> (_Args &amp;&amp;...__args)
<li>bool <a class="el" href="a00666.html#a1e39b6a58546ba8173b07348d3793027">empty</a> () const 
<li>reference <a class="el" href="a00666.html#a4a2ec140f75225a04b64572f4b914331">front</a> ()
<li>const_reference <a class="el" href="a00666.html#a5acc92617babd5020ba919306630eb93">front</a> () const 
<li>void <a class="el" href="a00666.html#ab918d7f862088e93a884cffae6dd9058">pop</a> ()
<li><a class="anchor" id="a3b3d586dc318878b360dbc41c26a479a"></a><!-- doxytag: member="std::queue::push" ref="a3b3d586dc318878b360dbc41c26a479a" args="(value_type &amp;&amp;__x)" -->
void <b>push</b> (value_type &amp;&amp;__x)
<li>void <a class="el" href="a00666.html#a18c27834d93d4d897d92f4fa6f910edf">push</a> (const value_type &amp;__x)
<li>size_type <a class="el" href="a00666.html#a14715622a5cbaab56fdebabf70ff0447">size</a> () const 
<li><a class="anchor" id="a704992c26c1686e9c7596478ae671284"></a><!-- doxytag: member="std::queue::swap" ref="a704992c26c1686e9c7596478ae671284" args="(queue &amp;__q)" -->
void <b>swap</b> (<a class="el" href="a00666.html">queue</a> &amp;__q)
</ul>
<h2><a name="pro-attribs"></a>
Protected Attributes</h2>
<ul>
<li>_Sequence <a class="el" href="a00666.html#a33f73620226c2827824851c0c935b28b">c</a>
</ul>
<h2><a name="friends"></a>
Friends</h2>
<ul>
<li><a class="anchor" id="aff88cda99bab4a1c83a4fbecc7a3fd26"></a><!-- doxytag: member="std::queue::operator&lt;" ref="aff88cda99bab4a1c83a4fbecc7a3fd26" args="(const queue&lt; _Tp1, _Seq1 &gt; &amp;, const queue&lt; _Tp1, _Seq1 &gt; &amp;)" -->
template&lt;typename _Tp1 , typename _Seq1 &gt; bool <b>operator&lt;</b> (const <a class="el" href="a00666.html">queue</a>&lt; _Tp1, _Seq1 &gt; &amp;, const <a class="el" href="a00666.html">queue</a>&lt; _Tp1, _Seq1 &gt; &amp;)
<li><a class="anchor" id="a30d0a0d7a77f37b12fa3fe0a64930944"></a><!-- doxytag: member="std::queue::operator==" ref="a30d0a0d7a77f37b12fa3fe0a64930944" args="(const queue&lt; _Tp1, _Seq1 &gt; &amp;, const queue&lt; _Tp1, _Seq1 &gt; &amp;)" -->
template&lt;typename _Tp1 , typename _Seq1 &gt; bool <b>operator==</b> (const <a class="el" href="a00666.html">queue</a>&lt; _Tp1, _Seq1 &gt; &amp;, const <a class="el" href="a00666.html">queue</a>&lt; _Tp1, _Seq1 &gt; &amp;)
</ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt;<br/>
class std::queue&lt; _Tp, _Sequence &gt;</h3>

<p>A standard container giving FIFO behavior. </p>
<p>Meets many of the requirements of a <a href="tables.html#65">container</a>, but does not define anything to do with iterators. Very few of the other standard container interfaces are defined.</p>
<p>This is not a true container, but an <em>adaptor</em>. It holds another container, and provides a wrapper interface to that container. The wrapper is what enforces strict first-in-first-out queue behavior.</p>
<p>The second template parameter defines the type of the underlying sequence/container. It defaults to <a class="el" href="a00455.html" title="A standard container using fixed-size memory allocation and constant-time manipulation of elements at...">std::deque</a>, but it can be any type that supports <code>front</code>, <code>back</code>, <code>push_back</code>, and <code>pop_front</code>, such as <a class="el" href="a00580.html" title="A standard container with linear time access to elements, and fixed time insertion/deletion at any po...">std::list</a> or an appropriate user-defined type.</p>
<p>Members not found in <em>normal</em> containers are <code>container_type</code>, which is a typedef for the second Sequence parameter, and <code>push</code> and <code>pop</code>, which are standard queue/FIFO operations. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00092">92</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aaee35aa54506e4d5272e8d64f9356be7"></a><!-- doxytag: member="std::queue::queue" ref="aaee35aa54506e4d5272e8d64f9356be7" args="(const _Sequence &amp;__c)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::<a class="el" href="a00666.html">queue</a> </td>
          <td>(</td>
          <td class="paramtype">const _Sequence &amp;&#160;</td>
          <td class="paramname"><em>__c</em></td><td>)</td>
          <td><code> [inline, explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor creates no elements. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00137">137</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="afa9dca2075a73287acdad8800e9ad39d"></a><!-- doxytag: member="std::queue::back" ref="afa9dca2075a73287acdad8800e9ad39d" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">reference <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::back </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a read/write reference to the data at the last element of the queue. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00184">184</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>References <a class="el" href="a01061_source.html#l00125">std::queue&lt; _Tp, _Sequence &gt;::c</a>.</p>

</div>
</div>
<a class="anchor" id="af1e1ea3c1adeaebf58ad89cae981e759"></a><!-- doxytag: member="std::queue::back" ref="af1e1ea3c1adeaebf58ad89cae981e759" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const_reference <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::back </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a read-only (constant) reference to the data at the last element of the queue. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00195">195</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>References <a class="el" href="a01061_source.html#l00125">std::queue&lt; _Tp, _Sequence &gt;::c</a>.</p>

</div>
</div>
<a class="anchor" id="a1e39b6a58546ba8173b07348d3793027"></a><!-- doxytag: member="std::queue::empty" ref="a1e39b6a58546ba8173b07348d3793027" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::empty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns true if the queue is empty. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00149">149</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>References <a class="el" href="a01061_source.html#l00125">std::queue&lt; _Tp, _Sequence &gt;::c</a>.</p>

</div>
</div>
<a class="anchor" id="a5acc92617babd5020ba919306630eb93"></a><!-- doxytag: member="std::queue::front" ref="a5acc92617babd5020ba919306630eb93" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const_reference <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::front </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a read-only (constant) reference to the data at the first element of the queue. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00173">173</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>References <a class="el" href="a01061_source.html#l00125">std::queue&lt; _Tp, _Sequence &gt;::c</a>.</p>

</div>
</div>
<a class="anchor" id="a4a2ec140f75225a04b64572f4b914331"></a><!-- doxytag: member="std::queue::front" ref="a4a2ec140f75225a04b64572f4b914331" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">reference <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::front </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a read/write reference to the data at the first element of the queue. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00162">162</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>References <a class="el" href="a01061_source.html#l00125">std::queue&lt; _Tp, _Sequence &gt;::c</a>.</p>

</div>
</div>
<a class="anchor" id="ab918d7f862088e93a884cffae6dd9058"></a><!-- doxytag: member="std::queue::pop" ref="ab918d7f862088e93a884cffae6dd9058" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::pop </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes first element. </p>
<p>This is a typical queue operation. It shrinks the queue by one. The time complexity of the operation depends on the underlying sequence.</p>
<p>Note that no data is returned, and if the first element's data is needed, it should be retrieved before <a class="el" href="a00666.html#ab918d7f862088e93a884cffae6dd9058" title="Removes first element.">pop()</a> is called. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00237">237</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>References <a class="el" href="a01061_source.html#l00125">std::queue&lt; _Tp, _Sequence &gt;::c</a>.</p>

</div>
</div>
<a class="anchor" id="a18c27834d93d4d897d92f4fa6f910edf"></a><!-- doxytag: member="std::queue::push" ref="a18c27834d93d4d897d92f4fa6f910edf" args="(const value_type &amp;__x)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::push </td>
          <td>(</td>
          <td class="paramtype">const value_type &amp;&#160;</td>
          <td class="paramname"><em>__x</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add data to the end of the queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>Data to be added.</td></tr>
  </table>
  </dd>
</dl>
<p>This is a typical queue operation. The function creates an element at the end of the queue and assigns the given data to it. The time complexity of the operation depends on the underlying sequence. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00211">211</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>References <a class="el" href="a01061_source.html#l00125">std::queue&lt; _Tp, _Sequence &gt;::c</a>.</p>

</div>
</div>
<a class="anchor" id="a14715622a5cbaab56fdebabf70ff0447"></a><!-- doxytag: member="std::queue::size" ref="a14715622a5cbaab56fdebabf70ff0447" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">size_type <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the number of elements in the queue. </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00154">154</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>References <a class="el" href="a01061_source.html#l00125">std::queue&lt; _Tp, _Sequence &gt;::c</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a33f73620226c2827824851c0c935b28b"></a><!-- doxytag: member="std::queue::c" ref="a33f73620226c2827824851c0c935b28b" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp, typename _Sequence = deque&lt;_Tp&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">_Sequence <a class="el" href="a00666.html">std::queue</a>&lt; _Tp, _Sequence &gt;::<a class="el" href="a00666.html#a33f73620226c2827824851c0c935b28b">c</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>'c' is the underlying container. Maintainers wondering why this isn't uglified as per style guidelines should note that this name is specified in the standard, [23.2.3.1]. (Why? Presumably for the same reason that it's protected instead of private: to allow derivation. But none of the other containers allow for derivation. Odd.) </p>

<p>Definition at line <a class="el" href="a01061_source.html#l00125">125</a> of file <a class="el" href="a01061_source.html">stl_queue.h</a>.</p>

<p>Referenced by <a class="el" href="a01061_source.html#l00184">std::queue&lt; _Tp, _Sequence &gt;::back()</a>, <a class="el" href="a01061_source.html#l00149">std::queue&lt; _Tp, _Sequence &gt;::empty()</a>, <a class="el" href="a01061_source.html#l00162">std::queue&lt; _Tp, _Sequence &gt;::front()</a>, <a class="el" href="a01061_source.html#l00284">std::operator&lt;()</a>, <a class="el" href="a01061_source.html#l00266">std::operator==()</a>, <a class="el" href="a01061_source.html#l00237">std::queue&lt; _Tp, _Sequence &gt;::pop()</a>, <a class="el" href="a01061_source.html#l00211">std::queue&lt; _Tp, _Sequence &gt;::push()</a>, and <a class="el" href="a01061_source.html#l00154">std::queue&lt; _Tp, _Sequence &gt;::size()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a01061_source.html">stl_queue.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a01137.html">std</a>      </li>
      <li class="navelem"><a class="el" href="a00666.html">queue</a>      </li>
      <li class="footer">Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li>
    </ul>
  </div>

</body>
</html>