Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 0448c66ab6afa2f787658c5e6488e2d9 > files > 4114

libstdc++-docs-8.3.1-0.20191101.1.mga7.noarch.rpm

<!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++: __gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt; Class 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&amp;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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a08584.html','');});
/* @license-end */
</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="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="a08581.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for __gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="a08583.svg" width="148" height="150"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<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:acae5ae9a2cd3de3a23c64139c5e28f42"><td class="memItemLeft" align="right" valign="top"><a id="acae5ae9a2cd3de3a23c64139c5e28f42"></a>
typedef _Traits::difference_type&#160;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
<tr class="separator:acae5ae9a2cd3de3a23c64139c5e28f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d2f2091f2d0a3656ead707fca898bc9"><td class="memItemLeft" align="right" valign="top"><a id="a0d2f2091f2d0a3656ead707fca898bc9"></a>
typedef _Traits::iterator_category&#160;</td><td class="memItemRight" valign="bottom"><b>iterator_category</b></td></tr>
<tr class="separator:a0d2f2091f2d0a3656ead707fca898bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d0a45b7a37545c06d879e691ff82fad"><td class="memItemLeft" align="right" valign="top"><a id="a7d0a45b7a37545c06d879e691ff82fad"></a>
typedef _Iterator&#160;</td><td class="memItemRight" valign="bottom"><b>iterator_type</b></td></tr>
<tr class="separator:a7d0a45b7a37545c06d879e691ff82fad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3677accf2e7871b3fe88a737a29748c0"><td class="memItemLeft" align="right" valign="top"><a id="a3677accf2e7871b3fe88a737a29748c0"></a>
typedef _Traits::pointer&#160;</td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
<tr class="separator:a3677accf2e7871b3fe88a737a29748c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1391857d0d0a6f0f84278f057b4e788c"><td class="memItemLeft" align="right" valign="top"><a id="a1391857d0d0a6f0f84278f057b4e788c"></a>
typedef _Traits::reference&#160;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
<tr class="separator:a1391857d0d0a6f0f84278f057b4e788c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a220ced344a88552c03752484168e7e29"><td class="memItemLeft" align="right" valign="top"><a id="a220ced344a88552c03752484168e7e29"></a>
typedef _Traits::value_type&#160;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
<tr class="separator:a220ced344a88552c03752484168e7e29"><td class="memSeparator" colspan="2">&#160;</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:af818ad242ea59d0754d787e22047668e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#af818ad242ea59d0754d787e22047668e">_Safe_iterator</a> () noexcept</td></tr>
<tr class="separator:af818ad242ea59d0754d787e22047668e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad00cfe13afd639ef572c8195ceaf2067"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#ad00cfe13afd639ef572c8195ceaf2067">_Safe_iterator</a> (const _Iterator &amp;__i, const <a class="el" href="a08684.html">_Safe_sequence_base</a> *__seq) noexcept</td></tr>
<tr class="separator:ad00cfe13afd639ef572c8195ceaf2067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e2e4bf1d865160996b6ca3189224682"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a5e2e4bf1d865160996b6ca3189224682">_Safe_iterator</a> (const <a class="el" href="a08584.html">_Safe_iterator</a> &amp;__x) noexcept</td></tr>
<tr class="separator:a5e2e4bf1d865160996b6ca3189224682"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6858ea7d7e4685b2a171acb00cb4b4d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a6858ea7d7e4685b2a171acb00cb4b4d1">_Safe_iterator</a> (<a class="el" href="a08584.html">_Safe_iterator</a> &amp;&amp;__x) noexcept</td></tr>
<tr class="separator:a6858ea7d7e4685b2a171acb00cb4b4d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d86abde8c5007c75af5002f5e604302"><td class="memTemplParams" colspan="2">template&lt;typename _MutableIterator &gt; </td></tr>
<tr class="memitem:a4d86abde8c5007c75af5002f5e604302"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a08584.html#a4d86abde8c5007c75af5002f5e604302">_Safe_iterator</a> (const <a class="el" href="a08584.html">_Safe_iterator</a>&lt; _MutableIterator, typename __gnu_cxx::__enable_if&lt;(std::__are_same&lt; _MutableIterator, typename _Sequence::iterator::iterator_type &gt;::__value), _Sequence &gt;::__type &gt; &amp;__x) noexcept</td></tr>
<tr class="separator:a4d86abde8c5007c75af5002f5e604302"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf3709cd9dcb3a7d4c5b7e2c7d975de2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#acf3709cd9dcb3a7d4c5b7e2c7d975de2">_M_attach</a> (<a class="el" href="a08684.html">_Safe_sequence_base</a> *__seq)</td></tr>
<tr class="separator:acf3709cd9dcb3a7d4c5b7e2c7d975de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c2eb995642e4aff7cce9d21def9d0e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a5c2eb995642e4aff7cce9d21def9d0e1">_M_attach_single</a> (<a class="el" href="a08684.html">_Safe_sequence_base</a> *__seq)</td></tr>
<tr class="separator:a5c2eb995642e4aff7cce9d21def9d0e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66a6d55e473c9ee51324b1bd3a4d087d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a66a6d55e473c9ee51324b1bd3a4d087d">_M_attached_to</a> (const <a class="el" href="a08684.html">_Safe_sequence_base</a> *__seq) const</td></tr>
<tr class="separator:a66a6d55e473c9ee51324b1bd3a4d087d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0efcd051204050a29ed7f440b5fe828"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#ab0efcd051204050a29ed7f440b5fe828">_M_before_dereferenceable</a> () const</td></tr>
<tr class="separator:ab0efcd051204050a29ed7f440b5fe828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca192f3348245d2f4bcf3a557f28ed12"><td class="memItemLeft" align="right" valign="top"><a id="aca192f3348245d2f4bcf3a557f28ed12"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>_M_can_advance</b> (const difference_type &amp;__n) const</td></tr>
<tr class="separator:aca192f3348245d2f4bcf3a557f28ed12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf82bbc78fe95b56a9b7682e7436fd45"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#adf82bbc78fe95b56a9b7682e7436fd45">_M_can_compare</a> (const <a class="el" href="a08680.html">_Safe_iterator_base</a> &amp;__x) const  throw ()</td></tr>
<tr class="separator:adf82bbc78fe95b56a9b7682e7436fd45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49ee7e593035721c3bf1781b75833bb3"><td class="memItemLeft" align="right" valign="top"><a id="a49ee7e593035721c3bf1781b75833bb3"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>_M_decrementable</b> () const</td></tr>
<tr class="separator:a49ee7e593035721c3bf1781b75833bb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1af2fada7005bb8545b4f354059d073"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#ae1af2fada7005bb8545b4f354059d073">_M_dereferenceable</a> () const</td></tr>
<tr class="separator:ae1af2fada7005bb8545b4f354059d073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1899eb4a27c3de8a74e9bf24dc920b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#af1899eb4a27c3de8a74e9bf24dc920b4">_M_detach_single</a> ()  throw ()</td></tr>
<tr class="separator:af1899eb4a27c3de8a74e9bf24dc920b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa45a79b1e99fe55e290389109b06f7"><td class="memItemLeft" align="right" valign="top"><a id="aaaa45a79b1e99fe55e290389109b06f7"></a>
__gnu_cxx::__conditional_type&lt; std::__are_same&lt; _Const_iterator, <a class="el" href="a08584.html">_Safe_iterator</a> &gt;::__value, const _Sequence *, _Sequence * &gt;::__type&#160;</td><td class="memItemRight" valign="bottom"><b>_M_get_sequence</b> () const</td></tr>
<tr class="separator:aaaa45a79b1e99fe55e290389109b06f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a891008919386786a74a52b40db8dfde7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a891008919386786a74a52b40db8dfde7">_M_incrementable</a> () const</td></tr>
<tr class="separator:a891008919386786a74a52b40db8dfde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a231c2eca561476c79c326ae696512cd2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a231c2eca561476c79c326ae696512cd2">_M_invalidate</a> ()</td></tr>
<tr class="separator:a231c2eca561476c79c326ae696512cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f1e2987ad4bf23c446ef9e04f9efe4f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a2f1e2987ad4bf23c446ef9e04f9efe4f">_M_is_before_begin</a> () const</td></tr>
<tr class="separator:a2f1e2987ad4bf23c446ef9e04f9efe4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49229901605035229866375706c6effb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a49229901605035229866375706c6effb">_M_is_begin</a> () const</td></tr>
<tr class="separator:a49229901605035229866375706c6effb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c6c67de960356b7b0289ed519a60c3c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a2c6c67de960356b7b0289ed519a60c3c">_M_is_beginnest</a> () const</td></tr>
<tr class="separator:a2c6c67de960356b7b0289ed519a60c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ad4bb1560e6e9ff36b0076795876559"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a0ad4bb1560e6e9ff36b0076795876559">_M_is_end</a> () const</td></tr>
<tr class="separator:a0ad4bb1560e6e9ff36b0076795876559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1546bb95326eb29d175cb45140a128dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a1546bb95326eb29d175cb45140a128dd">_M_reset</a> ()  throw ()</td></tr>
<tr class="separator:a1546bb95326eb29d175cb45140a128dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b53f0fdddebe4b27ee7f9e6410a9616"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a6b53f0fdddebe4b27ee7f9e6410a9616">_M_singular</a> () const  throw ()</td></tr>
<tr class="separator:a6b53f0fdddebe4b27ee7f9e6410a9616"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15200550c9de14f693bd2fd9badbce2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a15200550c9de14f693bd2fd9badbce2b">_M_unlink</a> ()  throw ()</td></tr>
<tr class="separator:a15200550c9de14f693bd2fd9badbce2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0a004d04d379e1164077c9ea22f5012"><td class="memItemLeft" align="right" valign="top"><a id="ae0a004d04d379e1164077c9ea22f5012"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>_M_valid_range</b> (const <a class="el" href="a08584.html">_Safe_iterator</a> &amp;__rhs, <a class="el" href="a07764.html">std::pair</a>&lt; difference_type, <a class="el" href="a01568.html#a3817879cb58c2db9f22712a634ef0b92">_Distance_precision</a> &gt; &amp;__dist, bool <a class="el" href="a01568.html#abca2c6a25b59aae1d07eef6df6c16fff">__check_dereferenceable</a>=true) const</td></tr>
<tr class="separator:ae0a004d04d379e1164077c9ea22f5012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29ea66ae79f56b47fccb9285a173f0a3"><td class="memItemLeft" align="right" valign="top">_Iterator &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a29ea66ae79f56b47fccb9285a173f0a3">base</a> () noexcept</td></tr>
<tr class="separator:a29ea66ae79f56b47fccb9285a173f0a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bb5ec20555257aad12b53e55cae0877"><td class="memItemLeft" align="right" valign="top"><a id="a6bb5ec20555257aad12b53e55cae0877"></a>
const _Iterator &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>base</b> () const noexcept</td></tr>
<tr class="separator:a6bb5ec20555257aad12b53e55cae0877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88ec2e064033945d02770dc9489b49be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a88ec2e064033945d02770dc9489b49be">operator _Iterator</a> () const noexcept</td></tr>
<tr class="separator:a88ec2e064033945d02770dc9489b49be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a057b5b69dbc2acfeba0a3e631f399ff9"><td class="memItemLeft" align="right" valign="top">reference&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a057b5b69dbc2acfeba0a3e631f399ff9">operator*</a> () const noexcept</td></tr>
<tr class="separator:a057b5b69dbc2acfeba0a3e631f399ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72eb1501ad6b2d97dd3ed996461d8194"><td class="memItemLeft" align="right" valign="top"><a id="a72eb1501ad6b2d97dd3ed996461d8194"></a>
<a class="el" href="a08584.html">_Safe_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator+</b> (const difference_type &amp;__n) const noexcept</td></tr>
<tr class="separator:a72eb1501ad6b2d97dd3ed996461d8194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a869b845a51e5a26a57a58d10bf67f382"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08584.html">_Safe_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a869b845a51e5a26a57a58d10bf67f382">operator++</a> () noexcept</td></tr>
<tr class="separator:a869b845a51e5a26a57a58d10bf67f382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7804651b863e0813fcb1f7c9d174d3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08584.html">_Safe_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#ab7804651b863e0813fcb1f7c9d174d3f">operator++</a> (int) noexcept</td></tr>
<tr class="separator:ab7804651b863e0813fcb1f7c9d174d3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2181fa70588a290c41e5353ecd0bd44"><td class="memItemLeft" align="right" valign="top"><a id="ad2181fa70588a290c41e5353ecd0bd44"></a>
<a class="el" href="a08584.html">_Safe_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator+=</b> (const difference_type &amp;__n) noexcept</td></tr>
<tr class="separator:ad2181fa70588a290c41e5353ecd0bd44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8442ccfb3aa04b9da13e75611951d78a"><td class="memItemLeft" align="right" valign="top"><a id="a8442ccfb3aa04b9da13e75611951d78a"></a>
<a class="el" href="a08584.html">_Safe_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator-</b> (const difference_type &amp;__n) const noexcept</td></tr>
<tr class="separator:a8442ccfb3aa04b9da13e75611951d78a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cded199c7e0dba936964bb0220763dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08584.html">_Safe_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a7cded199c7e0dba936964bb0220763dd">operator--</a> () noexcept</td></tr>
<tr class="separator:a7cded199c7e0dba936964bb0220763dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71ebea05c967b78ab017f1452bcd4bab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08584.html">_Safe_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a71ebea05c967b78ab017f1452bcd4bab">operator--</a> (int) noexcept</td></tr>
<tr class="separator:a71ebea05c967b78ab017f1452bcd4bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeba486587eeb936a4afb47efd968bec8"><td class="memItemLeft" align="right" valign="top"><a id="aeba486587eeb936a4afb47efd968bec8"></a>
<a class="el" href="a08584.html">_Safe_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator-=</b> (const difference_type &amp;__n) noexcept</td></tr>
<tr class="separator:aeba486587eeb936a4afb47efd968bec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e93dbb412077e446510fdc27f2d4834"><td class="memItemLeft" align="right" valign="top">pointer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a2e93dbb412077e446510fdc27f2d4834">operator-&gt;</a> () const noexcept</td></tr>
<tr class="separator:a2e93dbb412077e446510fdc27f2d4834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0c2d9d050f4e9b6a545da84153369b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08584.html">_Safe_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#ae0c2d9d050f4e9b6a545da84153369b4">operator=</a> (const <a class="el" href="a08584.html">_Safe_iterator</a> &amp;__x) noexcept</td></tr>
<tr class="separator:ae0c2d9d050f4e9b6a545da84153369b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e69db25a052231b0a30be50eb416dcf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08584.html">_Safe_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08584.html#a5e69db25a052231b0a30be50eb416dcf">operator=</a> (<a class="el" href="a08584.html">_Safe_iterator</a> &amp;&amp;__x) noexcept</td></tr>
<tr class="separator:a5e69db25a052231b0a30be50eb416dcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34c66a87d1f9b2c8a786db76945ac9cb"><td class="memItemLeft" align="right" valign="top"><a id="a34c66a87d1f9b2c8a786db76945ac9cb"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (const difference_type &amp;__n) const noexcept</td></tr>
<tr class="separator:a34c66a87d1f9b2c8a786db76945ac9cb"><td class="memSeparator" colspan="2">&#160;</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:ae1d73bfac68a69f3ffe56c0f0d4c6063"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08680.html">_Safe_iterator_base</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#ae1d73bfac68a69f3ffe56c0f0d4c6063">_M_next</a></td></tr>
<tr class="separator:ae1d73bfac68a69f3ffe56c0f0d4c6063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3aa8afe2713aba16a79e934cbe50f1c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08680.html">_Safe_iterator_base</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#ad3aa8afe2713aba16a79e934cbe50f1c">_M_prior</a></td></tr>
<tr class="separator:ad3aa8afe2713aba16a79e934cbe50f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ee820218a8e43841a84d866dc94f1e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a08684.html">_Safe_sequence_base</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a0ee820218a8e43841a84d866dc94f1e3">_M_sequence</a></td></tr>
<tr class="separator:a0ee820218a8e43841a84d866dc94f1e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad07568d7660eb8b85493b548d10c637a"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#ad07568d7660eb8b85493b548d10c637a">_M_version</a></td></tr>
<tr class="separator:ad07568d7660eb8b85493b548d10c637a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a51809843192abdf6415ec0342fb0fdb9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a51809843192abdf6415ec0342fb0fdb9">_M_attach</a> (<a class="el" href="a08684.html">_Safe_sequence_base</a> *__seq, bool __constant)</td></tr>
<tr class="separator:a51809843192abdf6415ec0342fb0fdb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45148b9f8f44371fedfd62f39827a18b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a45148b9f8f44371fedfd62f39827a18b">_M_attach_single</a> (<a class="el" href="a08684.html">_Safe_sequence_base</a> *__seq, bool __constant)  throw ()</td></tr>
<tr class="separator:a45148b9f8f44371fedfd62f39827a18b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8deb31273aaf1912a5540ae046581c54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a8deb31273aaf1912a5540ae046581c54">_M_detach</a> ()</td></tr>
<tr class="separator:a8deb31273aaf1912a5540ae046581c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8503df34e352af4f20a519bd5a2ffc10"><td class="memItemLeft" align="right" valign="top">__gnu_cxx::__mutex &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a08680.html#a8503df34e352af4f20a519bd5a2ffc10">_M_get_mutex</a> ()  throw ()</td></tr>
<tr class="separator:a8503df34e352af4f20a519bd5a2ffc10"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _Iterator, typename _Sequence&gt;<br />
class __gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;</h3>

<p>Safe iterator wrapper. </p>
<p>The class template _Safe_iterator is a wrapper around an iterator that tracks the iterator's movement among sequences and checks that operations performed on the "safe" iterator are legal. In additional to the basic iterator operations (which are validated, and then passed to the underlying iterator), _Safe_iterator has member functions for iterator invalidation, attaching/detaching the iterator from sequences, and querying the iterator's state.</p>
<p>Note that _Iterator must be the first base class so that it gets initialized before the iterator is being attached to the container's list of iterators and it is being detached before _Iterator get destroyed. Otherwise it would result in a data race. </p>

<p class="definition">Definition at line <a class="el" href="a00746_source.html#l00056">56</a> of file <a class="el" href="a00746_source.html">formatter.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af818ad242ea59d0754d787e22047668e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af818ad242ea59d0754d787e22047668e">&#9670;&nbsp;</a></span>_Safe_iterator() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::<a class="el" href="a08584.html">_Safe_iterator</a> </td>
          <td>(</td>
          <td class="paramname"></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">
<dl class="section post"><dt>Postcondition</dt><dd>the iterator is singular and unattached </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00119">119</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="ad00cfe13afd639ef572c8195ceaf2067"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad00cfe13afd639ef572c8195ceaf2067">&#9670;&nbsp;</a></span>_Safe_iterator() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::<a class="el" href="a08584.html">_Safe_iterator</a> </td>
          <td>(</td>
          <td class="paramtype">const _Iterator &amp;&#160;</td>
          <td class="paramname"><em>__i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a08684.html">_Safe_sequence_base</a> *&#160;</td>
          <td class="paramname"><em>__seq</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Safe iterator construction from an unsafe iterator and its sequence. </p>
<dl class="section pre"><dt>Precondition</dt><dd><code>seq</code> is not NULL </dd></dl>
<dl class="section post"><dt>Postcondition</dt><dd>this is not singular </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00128">128</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a5e2e4bf1d865160996b6ca3189224682"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e2e4bf1d865160996b6ca3189224682">&#9670;&nbsp;</a></span>_Safe_iterator() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::<a class="el" href="a08584.html">_Safe_iterator</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a08584.html">_Safe_iterator</a>&lt; _Iterator, _Sequence &gt; &amp;&#160;</td>
          <td class="paramname"><em>__x</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>Copy construction. </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00140">140</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a6858ea7d7e4685b2a171acb00cb4b4d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6858ea7d7e4685b2a171acb00cb4b4d1">&#9670;&nbsp;</a></span>_Safe_iterator() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::<a class="el" href="a08584.html">_Safe_iterator</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a08584.html">_Safe_iterator</a>&lt; _Iterator, _Sequence &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>__x</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>Move construction. </p>
<dl class="section post"><dt>Postcondition</dt><dd>__x is singular and unattached </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00158">158</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a4d86abde8c5007c75af5002f5e604302"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d86abde8c5007c75af5002f5e604302">&#9670;&nbsp;</a></span>_Safe_iterator() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<div class="memtemplate">
template&lt;typename _MutableIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::<a class="el" href="a08584.html">_Safe_iterator</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a08584.html">_Safe_iterator</a>&lt; _MutableIterator, typename __gnu_cxx::__enable_if&lt;(std::__are_same&lt; _MutableIterator, typename _Sequence::iterator::iterator_type &gt;::__value), _Sequence &gt;::__type &gt; &amp;&#160;</td>
          <td class="paramname"><em>__x</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>Converting constructor from a mutable iterator to a constant iterator. </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00178">178</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a51809843192abdf6415ec0342fb0fdb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51809843192abdf6415ec0342fb0fdb9">&#9670;&nbsp;</a></span>_M_attach() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void __gnu_debug::_Safe_iterator_base::_M_attach </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a08684.html">_Safe_sequence_base</a> *&#160;</td>
          <td class="paramname"><em>__seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>__constant</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Attaches this iterator to the given sequence, detaching it from whatever sequence it was attached to originally. If the new sequence is the NULL pointer, the iterator is left unattached. </p>

<p class="reference">Referenced by <a class="el" href="a00773_source.html#l00416">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_attach()</a>, and <a class="el" href="a00767_source.html#l00089">__gnu_debug::_Safe_iterator_base::_Safe_iterator_base()</a>.</p>

</div>
</div>
<a id="acf3709cd9dcb3a7d4c5b7e2c7d975de2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf3709cd9dcb3a7d4c5b7e2c7d975de2">&#9670;&nbsp;</a></span>_M_attach() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_attach </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a08684.html">_Safe_sequence_base</a> *&#160;</td>
          <td class="paramname"><em>__seq</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Attach iterator to the given sequence. </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00416">416</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">References <a class="el" href="a08680.html#a51809843192abdf6415ec0342fb0fdb9">__gnu_debug::_Safe_iterator_base::_M_attach()</a>.</p>

</div>
</div>
<a id="a45148b9f8f44371fedfd62f39827a18b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45148b9f8f44371fedfd62f39827a18b">&#9670;&nbsp;</a></span>_M_attach_single() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void __gnu_debug::_Safe_iterator_base::_M_attach_single </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a08684.html">_Safe_sequence_base</a> *&#160;</td>
          <td class="paramname"><em>__seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>__constant</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
        <tr>
          <td align="right">throw </td><td>(</td><td colspan="2"></td>
        </tr>
        <tr>
          <td align="right"></td><td>)</td><td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Likewise, but not thread-safe. </p>

<p class="reference">Referenced by <a class="el" href="a00773_source.html#l00421">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_attach_single()</a>.</p>

</div>
</div>
<a id="a5c2eb995642e4aff7cce9d21def9d0e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c2eb995642e4aff7cce9d21def9d0e1">&#9670;&nbsp;</a></span>_M_attach_single() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_attach_single </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a08684.html">_Safe_sequence_base</a> *&#160;</td>
          <td class="paramname"><em>__seq</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Likewise, but not thread-safe. </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00421">421</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">References <a class="el" href="a08680.html#a45148b9f8f44371fedfd62f39827a18b">__gnu_debug::_Safe_iterator_base::_M_attach_single()</a>.</p>

</div>
</div>
<a id="a66a6d55e473c9ee51324b1bd3a4d087d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66a6d55e473c9ee51324b1bd3a4d087d">&#9670;&nbsp;</a></span>_M_attached_to()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool __gnu_debug::_Safe_iterator_base::_M_attached_to </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a08684.html">_Safe_sequence_base</a> *&#160;</td>
          <td class="paramname"><em>__seq</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Determines if we are attached to the given sequence. </p>

<p class="definition">Definition at line <a class="el" href="a00767_source.html#l00131">131</a> of file <a class="el" href="a00767_source.html">safe_base.h</a>.</p>

<p class="reference">References <a class="el" href="a00767_source.html#l00057">__gnu_debug::_Safe_iterator_base::_M_sequence</a>.</p>

</div>
</div>
<a id="ab0efcd051204050a29ed7f440b5fe828"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0efcd051204050a29ed7f440b5fe828">&#9670;&nbsp;</a></span>_M_before_dereferenceable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_before_dereferenceable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the iterator before a dereferenceable one? </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00431">431</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">References <a class="el" href="a00773_source.html#l00443">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_incrementable()</a>, and <a class="el" href="a00773_source.html#l00403">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::base()</a>.</p>

</div>
</div>
<a id="adf82bbc78fe95b56a9b7682e7436fd45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf82bbc78fe95b56a9b7682e7436fd45">&#9670;&nbsp;</a></span>_M_can_compare()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool __gnu_debug::_Safe_iterator_base::_M_can_compare </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a08680.html">_Safe_iterator_base</a> &amp;&#160;</td>
          <td class="paramname"><em>__x</em></td><td>)</td>
          <td> const</td>
        </tr>
        <tr>
          <td align="right">throw </td><td>(</td><td colspan="2"></td>
        </tr>
        <tr>
          <td align="right"></td><td>)</td><td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Can we compare this iterator to the given iterator <code>__x</code>? Returns true if both iterators are nonsingular and reference the same sequence. </p>

</div>
</div>
<a id="ae1af2fada7005bb8545b4f354059d073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1af2fada7005bb8545b4f354059d073">&#9670;&nbsp;</a></span>_M_dereferenceable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_dereferenceable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the iterator dereferenceable? </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00426">426</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">References <a class="el" href="a00773_source.html#l00482">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_is_before_begin()</a>, <a class="el" href="a00773_source.html#l00476">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_is_end()</a>, and <a class="el" href="a08680.html#a6b53f0fdddebe4b27ee7f9e6410a9616">__gnu_debug::_Safe_iterator_base::_M_singular()</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00773_source.html#l00743">__gnu_debug::__check_dereferenceable()</a>.</p>

</div>
</div>
<a id="a8deb31273aaf1912a5540ae046581c54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8deb31273aaf1912a5540ae046581c54">&#9670;&nbsp;</a></span>_M_detach()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void __gnu_debug::_Safe_iterator_base::_M_detach </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Detach the iterator for whatever sequence it is attached to, if any. </p>

</div>
</div>
<a id="af1899eb4a27c3de8a74e9bf24dc920b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1899eb4a27c3de8a74e9bf24dc920b4">&#9670;&nbsp;</a></span>_M_detach_single()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void __gnu_debug::_Safe_iterator_base::_M_detach_single </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
        <tr>
          <td align="right">throw </td><td>(</td><td colspan="2"></td>
        </tr>
        <tr>
          <td align="right"></td><td>)</td><td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Likewise, but not thread-safe. </p>

</div>
</div>
<a id="a8503df34e352af4f20a519bd5a2ffc10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8503df34e352af4f20a519bd5a2ffc10">&#9670;&nbsp;</a></span>_M_get_mutex()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">__gnu_cxx::__mutex&amp; __gnu_debug::_Safe_iterator_base::_M_get_mutex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
        <tr>
          <td align="right">throw </td><td>(</td><td colspan="2"></td>
        </tr>
        <tr>
          <td align="right"></td><td>)</td><td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>For use in _Safe_iterator. </p>

</div>
</div>
<a id="a891008919386786a74a52b40db8dfde7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a891008919386786a74a52b40db8dfde7">&#9670;&nbsp;</a></span>_M_incrementable()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_incrementable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the iterator incrementable? </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00443">443</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">References <a class="el" href="a00773_source.html#l00476">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_is_end()</a>, and <a class="el" href="a08680.html#a6b53f0fdddebe4b27ee7f9e6410a9616">__gnu_debug::_Safe_iterator_base::_M_singular()</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00773_source.html#l00431">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_before_dereferenceable()</a>.</p>

</div>
</div>
<a id="a231c2eca561476c79c326ae696512cd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a231c2eca561476c79c326ae696512cd2">&#9670;&nbsp;</a></span>_M_invalidate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void __gnu_debug::_Safe_iterator_base::_M_invalidate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Invalidate the iterator, making it singular. </p>

<p class="definition">Definition at line <a class="el" href="a00767_source.html#l00146">146</a> of file <a class="el" href="a00767_source.html">safe_base.h</a>.</p>

<p class="reference">References <a class="el" href="a00767_source.html#l00066">__gnu_debug::_Safe_iterator_base::_M_version</a>.</p>

</div>
</div>
<a id="a2f1e2987ad4bf23c446ef9e04f9efe4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f1e2987ad4bf23c446ef9e04f9efe4f">&#9670;&nbsp;</a></span>_M_is_before_begin()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_is_before_begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is this iterator equal to the sequence's before_begin() iterator if any? </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00482">482</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00773_source.html#l00426">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_dereferenceable()</a>.</p>

</div>
</div>
<a id="a49229901605035229866375706c6effb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49229901605035229866375706c6effb">&#9670;&nbsp;</a></span>_M_is_begin()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_is_begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is this iterator equal to the sequence's begin() iterator? </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00471">471</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">References <a class="el" href="a00773_source.html#l00403">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::base()</a>.</p>

</div>
</div>
<a id="a2c6c67de960356b7b0289ed519a60c3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c6c67de960356b7b0289ed519a60c3c">&#9670;&nbsp;</a></span>_M_is_beginnest()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_is_beginnest </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is this iterator equal to the sequence's before_begin() iterator if any or begin() otherwise? </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00488">488</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a0ad4bb1560e6e9ff36b0076795876559"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ad4bb1560e6e9ff36b0076795876559">&#9670;&nbsp;</a></span>_M_is_end()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::_M_is_end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is this iterator equal to the sequence's end() iterator? </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00476">476</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">References <a class="el" href="a00773_source.html#l00403">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::base()</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00773_source.html#l00426">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_dereferenceable()</a>, and <a class="el" href="a00773_source.html#l00443">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_incrementable()</a>.</p>

</div>
</div>
<a id="a1546bb95326eb29d175cb45140a128dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1546bb95326eb29d175cb45140a128dd">&#9670;&nbsp;</a></span>_M_reset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void __gnu_debug::_Safe_iterator_base::_M_reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
        <tr>
          <td align="right">throw </td><td>(</td><td colspan="2"></td>
        </tr>
        <tr>
          <td align="right"></td><td>)</td><td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Reset all member variables </p>

</div>
</div>
<a id="a6b53f0fdddebe4b27ee7f9e6410a9616"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b53f0fdddebe4b27ee7f9e6410a9616">&#9670;&nbsp;</a></span>_M_singular()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool __gnu_debug::_Safe_iterator_base::_M_singular </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
        <tr>
          <td align="right">throw </td><td>(</td><td colspan="2"></td>
        </tr>
        <tr>
          <td align="right"></td><td>)</td><td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Is this iterator singular? </p>

<p class="reference">Referenced by <a class="el" href="a00767_source.html#l00168">__gnu_debug::__check_singular_aux()</a>, <a class="el" href="a00779_source.html#l00314">__gnu_debug::_Safe_local_iterator&lt; _Iterator, _Sequence &gt;::_M_dereferenceable()</a>, <a class="el" href="a00773_source.html#l00426">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_dereferenceable()</a>, <a class="el" href="a00779_source.html#l00319">__gnu_debug::_Safe_local_iterator&lt; _Iterator, _Sequence &gt;::_M_incrementable()</a>, and <a class="el" href="a00773_source.html#l00443">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_incrementable()</a>.</p>

</div>
</div>
<a id="a15200550c9de14f693bd2fd9badbce2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15200550c9de14f693bd2fd9badbce2b">&#9670;&nbsp;</a></span>_M_unlink()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void __gnu_debug::_Safe_iterator_base::_M_unlink </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
        <tr>
          <td align="right">throw </td><td>(</td><td colspan="2"></td>
        </tr>
        <tr>
          <td align="right"></td><td>)</td><td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Unlink itself </p>

<p class="definition">Definition at line <a class="el" href="a00767_source.html#l00155">155</a> of file <a class="el" href="a00767_source.html">safe_base.h</a>.</p>

</div>
</div>
<a id="a29ea66ae79f56b47fccb9285a173f0a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29ea66ae79f56b47fccb9285a173f0a3">&#9670;&nbsp;</a></span>base()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">_Iterator&amp; <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::base </td>
          <td>(</td>
          <td class="paramname"></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>Return the underlying iterator. </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00403">403</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00773_source.html#l00757">__gnu_debug::__get_distance()</a>, <a class="el" href="a00773_source.html#l00431">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_before_dereferenceable()</a>, <a class="el" href="a00773_source.html#l00471">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_is_begin()</a>, and <a class="el" href="a00773_source.html#l00476">__gnu_debug::_Safe_iterator&lt; _Iterator, _Sequence &gt;::_M_is_end()</a>.</p>

</div>
</div>
<a id="a88ec2e064033945d02770dc9489b49be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88ec2e064033945d02770dc9489b49be">&#9670;&nbsp;</a></span>operator _Iterator()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator _Iterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</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>Conversion to underlying non-debug iterator to allow better interaction with non-debug containers. </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00412">412</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a057b5b69dbc2acfeba0a3e631f399ff9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a057b5b69dbc2acfeba0a3e631f399ff9">&#9670;&nbsp;</a></span>operator*()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reference <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator* </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</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>Iterator dereference. </p>
<dl class="section pre"><dt>Precondition</dt><dd>iterator is dereferenceable </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00266">266</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a869b845a51e5a26a57a58d10bf67f382"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a869b845a51e5a26a57a58d10bf67f382">&#9670;&nbsp;</a></span>operator++() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">_Safe_iterator</a>&amp; <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator++ </td>
          <td>(</td>
          <td class="paramname"></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>Iterator preincrement. </p>
<dl class="section pre"><dt>Precondition</dt><dd>iterator is incrementable </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00293">293</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="ab7804651b863e0813fcb1f7c9d174d3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7804651b863e0813fcb1f7c9d174d3f">&#9670;&nbsp;</a></span>operator++() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">_Safe_iterator</a> <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator++ </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"></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>Iterator postincrement. </p>
<dl class="section pre"><dt>Precondition</dt><dd>iterator is incrementable </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00308">308</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a7cded199c7e0dba936964bb0220763dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cded199c7e0dba936964bb0220763dd">&#9670;&nbsp;</a></span>operator--() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">_Safe_iterator</a>&amp; <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator-- </td>
          <td>(</td>
          <td class="paramname"></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>Iterator predecrement. </p>
<dl class="section pre"><dt>Precondition</dt><dd>iterator is decrementable </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00323">323</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a71ebea05c967b78ab017f1452bcd4bab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71ebea05c967b78ab017f1452bcd4bab">&#9670;&nbsp;</a></span>operator--() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">_Safe_iterator</a> <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator-- </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"></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>Iterator postdecrement. </p>
<dl class="section pre"><dt>Precondition</dt><dd>iterator is decrementable </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00338">338</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a2e93dbb412077e446510fdc27f2d4834"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e93dbb412077e446510fdc27f2d4834">&#9670;&nbsp;</a></span>operator-&gt;()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">pointer <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator-&gt; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</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>Iterator dereference. </p>
<dl class="section pre"><dt>Precondition</dt><dd>iterator is dereferenceable </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00279">279</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="ae0c2d9d050f4e9b6a545da84153369b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0c2d9d050f4e9b6a545da84153369b4">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">_Safe_iterator</a>&amp; <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a08584.html">_Safe_iterator</a>&lt; _Iterator, _Sequence &gt; &amp;&#160;</td>
          <td class="paramname"><em>__x</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>Copy assignment. </p>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00199">199</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<a id="a5e69db25a052231b0a30be50eb416dcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e69db25a052231b0a30be50eb416dcf">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Iterator, typename _Sequence&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08584.html">_Safe_iterator</a>&amp; <a class="el" href="a08584.html">__gnu_debug::_Safe_iterator</a>&lt; _Iterator, _Sequence &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a08584.html">_Safe_iterator</a>&lt; _Iterator, _Sequence &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>__x</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>Move assignment. </p>
<dl class="section post"><dt>Postcondition</dt><dd>__x is singular and unattached </dd></dl>

<p class="definition">Definition at line <a class="el" href="a00773_source.html#l00231">231</a> of file <a class="el" href="a00773_source.html">safe_iterator.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae1d73bfac68a69f3ffe56c0f0d4c6063"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1d73bfac68a69f3ffe56c0f0d4c6063">&#9670;&nbsp;</a></span>_M_next</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08680.html">_Safe_iterator_base</a>* __gnu_debug::_Safe_iterator_base::_M_next</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Pointer to the next iterator in the sequence's list of iterators. Only valid when _M_sequence != NULL. </p>

<p class="definition">Definition at line <a class="el" href="a00767_source.html#l00074">74</a> of file <a class="el" href="a00767_source.html">safe_base.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00788_source.html#l00069">__gnu_debug::_Safe_sequence&lt; map&lt; _Key, _Tp, _Compare, _Allocator &gt; &gt;::_M_transfer_from_if()</a>.</p>

</div>
</div>
<a id="ad3aa8afe2713aba16a79e934cbe50f1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3aa8afe2713aba16a79e934cbe50f1c">&#9670;&nbsp;</a></span>_M_prior</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08680.html">_Safe_iterator_base</a>* __gnu_debug::_Safe_iterator_base::_M_prior</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Pointer to the previous iterator in the sequence's list of iterators. Only valid when _M_sequence != NULL. </p>

<p class="definition">Definition at line <a class="el" href="a00767_source.html#l00070">70</a> of file <a class="el" href="a00767_source.html">safe_base.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00788_source.html#l00069">__gnu_debug::_Safe_sequence&lt; map&lt; _Key, _Tp, _Compare, _Allocator &gt; &gt;::_M_transfer_from_if()</a>.</p>

</div>
</div>
<a id="a0ee820218a8e43841a84d866dc94f1e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ee820218a8e43841a84d866dc94f1e3">&#9670;&nbsp;</a></span>_M_sequence</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a08684.html">_Safe_sequence_base</a>* __gnu_debug::_Safe_iterator_base::_M_sequence</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The sequence this iterator references; may be NULL to indicate a singular iterator. </p>

<p class="definition">Definition at line <a class="el" href="a00767_source.html#l00057">57</a> of file <a class="el" href="a00767_source.html">safe_base.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00767_source.html#l00131">__gnu_debug::_Safe_iterator_base::_M_attached_to()</a>, <a class="el" href="a00788_source.html#l00069">__gnu_debug::_Safe_sequence&lt; map&lt; _Key, _Tp, _Compare, _Allocator &gt; &gt;::_M_transfer_from_if()</a>, <a class="el" href="a00767_source.html#l00096">__gnu_debug::_Safe_iterator_base::_Safe_iterator_base()</a>, and <a class="el" href="a00791_source.html#l00070">__gnu_debug::_Safe_local_iterator_base::_Safe_local_iterator_base()</a>.</p>

</div>
</div>
<a id="ad07568d7660eb8b85493b548d10c637a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad07568d7660eb8b85493b548d10c637a">&#9670;&nbsp;</a></span>_M_version</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int __gnu_debug::_Safe_iterator_base::_M_version</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The version number of this iterator. The sentinel value 0 is used to indicate an invalidated iterator (i.e., one that is singular because of an operation on the container). This version number must equal the version number in the sequence referenced by _M_sequence for the iterator to be non-singular. </p>

<p class="definition">Definition at line <a class="el" href="a00767_source.html#l00066">66</a> of file <a class="el" href="a00767_source.html">safe_base.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="a00767_source.html#l00146">__gnu_debug::_Safe_iterator_base::_M_invalidate()</a>, and <a class="el" href="a00788_source.html#l00069">__gnu_debug::_Safe_sequence&lt; map&lt; _Key, _Tp, _Compare, _Allocator &gt; &gt;::_M_transfer_from_if()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="a00746_source.html">formatter.h</a></li>
<li><a class="el" href="a00773_source.html">safe_iterator.h</a></li>
<li><a class="el" href="a00776_source.html">safe_iterator.tcc</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="a01568.html">__gnu_debug</a></li><li class="navelem"><a class="el" href="a08584.html">_Safe_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>