<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libstdc++: std::_Deque_iterator< _Tp, _Ref, _Ptr > Struct Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('a07292.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="a07289.html">List of all members</a> </div> <div class="headertitle"> <div class="title">std::_Deque_iterator< _Tp, _Ref, _Ptr > Struct Template Reference</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:ae827e50c878b67617c9737194c65a67c"><td class="memItemLeft" align="right" valign="top"><a id="ae827e50c878b67617c9737194c65a67c"></a> typedef __ptr_to< _Tp > </td><td class="memItemRight" valign="bottom"><b>_Elt_pointer</b></td></tr> <tr class="separator:ae827e50c878b67617c9737194c65a67c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acc5009cb0a4988b3f87b24977dddc5d1"><td class="memItemLeft" align="right" valign="top"><a id="acc5009cb0a4988b3f87b24977dddc5d1"></a> typedef __ptr_to< _Elt_pointer > </td><td class="memItemRight" valign="bottom"><b>_Map_pointer</b></td></tr> <tr class="separator:acc5009cb0a4988b3f87b24977dddc5d1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3e5d80c0f9cf2ae6dc80bd4bcac0eaab"><td class="memItemLeft" align="right" valign="top"><a id="a3e5d80c0f9cf2ae6dc80bd4bcac0eaab"></a> typedef <a class="el" href="a07292.html">_Deque_iterator</a> </td><td class="memItemRight" valign="bottom"><b>_Self</b></td></tr> <tr class="separator:a3e5d80c0f9cf2ae6dc80bd4bcac0eaab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad43d9fac2c3c656339eea7c8d7ed9a05"><td class="memItemLeft" align="right" valign="top"><a id="ad43d9fac2c3c656339eea7c8d7ed9a05"></a> typedef <a class="el" href="a07292.html">__iter</a>< const _Tp > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr> <tr class="separator:ad43d9fac2c3c656339eea7c8d7ed9a05"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acf261c794a41bbfda1ea4b20ebccb764"><td class="memItemLeft" align="right" valign="top"><a id="acf261c794a41bbfda1ea4b20ebccb764"></a> typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:acf261c794a41bbfda1ea4b20ebccb764"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a54291847aa1200e1561e6ee6f6225b78"><td class="memItemLeft" align="right" valign="top"><a id="a54291847aa1200e1561e6ee6f6225b78"></a> typedef <a class="el" href="a07292.html">__iter</a>< _Tp > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr> <tr class="separator:a54291847aa1200e1561e6ee6f6225b78"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a85e4feb795f04d0efbf5dbedbf9cd8b1"><td class="memItemLeft" align="right" valign="top"><a id="a85e4feb795f04d0efbf5dbedbf9cd8b1"></a> typedef <a class="el" href="a07668.html">std::random_access_iterator_tag</a> </td><td class="memItemRight" valign="bottom"><b>iterator_category</b></td></tr> <tr class="separator:a85e4feb795f04d0efbf5dbedbf9cd8b1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad0eb7df1033be49d129bc209e11937f3"><td class="memItemLeft" align="right" valign="top"><a id="ad0eb7df1033be49d129bc209e11937f3"></a> typedef _Ptr </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr> <tr class="separator:ad0eb7df1033be49d129bc209e11937f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a19ff388feeacc9c70c606731f09299ae"><td class="memItemLeft" align="right" valign="top"><a id="a19ff388feeacc9c70c606731f09299ae"></a> typedef _Ref </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:a19ff388feeacc9c70c606731f09299ae"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aace820b8fb6c6a4c929b1cf7d1efc3c4"><td class="memItemLeft" align="right" valign="top"><a id="aace820b8fb6c6a4c929b1cf7d1efc3c4"></a> typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:aace820b8fb6c6a4c929b1cf7d1efc3c4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acf3291d4b9271daec38cb159e28709d2"><td class="memItemLeft" align="right" valign="top"><a id="acf3291d4b9271daec38cb159e28709d2"></a> typedef _Tp </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:acf3291d4b9271daec38cb159e28709d2"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a440bc99a2719a46ebcdad2d45359882c"><td class="memItemLeft" align="right" valign="top"><a id="a440bc99a2719a46ebcdad2d45359882c"></a>  </td><td class="memItemRight" valign="bottom"><b>_Deque_iterator</b> (_Elt_pointer __x, _Map_pointer __y) noexcept</td></tr> <tr class="separator:a440bc99a2719a46ebcdad2d45359882c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9748be217850f7868d921db43e3bf007"><td class="memItemLeft" align="right" valign="top"><a id="a9748be217850f7868d921db43e3bf007"></a>  </td><td class="memItemRight" valign="bottom"><b>_Deque_iterator</b> (const <a class="el" href="a07292.html">iterator</a> &__x) noexcept</td></tr> <tr class="separator:a9748be217850f7868d921db43e3bf007"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5f8719c7cb1412cc6966025ef77157c6"><td class="memItemLeft" align="right" valign="top"><a id="a5f8719c7cb1412cc6966025ef77157c6"></a> <a class="el" href="a07292.html">iterator</a> </td><td class="memItemRight" valign="bottom"><b>_M_const_cast</b> () const noexcept</td></tr> <tr class="separator:a5f8719c7cb1412cc6966025ef77157c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d2581de34cff0de15953128185cbe55"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a07292.html#a8d2581de34cff0de15953128185cbe55">_M_set_node</a> (_Map_pointer __new_node) noexcept</td></tr> <tr class="separator:a8d2581de34cff0de15953128185cbe55"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af363772129840e6537314ffdad0727ad"><td class="memItemLeft" align="right" valign="top"><a id="af363772129840e6537314ffdad0727ad"></a> reference </td><td class="memItemRight" valign="bottom"><b>operator*</b> () const noexcept</td></tr> <tr class="separator:af363772129840e6537314ffdad0727ad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a78503206c54208c39e9e92d17c56ca27"><td class="memItemLeft" align="right" valign="top"><a id="a78503206c54208c39e9e92d17c56ca27"></a> <a class="el" href="a07292.html">_Self</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (difference_type __n) const noexcept</td></tr> <tr class="separator:a78503206c54208c39e9e92d17c56ca27"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab15f1baa9d84310a92b365a51393d1f2"><td class="memItemLeft" align="right" valign="top"><a id="ab15f1baa9d84310a92b365a51393d1f2"></a> <a class="el" href="a07292.html">_Self</a> & </td><td class="memItemRight" valign="bottom"><b>operator++</b> () noexcept</td></tr> <tr class="separator:ab15f1baa9d84310a92b365a51393d1f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac5582d2042dff7062993b549c01a8d2f"><td class="memItemLeft" align="right" valign="top"><a id="ac5582d2042dff7062993b549c01a8d2f"></a> <a class="el" href="a07292.html">_Self</a> </td><td class="memItemRight" valign="bottom"><b>operator++</b> (int) noexcept</td></tr> <tr class="separator:ac5582d2042dff7062993b549c01a8d2f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a547dd7531681ee4eb3cd8a5ca618bfb1"><td class="memItemLeft" align="right" valign="top"><a id="a547dd7531681ee4eb3cd8a5ca618bfb1"></a> <a class="el" href="a07292.html">_Self</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (difference_type __n) noexcept</td></tr> <tr class="separator:a547dd7531681ee4eb3cd8a5ca618bfb1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae65512deb1774897aa8258f57468e04f"><td class="memItemLeft" align="right" valign="top"><a id="ae65512deb1774897aa8258f57468e04f"></a> <a class="el" href="a07292.html">_Self</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (difference_type __n) const noexcept</td></tr> <tr class="separator:ae65512deb1774897aa8258f57468e04f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9770eb268d13c101d2add159be98df20"><td class="memItemLeft" align="right" valign="top"><a id="a9770eb268d13c101d2add159be98df20"></a> <a class="el" href="a07292.html">_Self</a> & </td><td class="memItemRight" valign="bottom"><b>operator--</b> () noexcept</td></tr> <tr class="separator:a9770eb268d13c101d2add159be98df20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b63405ce0df8e043149a69c3d5beaa0"><td class="memItemLeft" align="right" valign="top"><a id="a7b63405ce0df8e043149a69c3d5beaa0"></a> <a class="el" href="a07292.html">_Self</a> </td><td class="memItemRight" valign="bottom"><b>operator--</b> (int) noexcept</td></tr> <tr class="separator:a7b63405ce0df8e043149a69c3d5beaa0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3269a9d38831d600f5dbc0727c0e4a1c"><td class="memItemLeft" align="right" valign="top"><a id="a3269a9d38831d600f5dbc0727c0e4a1c"></a> <a class="el" href="a07292.html">_Self</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (difference_type __n) noexcept</td></tr> <tr class="separator:a3269a9d38831d600f5dbc0727c0e4a1c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a87b7549782466fce4d2de629b9f05858"><td class="memItemLeft" align="right" valign="top"><a id="a87b7549782466fce4d2de629b9f05858"></a> pointer </td><td class="memItemRight" valign="bottom"><b>operator-></b> () const noexcept</td></tr> <tr class="separator:a87b7549782466fce4d2de629b9f05858"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3277625a947ffa4d473a5ff135d6e009"><td class="memItemLeft" align="right" valign="top"><a id="a3277625a947ffa4d473a5ff135d6e009"></a> reference </td><td class="memItemRight" valign="bottom"><b>operator[]</b> (difference_type __n) const noexcept</td></tr> <tr class="separator:a3277625a947ffa4d473a5ff135d6e009"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr class="memitem:aa59043a835624fd73f40572311096c9b"><td class="memItemLeft" align="right" valign="top"><a id="aa59043a835624fd73f40572311096c9b"></a> static size_t </td><td class="memItemRight" valign="bottom"><b>_S_buffer_size</b> () noexcept</td></tr> <tr class="separator:aa59043a835624fd73f40572311096c9b"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:a6860ad7fb70d3dafa868da95d05dd919"><td class="memItemLeft" align="right" valign="top"><a id="a6860ad7fb70d3dafa868da95d05dd919"></a> _Elt_pointer </td><td class="memItemRight" valign="bottom"><b>_M_cur</b></td></tr> <tr class="separator:a6860ad7fb70d3dafa868da95d05dd919"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a96b131e5e2066f5d6388176fc91548a7"><td class="memItemLeft" align="right" valign="top"><a id="a96b131e5e2066f5d6388176fc91548a7"></a> _Elt_pointer </td><td class="memItemRight" valign="bottom"><b>_M_first</b></td></tr> <tr class="separator:a96b131e5e2066f5d6388176fc91548a7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b6a3efd699f05c3aafc48a0b0d9f682"><td class="memItemLeft" align="right" valign="top"><a id="a3b6a3efd699f05c3aafc48a0b0d9f682"></a> _Elt_pointer </td><td class="memItemRight" valign="bottom"><b>_M_last</b></td></tr> <tr class="separator:a3b6a3efd699f05c3aafc48a0b0d9f682"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5d7575b15aad6b384c10704973bd9ed1"><td class="memItemLeft" align="right" valign="top"><a id="a5d7575b15aad6b384c10704973bd9ed1"></a> _Map_pointer </td><td class="memItemRight" valign="bottom"><b>_M_node</b></td></tr> <tr class="separator:a5d7575b15aad6b384c10704973bd9ed1"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><h3>template<typename _Tp, typename _Ref, typename _Ptr><br /> struct std::_Deque_iterator< _Tp, _Ref, _Ptr ></h3> <p>A deque::iterator. </p> <p>Quite a bit of intelligence here. Much of the functionality of deque is actually passed off to this class. A deque holds two of these internally, marking its valid range. Access to elements is done as offsets of either of those two, relying on operator overloading in this class.</p> <p>All the functions are op overloads except for _M_set_node. </p> <p class="definition">Definition at line <a class="el" href="a00539_source.html#l00109">109</a> of file <a class="el" href="a00539_source.html">stl_deque.h</a>.</p> </div><h2 class="groupheader">Member Function Documentation</h2> <a id="a8d2581de34cff0de15953128185cbe55"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8d2581de34cff0de15953128185cbe55">◆ </a></span>_M_set_node()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp, typename _Ref, typename _Ptr> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a07292.html">std::_Deque_iterator</a>< _Tp, _Ref, _Ptr >::_M_set_node </td> <td>(</td> <td class="paramtype">_Map_pointer </td> <td class="paramname"><em>__new_node</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Prepares to traverse new_node. Sets everything except _M_cur, which should therefore be set by the caller immediately afterwards, based on _M_first and _M_last. </p> <p class="definition">Definition at line <a class="el" href="a00539_source.html#l00255">255</a> of file <a class="el" href="a00539_source.html">stl_deque.h</a>.</p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="a00539_source.html">stl_deque.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="a01538.html">std</a></li><li class="navelem"><a class="el" href="a07292.html">_Deque_iterator</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>