l4re-base-25.08.0

This commit is contained in:
2025-09-12 15:55:45 +02:00
commit d959eaab98
37938 changed files with 9382688 additions and 0 deletions

View File

@@ -0,0 +1,474 @@
<!-- HTML header for doxygen 1.9.1-->
<!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.15.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>L4Re Operating System Framework: l4/cxx/avl_set Source File</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="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="l4re-awesome.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="projectlogo"><img alt="Logo" src="L4Re_rgb_logo_quer_hg_h55.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">L4Re Operating System Framework
</div>
<div id="projectbrief">Interface and Usage Documentation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.15.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</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">
$(function(){initNavTree('avl__set_source.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">avl_set</div></div>
</div><!--header-->
<div class="contents">
<a href="avl__set.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">// vi:set ft=cpp: -*- Mode: C++ -*-</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">/*</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * (c) 2008-2009 Alexander Warg &lt;warg@os.inf.tu-dresden.de&gt;,</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Carsten Weinhold &lt;weinhold@os.inf.tu-dresden.de&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * economic rights: Technische Universität Dresden (Germany)</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> *</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * License: see LICENSE.spdx (in this directory or the directories above)</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> */</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;l4/cxx/std_alloc&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;l4/cxx/std_ops&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;l4/cxx/type_traits&gt;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;<a class="code" href="avl__tree.html">l4/cxx/avl_tree</a>&gt;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">struct </span>Avl_set_tester;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacecxx.html">cxx</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacecxx_1_1Bits.html">Bits</a> {</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="keyword">template</span>&lt; <span class="keyword">typename</span> Node, <span class="keyword">typename</span> Key, <span class="keyword">typename</span> Node_op &gt;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">class </span>Avl_set_iter : <span class="keyword">public</span> __Bst_iter_b&lt;Node, Node_op&gt;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span>{</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">typedef</span> __Bst_iter_b&lt;Node, Node_op&gt; Base;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> Type_traits&lt;Key&gt;::Non_const_type Non_const_key;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">typedef</span> Avl_set_iter&lt;Node, Non_const_key, Node_op&gt; Non_const_iter;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">using </span>Base::_n;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">using </span>Base::_r;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">using </span>Base::inc;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> Avl_set_iter() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> Avl_set_iter(Node <span class="keyword">const</span> *t) : Base(t) {}</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> Avl_set_iter(Base <span class="keyword">const</span> &amp;o) : Base(o) {}</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> Avl_set_iter(Non_const_iter <span class="keyword">const</span> &amp;o)</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> : Base(o) {}</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> Avl_set_iter &amp;operator = (Non_const_iter <span class="keyword">const</span> &amp;o)</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> { Base::operator = (o); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> Key &amp;operator * ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span>Node*<span class="keyword">&gt;</span>(_n)-&gt;item; }</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> Key *operator -&gt; ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> &amp;<span class="keyword">const_cast&lt;</span>Node*<span class="keyword">&gt;</span>(_n)-&gt;item; }</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> Avl_set_iter &amp;operator ++ () { inc(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> Avl_set_iter operator ++ (<span class="keywordtype">int</span>)</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> { Avl_set_iter tmp = *<span class="keyword">this</span>; inc(); <span class="keywordflow">return</span> tmp; }</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>};</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="keyword">template</span>&lt;<span class="keyword">typename</span> KEY_TYPE&gt;</div>
<div class="foldopen" id="foldopen00098" data-start="{" data-end="};">
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="structcxx_1_1Bits_1_1Avl__set__get__key.html"> 98</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structcxx_1_1Bits_1_1Avl__set__get__key.html">Avl_set_get_key</a></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span>{</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">typedef</span> KEY_TYPE Key_type;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> NODE&gt;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> Key_type <span class="keyword">const</span> &amp;key_of(NODE <span class="keyword">const</span> *n)</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> { <span class="keywordflow">return</span> n-&gt;item; }</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span>};</div>
</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="keyword">template</span>&lt; <span class="keyword">typename</span> ITEM_TYPE, <span class="keyword">class </span>COMPARE,</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> A&gt; <span class="keyword">class </span>ALLOC,</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">typename</span> GET_KEY&gt;</div>
<div class="foldopen" id="foldopen00122" data-start="{" data-end="};">
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html"> 122</a></span><span class="keyword">class </span><a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">Base_avl_set</a></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span>{</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">friend</span> struct ::Avl_set_tester;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">enum</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> {</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca265ef3ba86548d8bf7ca76f93cde094b"> 135</a></span> <a class="code hl_enumvalue" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca265ef3ba86548d8bf7ca76f93cde094b">E_noent</a> = 2, </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca9a570c997ff2eac13f3bbc5dceb8c2fc"> 136</a></span> <a class="code hl_enumvalue" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca9a570c997ff2eac13f3bbc5dceb8c2fc">E_exist</a> = 17, </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca4de38aa9739ebc166603bc6c11bcefac"> 137</a></span> <a class="code hl_enumvalue" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca4de38aa9739ebc166603bc6c11bcefac">E_nomem</a> = 12, </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9dacab5343fd6bbe1a001c65774de917b1f00"> 138</a></span> <a class="code hl_enumvalue" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9dacab5343fd6bbe1a001c65774de917b1f00">E_inval</a> = 22 </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> };</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4"> 141</a></span> <span class="keyword">typedef</span> ITEM_TYPE <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4">Item_type</a>;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#ab37c1071641638a7390b102c0e5e9b06"> 143</a></span> <span class="keyword">typedef</span> GET_KEY <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#ab37c1071641638a7390b102c0e5e9b06">Get_key</a>;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b"> 145</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> GET_KEY::Key_type <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b">Key_type</a>;</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac238262fe8de67a57b66fc448305fb74"> 147</a></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> Type_traits&lt;Item_type&gt;::Const_type <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac238262fe8de67a57b66fc448305fb74">Const_item_type</a>;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a756f5559accbb0db39edc570533cc3d1"> 149</a></span> <span class="keyword">typedef</span> COMPARE <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a756f5559accbb0db39edc570533cc3d1">Item_compare</a>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">class </span>_Node : <span class="keyword">public</span> <a class="code hl_class" href="classcxx_1_1Avl__tree__node.html">Avl_tree_node</a></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> {</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4">Item_type</a> item;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> _Node() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> _Node(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4">Item_type</a> <span class="keyword">const</span> &amp;item) : <a class="code hl_function" href="classcxx_1_1Avl__tree__node.html#a203f3ee0aaa25ba3772a7aa842ccdf17">Avl_tree_node</a>(), item(item) {}</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ...ARGS&gt;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> _Node(ARGS &amp;&amp;...args) : <a class="code hl_function" href="classcxx_1_1Avl__tree__node.html#a203f3ee0aaa25ba3772a7aa842ccdf17">Avl_tree_node</a>(), item(cxx::forward&lt;ARGS&gt;(args)...)</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> {}</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> };</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00172" data-start="{" data-end="};">
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html"> 172</a></span> <span class="keyword">class </span>Node</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> {</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">struct </span>No_type;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">Base_avl_set</a>&lt;ITEM_TYPE, COMPARE, ALLOC, GET_KEY&gt;;</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> _Node <span class="keyword">const</span> *_n;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">explicit</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a8389a142b6854a34fa0db1ea5bd752c4">Node</a>(_Node <span class="keyword">const</span> *n) : _n(n) {}</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a8389a142b6854a34fa0db1ea5bd752c4"> 182</a></span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a8389a142b6854a34fa0db1ea5bd752c4">Node</a>() : _n(0) {}</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span></div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#af5bcdbee4b0975c9e814165ef85b903d"> 189</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4">Item_type</a> <span class="keyword">const</span> &amp;<a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#af5bcdbee4b0975c9e814165ef85b903d">operator * </a>() { <span class="keywordflow">return</span> _n-&gt;item; }</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a30ba23295e9dfb1f2978697a9eacfc31"> 195</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4">Item_type</a> <span class="keyword">const</span> *<a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a30ba23295e9dfb1f2978697a9eacfc31">operator -&gt; </a>() { <span class="keywordflow">return</span> &amp;_n-&gt;item; }</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span></div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a0f5f6f0812d67ce74f8c89dc5318c6b9"> 201</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a0f5f6f0812d67ce74f8c89dc5318c6b9">valid</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _n; }</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a92a711db29517be4ee5bf6d49b364dbf"> 204</a></span> <span class="keyword">operator</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4">Item_type</a> <span class="keyword">const</span> * () { <span class="keywordflow">return</span> _n ? &amp;_n-&gt;item : 0; }</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> };</div>
</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span></div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8a525c0344ed5b005ef16bdc1cd8ed8a"> 208</a></span> <span class="keyword">typedef</span> ALLOC&lt;_Node&gt; <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8a525c0344ed5b005ef16bdc1cd8ed8a">Node_allocator</a>;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">typedef</span> <a class="code hl_class" href="classcxx_1_1Avl__tree.html">Avl_tree&lt;_Node, GET_KEY, COMPARE&gt;</a> Tree;</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> Tree _tree;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8a525c0344ed5b005ef16bdc1cd8ed8a">Node_allocator</a> _alloc;</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">Base_avl_set</a> &amp;operator = (<a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">Base_avl_set</a> <span class="keyword">const</span> &amp;) = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Bst.html#ae628bde559d6ba86df53d02c0aa62976">Tree::Fwd_iter_ops</a> Fwd;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Bst.html#a7ce877ca5f73fad93fdeae0443616f1c">Tree::Rev_iter_ops</a> Rev;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> Type_traits&lt;Item_type&gt;::Param_type Item_param_type;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a0ed1310ae21e7dff1a5d02bb070d980d"> 225</a></span> <span class="keyword">typedef</span> Avl_set_iter&lt;_Node, Item_type, Fwd&gt; <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a0ed1310ae21e7dff1a5d02bb070d980d">Iterator</a>;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">typedef</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a0ed1310ae21e7dff1a5d02bb070d980d">Iterator</a> iterator;</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#adf5292c8b529cf9caf53855b96136cd7"> 228</a></span> <span class="keyword">typedef</span> Avl_set_iter&lt;_Node, Const_item_type, Fwd&gt; <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#adf5292c8b529cf9caf53855b96136cd7">Const_iterator</a>;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">typedef</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#adf5292c8b529cf9caf53855b96136cd7">Const_iterator</a> const_iterator;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a3117162871c5d2ee6c20da8720b352a1"> 231</a></span> <span class="keyword">typedef</span> Avl_set_iter&lt;_Node, Item_type, Rev&gt; <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a3117162871c5d2ee6c20da8720b352a1">Rev_iterator</a>;</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">typedef</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a3117162871c5d2ee6c20da8720b352a1">Rev_iterator</a> reverse_iterator;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a9a0532334b146963c70051d1cbcdef1a"> 234</a></span> <span class="keyword">typedef</span> Avl_set_iter&lt;_Node, Const_item_type, Rev&gt; <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a9a0532334b146963c70051d1cbcdef1a">Const_rev_iterator</a>;</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">typedef</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a9a0532334b146963c70051d1cbcdef1a">Const_rev_iterator</a> const_reverse_iterator;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span></div>
<div class="foldopen" id="foldopen00243" data-start="{" data-end="}">
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777"> 243</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">Base_avl_set</a>(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8a525c0344ed5b005ef16bdc1cd8ed8a">Node_allocator</a> <span class="keyword">const</span> &amp;alloc = <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8a525c0344ed5b005ef16bdc1cd8ed8a">Node_allocator</a>()) </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> : _tree(), _alloc(alloc)</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> {}</div>
</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> </div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <a class="code hl_class" href="classcxx_1_1Bits_1_1Base__avl__set.html">~Base_avl_set</a>()</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> {</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> _tree.<a class="code hl_function" href="classcxx_1_1Bits_1_1Bst.html#ab86f783914505fd36cf3abddda981d4a">remove_all</a>([<span class="keyword">this</span>](_Node *n)</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> {</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> n-&gt;~_Node();</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> _alloc.free(n);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> });</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> }</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#acd26d51c56a9a8d27edcbad7313f1194"> 263</a></span> <span class="keyword">inline</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#acd26d51c56a9a8d27edcbad7313f1194">Base_avl_set</a>(<a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">Base_avl_set</a> <span class="keyword">const</span> &amp;o);</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac1f7218e9e51bfef71ecb746719a389a"> 282</a></span> <a class="code hl_struct" href="structcxx_1_1Pair.html">cxx::Pair&lt;Iterator, int&gt;</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac1f7218e9e51bfef71ecb746719a389a">insert</a>(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4">Item_type</a> <span class="keyword">const</span> &amp;item);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span>... Args&gt;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <a class="code hl_struct" href="structcxx_1_1Pair.html">cxx::Pair&lt;Iterator, int&gt;</a> emplace(Args&amp;&amp;... args);</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span></div>
<div class="foldopen" id="foldopen00295" data-start="{" data-end="}">
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a74890468049590443959526dbd52030d"> 295</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a74890468049590443959526dbd52030d">remove</a>(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b">Key_type</a> <span class="keyword">const</span> &amp;item)</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> {</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> _Node *n = _tree.remove(item);</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span> (n)</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> {</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> n-&gt;~_Node();</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> _alloc.free(n);</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> }</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> </div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">return</span> -<a class="code hl_enumvalue" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca265ef3ba86548d8bf7ca76f93cde094b">E_noent</a>;</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> }</div>
</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span></div>
<div class="foldopen" id="foldopen00313" data-start="{" data-end="}">
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac23e6ce546c6c8c0721f1e5937428387"> 313</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac23e6ce546c6c8c0721f1e5937428387">erase</a>(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b">Key_type</a> <span class="keyword">const</span> &amp;item)</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> { <span class="keywordflow">return</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a74890468049590443959526dbd52030d">remove</a>(item); }</div>
</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span></div>
<div class="foldopen" id="foldopen00324" data-start="{" data-end="}">
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a1825ad4f133473e296c3842cb7bbcc92"> 324</a></span> Node <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a1825ad4f133473e296c3842cb7bbcc92">find_node</a>(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b">Key_type</a> <span class="keyword">const</span> &amp;item)<span class="keyword"> const</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="keyword"> </span>{ <span class="keywordflow">return</span> Node(_tree.find_node(item)); }</div>
</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span></div>
<div class="foldopen" id="foldopen00335" data-start="{" data-end="}">
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#af0f524eec07922ea8cb12543cf6577d1"> 335</a></span> Node <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#af0f524eec07922ea8cb12543cf6577d1">lower_bound_node</a>(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b">Key_type</a> <span class="keyword">const</span> &amp;key)<span class="keyword"> const</span></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="keyword"> </span>{ <span class="keywordflow">return</span> Node(_tree.lower_bound_node(key)); }</div>
</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> Node <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#af0f524eec07922ea8cb12543cf6577d1">lower_bound_node</a>(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b">Key_type</a> &amp;&amp;key)<span class="keyword"> const</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span><span class="keyword"> </span>{ <span class="keywordflow">return</span> Node(_tree.<a class="code hl_function" href="classcxx_1_1Bits_1_1Bst.html#a206a8d12abbe95b955982f9f8ab1cb7b">lower_bound_node</a>(key)); }</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a83e54951cd2dcbaec5f65dd54fbbe184"> 345</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#adf5292c8b529cf9caf53855b96136cd7">Const_iterator</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a83e54951cd2dcbaec5f65dd54fbbe184">begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _tree.begin(); }</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8020e80cf3586ab9f036cfed74af67f6"> 350</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#adf5292c8b529cf9caf53855b96136cd7">Const_iterator</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8020e80cf3586ab9f036cfed74af67f6">end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _tree.end(); }</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> </div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a9964537a7faabfba0e5a2f7e166009f8"> 356</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a0ed1310ae21e7dff1a5d02bb070d980d">Iterator</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a9964537a7faabfba0e5a2f7e166009f8">begin</a>() { <span class="keywordflow">return</span> _tree.begin(); }</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a3ce4f84d5ac9101cee0b529fc3c188df"> 361</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a0ed1310ae21e7dff1a5d02bb070d980d">Iterator</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a3ce4f84d5ac9101cee0b529fc3c188df">end</a>() { <span class="keywordflow">return</span> _tree.end(); }</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span></div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a31fe31b50edc0e82f462b6a905011d86"> 367</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a9a0532334b146963c70051d1cbcdef1a">Const_rev_iterator</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a31fe31b50edc0e82f462b6a905011d86">rbegin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _tree.rbegin(); }</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8368aaa3e6700113a97620f6c482e110"> 372</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a9a0532334b146963c70051d1cbcdef1a">Const_rev_iterator</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8368aaa3e6700113a97620f6c482e110">rend</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _tree.rend(); }</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a433d0a61be08eb6577e0573400cf5494"> 378</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a3117162871c5d2ee6c20da8720b352a1">Rev_iterator</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a433d0a61be08eb6577e0573400cf5494">rbegin</a>() { <span class="keywordflow">return</span> _tree.rbegin(); }</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8ffade2ef0bc3b523d937e6ca781cde2"> 383</a></span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a3117162871c5d2ee6c20da8720b352a1">Rev_iterator</a> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8ffade2ef0bc3b523d937e6ca781cde2">rend</a>() { <span class="keywordflow">return</span> _tree.rend(); }</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> </div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#adf5292c8b529cf9caf53855b96136cd7">Const_iterator</a> find(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b">Key_type</a> <span class="keyword">const</span> &amp;item)<span class="keyword"> const</span></div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span><span class="keyword"> </span>{ <span class="keywordflow">return</span> _tree.<a class="code hl_function" href="classcxx_1_1Bits_1_1Bst.html#a9eebe72ec19fadd1e47c2f38585dabe7">find</a>(item); }</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> </div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span><span class="preprocessor">#ifdef __DEBUG_L4_AVL</span></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keywordtype">bool</span> rec_dump(<span class="keywordtype">bool</span> print)</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> {</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">return</span> _tree.rec_dump(print);</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> }</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span>};</div>
</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> </div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span><span class="comment">//----------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span><span class="comment">/* Implementation of AVL Tree */</span></div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> </div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span><span class="comment">/* Create a copy */</span></div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span><span class="keyword">template</span>&lt; <span class="keyword">typename</span> Item, <span class="keyword">class</span> Compare, <span class="keyword">template</span>&lt;<span class="keyword">typename</span> A&gt; <span class="keyword">class </span>Alloc, <span class="keyword">typename</span> KEY_TYPE&gt;</div>
<div class="foldopen" id="foldopen00402" data-start="{" data-end="}">
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#acd26d51c56a9a8d27edcbad7313f1194"> 402</a></span><a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">Base_avl_set&lt;Item,Compare,Alloc,KEY_TYPE&gt;::Base_avl_set</a>(<a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">Base_avl_set</a> <span class="keyword">const</span> &amp;o)</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> : _tree(), _alloc(o._alloc)</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span>{</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">for</span> (<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#adf5292c8b529cf9caf53855b96136cd7">Const_iterator</a> i = o.<a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a83e54951cd2dcbaec5f65dd54fbbe184">begin</a>(); i != o.<a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8020e80cf3586ab9f036cfed74af67f6">end</a>(); ++i)</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac1f7218e9e51bfef71ecb746719a389a">insert</a>(*i);</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span>}</div>
</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> </div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span><span class="comment">/* Insert new _Node. */</span></div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span><span class="keyword">template</span>&lt; <span class="keyword">typename</span> Item, <span class="keyword">class</span> Compare, <span class="keyword">template</span>&lt; <span class="keyword">typename</span> A &gt; <span class="keyword">class </span>Alloc, <span class="keyword">typename</span> KEY_TYPE&gt;</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span><a class="code hl_struct" href="structcxx_1_1Pair.html">Pair&lt;typename Base_avl_set&lt;Item,Compare,Alloc,KEY_TYPE&gt;::Iterator</a>, <span class="keywordtype">int</span>&gt;</div>
<div class="foldopen" id="foldopen00412" data-start="{" data-end="}">
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"><a class="line" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac1f7218e9e51bfef71ecb746719a389a"> 412</a></span><a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#ac1f7218e9e51bfef71ecb746719a389a">Base_avl_set&lt;Item,Compare,Alloc,KEY_TYPE&gt;::insert</a>(Item <span class="keyword">const</span> &amp;item)</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span>{</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> _Node *n = _alloc.alloc();</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">if</span> (!n)</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">return</span> cxx::pair(<a class="code hl_function" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8020e80cf3586ab9f036cfed74af67f6">end</a>(), -<a class="code hl_enumvalue" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca4de38aa9739ebc166603bc6c11bcefac">E_nomem</a>);</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> </div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">new</span> (n, <a class="code hl_class" href="classcxx_1_1Nothrow.html">Nothrow</a>()) _Node(item);</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <a class="code hl_struct" href="structcxx_1_1Pair.html">Pair&lt;_Node *, bool&gt;</a> err = _tree.insert(n);</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">if</span> (!err.<a class="code hl_variable" href="structcxx_1_1Pair.html#a5c1ced80a3c5af2f6af48ad8b61c06d7">second</a>)</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> {</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> n-&gt;~_Node();</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> _alloc.free(n);</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> }</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> </div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">return</span> cxx::pair(<a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a0ed1310ae21e7dff1a5d02bb070d980d">Iterator</a>(<span class="keyword">typename</span> <a class="code hl_typedef" href="classcxx_1_1Avl__tree.html#ae424081de9acc64beb848e8fa64f374e">Tree::Iterator</a>(err.<a class="code hl_variable" href="structcxx_1_1Pair.html#ae4b62c38c9af46282232356d3cedc880">first</a>, err.<a class="code hl_variable" href="structcxx_1_1Pair.html#ae4b62c38c9af46282232356d3cedc880">first</a>)), err.<a class="code hl_variable" href="structcxx_1_1Pair.html#a5c1ced80a3c5af2f6af48ad8b61c06d7">second</a> ? 0 : -<a class="code hl_enumvalue" href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca9a570c997ff2eac13f3bbc5dceb8c2fc">E_exist</a>);</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span>}</div>
</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> </div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span><span class="comment">/* In-place insert new _Node. */</span></div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span><span class="keyword">template</span>&lt; <span class="keyword">typename</span> Item, <span class="keyword">class</span> Compare, <span class="keyword">template</span>&lt; <span class="keyword">typename</span> A &gt; <span class="keyword">class </span>Alloc, <span class="keyword">typename</span> KEY_TYPE&gt;</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span><span class="keyword">template</span>&lt;<span class="keyword">typename</span>... Args&gt;</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span><a class="code hl_struct" href="structcxx_1_1Pair.html">Pair&lt;typename Base_avl_set&lt;Item,Compare,Alloc,KEY_TYPE&gt;::Iterator</a>, <span class="keywordtype">int</span>&gt;</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span>Base_avl_set&lt;Item,Compare,Alloc,KEY_TYPE&gt;::emplace(Args&amp;&amp;... args)</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span>{</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> _Node *n = _alloc.alloc();</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">if</span> (!n)</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">return</span> cxx::pair(end(), -E_nomem);</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> </div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keyword">new</span> (n, <a class="code hl_class" href="classcxx_1_1Nothrow.html">Nothrow</a>()) _Node(cxx::forward&lt;Args&gt;(args)...);</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <a class="code hl_struct" href="structcxx_1_1Pair.html">Pair&lt;_Node *, bool&gt;</a> err = _tree.<a class="code hl_function" href="classcxx_1_1Avl__tree.html#a202d84f24c534368f98b0986be0eee1b">insert</a>(n);</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">if</span> (!err.<a class="code hl_variable" href="structcxx_1_1Pair.html#a5c1ced80a3c5af2f6af48ad8b61c06d7">second</a>)</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> {</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> n-&gt;~_Node();</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> _alloc.free(n);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> }</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">return</span> cxx::pair(Iterator(<span class="keyword">typename</span> Tree::Iterator(err.<a class="code hl_variable" href="structcxx_1_1Pair.html#ae4b62c38c9af46282232356d3cedc880">first</a>, err.<a class="code hl_variable" href="structcxx_1_1Pair.html#ae4b62c38c9af46282232356d3cedc880">first</a>)), err.<a class="code hl_variable" href="structcxx_1_1Pair.html#a5c1ced80a3c5af2f6af48ad8b61c06d7">second</a> ? 0 : -E_exist);</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span>}</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> </div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span>} <span class="comment">// namespace Bits</span></div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span><span class="keyword">template</span>&lt; <span class="keyword">typename</span> ITEM_TYPE, <span class="keyword">class</span> COMPARE = Lt_functor&lt;ITEM_TYPE&gt;,</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> A&gt; <span class="keyword">class </span>ALLOC = <a class="code hl_class" href="classcxx_1_1New__allocator.html">New_allocator</a>&gt;</div>
<div class="foldopen" id="foldopen00465" data-start="{" data-end="};">
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"><a class="line" href="classcxx_1_1Avl__set.html"> 465</a></span><span class="keyword">class </span>Avl_set :</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keyword">public</span> <a class="code hl_class" href="classcxx_1_1Bits_1_1Base__avl__set.html">Bits::Base_avl_set</a>&lt;ITEM_TYPE, COMPARE, ALLOC,</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> Bits::Avl_set_get_key&lt;ITEM_TYPE&gt; &gt;</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span>{</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <span class="keyword">typedef</span> <a class="code hl_class" href="classcxx_1_1Bits_1_1Base__avl__set.html">Bits::Base_avl_set</a>&lt;ITEM_TYPE, COMPARE, ALLOC,</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> <a class="code hl_struct" href="structcxx_1_1Bits_1_1Avl__set__get__key.html">Bits::Avl_set_get_key&lt;ITEM_TYPE&gt;</a> &gt; Base;</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> </div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code hl_typedef" href="classcxx_1_1Bits_1_1Base__avl__set.html#a8a525c0344ed5b005ef16bdc1cd8ed8a">Base::Node_allocator</a> Node_allocator;</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> Avl_set() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> Avl_set(Node_allocator <span class="keyword">const</span> &amp;alloc)</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> : Base(alloc)</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> {}</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span>};</div>
</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span>} <span class="comment">// namespace cxx</span></div>
<div class="ttc" id="aavl__tree_html"><div class="ttname"><a href="avl__tree.html">avl_tree</a></div><div class="ttdoc">AVL tree.</div></div>
<div class="ttc" id="aclasscxx_1_1Avl__tree__node_html"><div class="ttname"><a href="classcxx_1_1Avl__tree__node.html">cxx::Avl_tree_node</a></div><div class="ttdoc">Node of an AVL tree.</div><div class="ttdef"><b>Definition</b> <a href="avl__tree_source.html#l00029">avl_tree:30</a></div></div>
<div class="ttc" id="aclasscxx_1_1Avl__tree__node_html_a203f3ee0aaa25ba3772a7aa842ccdf17"><div class="ttname"><a href="classcxx_1_1Avl__tree__node.html#a203f3ee0aaa25ba3772a7aa842ccdf17">cxx::Avl_tree_node::Avl_tree_node</a></div><div class="ttdeci">Avl_tree_node()=default</div><div class="ttdoc">Create an uninitialized node, this is what you should do.</div></div>
<div class="ttc" id="aclasscxx_1_1Avl__tree_html"><div class="ttname"><a href="classcxx_1_1Avl__tree.html">cxx::Avl_tree</a></div><div class="ttdoc">A generic AVL tree.</div><div class="ttdef"><b>Definition</b> <a href="avl__tree_source.html#l00100">avl_tree:101</a></div></div>
<div class="ttc" id="aclasscxx_1_1Avl__tree_html_a202d84f24c534368f98b0986be0eee1b"><div class="ttname"><a href="classcxx_1_1Avl__tree.html#a202d84f24c534368f98b0986be0eee1b">cxx::Avl_tree::insert</a></div><div class="ttdeci">Pair&lt; Node *, bool &gt; insert(Node *new_node)</div><div class="ttdoc">Insert a new node into this AVL tree.</div><div class="ttdef"><b>Definition</b> <a href="avl__tree_source.html#l00220">avl_tree:220</a></div></div>
<div class="ttc" id="aclasscxx_1_1Avl__tree_html_ae424081de9acc64beb848e8fa64f374e"><div class="ttname"><a href="classcxx_1_1Avl__tree.html#ae424081de9acc64beb848e8fa64f374e">cxx::Avl_tree&lt; _Node, GET_KEY, COMPARE &gt;::Iterator</a></div><div class="ttdeci">Bst::Iterator Iterator</div><div class="ttdef"><b>Definition</b> <a href="avl__tree_source.html#l00130">avl_tree:130</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_1_1Node_html_a0f5f6f0812d67ce74f8c89dc5318c6b9"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a0f5f6f0812d67ce74f8c89dc5318c6b9">cxx::Bits::Base_avl_set::Node::valid</a></div><div class="ttdeci">bool valid() const</div><div class="ttdoc">Validity check.</div><div class="ttdef"><b>Definition</b> <a href="#l00201">avl_set:201</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_1_1Node_html_a30ba23295e9dfb1f2978697a9eacfc31"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a30ba23295e9dfb1f2978697a9eacfc31">cxx::Bits::Base_avl_set::Node::operator-&gt;</a></div><div class="ttdeci">Item_type const * operator-&gt;()</div><div class="ttdoc">Dereferenced member access.</div><div class="ttdef"><b>Definition</b> <a href="#l00195">avl_set:195</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_1_1Node_html_a8389a142b6854a34fa0db1ea5bd752c4"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#a8389a142b6854a34fa0db1ea5bd752c4">cxx::Bits::Base_avl_set::Node::Node</a></div><div class="ttdeci">Node()</div><div class="ttdoc">Default construction for NIL pointer.</div><div class="ttdef"><b>Definition</b> <a href="#l00182">avl_set:182</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_1_1Node_html_af5bcdbee4b0975c9e814165ef85b903d"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set_1_1Node.html#af5bcdbee4b0975c9e814165ef85b903d">cxx::Bits::Base_avl_set::Node::operator*</a></div><div class="ttdeci">Item_type const &amp; operator*()</div><div class="ttdoc">Dereference the pointer.</div><div class="ttdef"><b>Definition</b> <a href="#l00189">avl_set:189</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html">cxx::Bits::Base_avl_set</a></div><div class="ttdoc">Internal: AVL set with internally managed nodes.</div><div class="ttdef"><b>Definition</b> <a href="#l00122">avl_set:123</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a0ed1310ae21e7dff1a5d02bb070d980d"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a0ed1310ae21e7dff1a5d02bb070d980d">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Iterator</a></div><div class="ttdeci">Avl_set_iter&lt; _Node, Item_type, Fwd &gt; Iterator</div><div class="ttdef"><b>Definition</b> <a href="#l00225">avl_set:225</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a1825ad4f133473e296c3842cb7bbcc92"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a1825ad4f133473e296c3842cb7bbcc92">cxx::Bits::Base_avl_set::find_node</a></div><div class="ttdeci">Node find_node(Key_type const &amp;item) const</div><div class="ttdoc">Lookup a node equal to item.</div><div class="ttdef"><b>Definition</b> <a href="#l00324">avl_set:324</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a3117162871c5d2ee6c20da8720b352a1"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a3117162871c5d2ee6c20da8720b352a1">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Rev_iterator</a></div><div class="ttdeci">Avl_set_iter&lt; _Node, Item_type, Rev &gt; Rev_iterator</div><div class="ttdef"><b>Definition</b> <a href="#l00231">avl_set:231</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a31fe31b50edc0e82f462b6a905011d86"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a31fe31b50edc0e82f462b6a905011d86">cxx::Bits::Base_avl_set::rbegin</a></div><div class="ttdeci">Const_rev_iterator rbegin() const</div><div class="ttdoc">Get the constant backward iterator for the last element in the set.</div><div class="ttdef"><b>Definition</b> <a href="#l00367">avl_set:367</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a3ce4f84d5ac9101cee0b529fc3c188df"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a3ce4f84d5ac9101cee0b529fc3c188df">cxx::Bits::Base_avl_set::end</a></div><div class="ttdeci">Iterator end()</div><div class="ttdoc">Get the end marker for the mutable forward iterator.</div><div class="ttdef"><b>Definition</b> <a href="#l00361">avl_set:361</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a433d0a61be08eb6577e0573400cf5494"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a433d0a61be08eb6577e0573400cf5494">cxx::Bits::Base_avl_set::rbegin</a></div><div class="ttdeci">Rev_iterator rbegin()</div><div class="ttdoc">Get the mutable backward iterator for the last element of the set.</div><div class="ttdef"><b>Definition</b> <a href="#l00378">avl_set:378</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a549dd8b622ed64bf14e317c8ad88ab0b"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a549dd8b622ed64bf14e317c8ad88ab0b">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Key_type</a></div><div class="ttdeci">Bits::Avl_map_get_key&lt; KEY_TYPE &gt;::Key_type Key_type</div><div class="ttdef"><b>Definition</b> <a href="#l00145">avl_set:145</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a6b1494f45a5e96e9387c737be16f99d4"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a6b1494f45a5e96e9387c737be16f99d4">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Item_type</a></div><div class="ttdeci">Local_item_type Item_type</div><div class="ttdef"><b>Definition</b> <a href="#l00141">avl_set:141</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a74890468049590443959526dbd52030d"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a74890468049590443959526dbd52030d">cxx::Bits::Base_avl_set::remove</a></div><div class="ttdeci">int remove(Key_type const &amp;item)</div><div class="ttdoc">Remove an item from the set.</div><div class="ttdef"><b>Definition</b> <a href="#l00295">avl_set:295</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a756f5559accbb0db39edc570533cc3d1"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a756f5559accbb0db39edc570533cc3d1">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Item_compare</a></div><div class="ttdeci">COMPARE Item_compare</div><div class="ttdef"><b>Definition</b> <a href="#l00149">avl_set:149</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a77eb4668025429da3c617c8e081b6777"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a77eb4668025429da3c617c8e081b6777">cxx::Bits::Base_avl_set::Base_avl_set</a></div><div class="ttdeci">Base_avl_set(Node_allocator const &amp;alloc=Node_allocator())</div><div class="ttdoc">Create a AVL-tree based set.</div><div class="ttdef"><b>Definition</b> <a href="#l00243">avl_set:243</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a7b2703945f6172df449ce012600f9daca265ef3ba86548d8bf7ca76f93cde094b"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca265ef3ba86548d8bf7ca76f93cde094b">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::E_noent</a></div><div class="ttdeci">@ E_noent</div><div class="ttdef"><b>Definition</b> <a href="#l00135">avl_set:135</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a7b2703945f6172df449ce012600f9daca4de38aa9739ebc166603bc6c11bcefac"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca4de38aa9739ebc166603bc6c11bcefac">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::E_nomem</a></div><div class="ttdeci">@ E_nomem</div><div class="ttdef"><b>Definition</b> <a href="#l00137">avl_set:137</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a7b2703945f6172df449ce012600f9daca9a570c997ff2eac13f3bbc5dceb8c2fc"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9daca9a570c997ff2eac13f3bbc5dceb8c2fc">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::E_exist</a></div><div class="ttdeci">@ E_exist</div><div class="ttdef"><b>Definition</b> <a href="#l00136">avl_set:136</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a7b2703945f6172df449ce012600f9dacab5343fd6bbe1a001c65774de917b1f00"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a7b2703945f6172df449ce012600f9dacab5343fd6bbe1a001c65774de917b1f00">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::E_inval</a></div><div class="ttdeci">@ E_inval</div><div class="ttdef"><b>Definition</b> <a href="#l00138">avl_set:138</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a8020e80cf3586ab9f036cfed74af67f6"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a8020e80cf3586ab9f036cfed74af67f6">cxx::Bits::Base_avl_set::end</a></div><div class="ttdeci">Const_iterator end() const</div><div class="ttdoc">Get the end marker for the constant forward iterator.</div><div class="ttdef"><b>Definition</b> <a href="#l00350">avl_set:350</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a8368aaa3e6700113a97620f6c482e110"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a8368aaa3e6700113a97620f6c482e110">cxx::Bits::Base_avl_set::rend</a></div><div class="ttdeci">Const_rev_iterator rend() const</div><div class="ttdoc">Get the end marker for the constant backward iterator.</div><div class="ttdef"><b>Definition</b> <a href="#l00372">avl_set:372</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a83e54951cd2dcbaec5f65dd54fbbe184"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a83e54951cd2dcbaec5f65dd54fbbe184">cxx::Bits::Base_avl_set::begin</a></div><div class="ttdeci">Const_iterator begin() const</div><div class="ttdoc">Get the constant forward iterator for the first element in the set.</div><div class="ttdef"><b>Definition</b> <a href="#l00345">avl_set:345</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a8a525c0344ed5b005ef16bdc1cd8ed8a"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a8a525c0344ed5b005ef16bdc1cd8ed8a">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Node_allocator</a></div><div class="ttdeci">ALLOC&lt; _Node &gt; Node_allocator</div><div class="ttdef"><b>Definition</b> <a href="#l00208">avl_set:208</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a8ffade2ef0bc3b523d937e6ca781cde2"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a8ffade2ef0bc3b523d937e6ca781cde2">cxx::Bits::Base_avl_set::rend</a></div><div class="ttdeci">Rev_iterator rend()</div><div class="ttdoc">Get the end marker for the mutable backward iterator.</div><div class="ttdef"><b>Definition</b> <a href="#l00383">avl_set:383</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a9964537a7faabfba0e5a2f7e166009f8"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a9964537a7faabfba0e5a2f7e166009f8">cxx::Bits::Base_avl_set::begin</a></div><div class="ttdeci">Iterator begin()</div><div class="ttdoc">Get the mutable forward iterator for the first element of the set.</div><div class="ttdef"><b>Definition</b> <a href="#l00356">avl_set:356</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_a9a0532334b146963c70051d1cbcdef1a"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#a9a0532334b146963c70051d1cbcdef1a">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Const_rev_iterator</a></div><div class="ttdeci">Avl_set_iter&lt; _Node, Const_item_type, Rev &gt; Const_rev_iterator</div><div class="ttdef"><b>Definition</b> <a href="#l00234">avl_set:234</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_ab37c1071641638a7390b102c0e5e9b06"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#ab37c1071641638a7390b102c0e5e9b06">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Get_key</a></div><div class="ttdeci">Bits::Avl_map_get_key&lt; KEY_TYPE &gt; Get_key</div><div class="ttdef"><b>Definition</b> <a href="#l00143">avl_set:143</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_ac1f7218e9e51bfef71ecb746719a389a"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#ac1f7218e9e51bfef71ecb746719a389a">cxx::Bits::Base_avl_set::insert</a></div><div class="ttdeci">cxx::Pair&lt; Iterator, int &gt; insert(Item_type const &amp;item)</div><div class="ttdoc">Insert an item into the set.</div><div class="ttdef"><b>Definition</b> <a href="#l00412">avl_set:412</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_ac238262fe8de67a57b66fc448305fb74"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#ac238262fe8de67a57b66fc448305fb74">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Const_item_type</a></div><div class="ttdeci">Type_traits&lt; Item_type &gt;::Const_type Const_item_type</div><div class="ttdef"><b>Definition</b> <a href="#l00147">avl_set:147</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_ac23e6ce546c6c8c0721f1e5937428387"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#ac23e6ce546c6c8c0721f1e5937428387">cxx::Bits::Base_avl_set::erase</a></div><div class="ttdeci">int erase(Key_type const &amp;item)</div><div class="ttdoc">Erase the item with the given key.</div><div class="ttdef"><b>Definition</b> <a href="#l00313">avl_set:313</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_acd26d51c56a9a8d27edcbad7313f1194"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#acd26d51c56a9a8d27edcbad7313f1194">cxx::Bits::Base_avl_set::Base_avl_set</a></div><div class="ttdeci">Base_avl_set(Base_avl_set const &amp;o)</div><div class="ttdoc">Create a copy of an AVL-tree based set.</div><div class="ttdef"><b>Definition</b> <a href="#l00402">avl_set:402</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_adf5292c8b529cf9caf53855b96136cd7"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#adf5292c8b529cf9caf53855b96136cd7">cxx::Bits::Base_avl_set&lt; Local_item_type, COMPARE&lt; KEY_TYPE &gt;, ALLOC, Bits::Avl_map_get_key&lt; KEY_TYPE &gt; &gt;::Const_iterator</a></div><div class="ttdeci">Avl_set_iter&lt; _Node, Const_item_type, Fwd &gt; Const_iterator</div><div class="ttdef"><b>Definition</b> <a href="#l00228">avl_set:228</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Base__avl__set_html_af0f524eec07922ea8cb12543cf6577d1"><div class="ttname"><a href="classcxx_1_1Bits_1_1Base__avl__set.html#af0f524eec07922ea8cb12543cf6577d1">cxx::Bits::Base_avl_set::lower_bound_node</a></div><div class="ttdeci">Node lower_bound_node(Key_type const &amp;key) const</div><div class="ttdoc">Find the first node greater or equal to key.</div><div class="ttdef"><b>Definition</b> <a href="#l00335">avl_set:335</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Bst_html_a206a8d12abbe95b955982f9f8ab1cb7b"><div class="ttname"><a href="classcxx_1_1Bits_1_1Bst.html#a206a8d12abbe95b955982f9f8ab1cb7b">cxx::Bits::Bst::lower_bound_node</a></div><div class="ttdeci">Node * lower_bound_node(Key_param_type key) const</div><div class="ttdoc">Find the first node with a key not less than the given key.</div><div class="ttdef"><b>Definition</b> <a href="bst_8h_source.html#l00285">bst.h:285</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Bst_html_a7ce877ca5f73fad93fdeae0443616f1c"><div class="ttname"><a href="classcxx_1_1Bits_1_1Bst.html#a7ce877ca5f73fad93fdeae0443616f1c">cxx::Bits::Bst::Rev_iter_ops</a></div><div class="ttdeci">Rev Rev_iter_ops</div><div class="ttdoc">Helper for building reverse iterators for different wrapper classes.</div><div class="ttdef"><b>Definition</b> <a href="bst_8h_source.html#l00066">bst.h:66</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Bst_html_a9eebe72ec19fadd1e47c2f38585dabe7"><div class="ttname"><a href="classcxx_1_1Bits_1_1Bst.html#a9eebe72ec19fadd1e47c2f38585dabe7">cxx::Bits::Bst::find</a></div><div class="ttdeci">Const_iterator find(Key_param_type key) const</div><div class="ttdoc">find the node with the given key.</div><div class="ttdef"><b>Definition</b> <a href="bst_8h_source.html#l00305">bst.h:305</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Bst_html_ab86f783914505fd36cf3abddda981d4a"><div class="ttname"><a href="classcxx_1_1Bits_1_1Bst.html#ab86f783914505fd36cf3abddda981d4a">cxx::Bits::Bst::remove_all</a></div><div class="ttdeci">void remove_all(FUNC &amp;&amp;callback)</div><div class="ttdoc">Clear the tree.</div><div class="ttdef"><b>Definition</b> <a href="bst_8h_source.html#l00251">bst.h:251</a></div></div>
<div class="ttc" id="aclasscxx_1_1Bits_1_1Bst_html_ae628bde559d6ba86df53d02c0aa62976"><div class="ttname"><a href="classcxx_1_1Bits_1_1Bst.html#ae628bde559d6ba86df53d02c0aa62976">cxx::Bits::Bst::Fwd_iter_ops</a></div><div class="ttdeci">Fwd Fwd_iter_ops</div><div class="ttdoc">Helper for building forward iterators for different wrapper classes.</div><div class="ttdef"><b>Definition</b> <a href="bst_8h_source.html#l00064">bst.h:64</a></div></div>
<div class="ttc" id="aclasscxx_1_1New__allocator_html"><div class="ttname"><a href="classcxx_1_1New__allocator.html">cxx::New_allocator</a></div><div class="ttdoc">Standard allocator based on operator new () .</div><div class="ttdef"><b>Definition</b> <a href="std__alloc_source.html#l00056">std_alloc:57</a></div></div>
<div class="ttc" id="aclasscxx_1_1Nothrow_html"><div class="ttname"><a href="classcxx_1_1Nothrow.html">cxx::Nothrow</a></div><div class="ttdoc">Helper type to distinguish the operator new version that does not throw exceptions.</div><div class="ttdef"><b>Definition</b> <a href="std__alloc_source.html#l00019">std_alloc:19</a></div></div>
<div class="ttc" id="anamespacecxx_1_1Bits_html"><div class="ttname"><a href="namespacecxx_1_1Bits.html">cxx::Bits</a></div><div class="ttdoc">Internal helpers for the cxx package.</div><div class="ttdef"><b>Definition</b> <a href="avl__map_source.html#l00021">avl_map:21</a></div></div>
<div class="ttc" id="anamespacecxx_html"><div class="ttname"><a href="namespacecxx.html">cxx</a></div><div class="ttdoc">Our C++ library.</div><div class="ttdef"><b>Definition</b> <a href="arith_source.html#l00011">arith:11</a></div></div>
<div class="ttc" id="astructcxx_1_1Bits_1_1Avl__set__get__key_html"><div class="ttname"><a href="structcxx_1_1Bits_1_1Avl__set__get__key.html">cxx::Bits::Avl_set_get_key</a></div><div class="ttdoc">Internal, key-getter for Avl_set nodes.</div><div class="ttdef"><b>Definition</b> <a href="#l00098">avl_set:99</a></div></div>
<div class="ttc" id="astructcxx_1_1Pair_html"><div class="ttname"><a href="structcxx_1_1Pair.html">cxx::Pair</a></div><div class="ttdoc">Pair of two values.</div><div class="ttdef"><b>Definition</b> <a href="pair_source.html#l00027">pair:28</a></div></div>
<div class="ttc" id="astructcxx_1_1Pair_html_a5c1ced80a3c5af2f6af48ad8b61c06d7"><div class="ttname"><a href="structcxx_1_1Pair.html#a5c1ced80a3c5af2f6af48ad8b61c06d7">cxx::Pair::second</a></div><div class="ttdeci">Second second</div><div class="ttdoc">Second value.</div><div class="ttdef"><b>Definition</b> <a href="pair_source.html#l00037">pair:37</a></div></div>
<div class="ttc" id="astructcxx_1_1Pair_html_ae4b62c38c9af46282232356d3cedc880"><div class="ttname"><a href="structcxx_1_1Pair.html#ae4b62c38c9af46282232356d3cedc880">cxx::Pair::first</a></div><div class="ttdeci">First first</div><div class="ttdoc">First value.</div><div class="ttdef"><b>Definition</b> <a href="pair_source.html#l00035">pair:35</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><b>l4</b></li><li class="navelem"><b>cxx</b></li><li class="navelem"><a href="avl__set.html">avl_set</a></li>
<li class="footer">Generated on <span class="timestamp"></span> for L4Re Operating System Framework by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0 </li>
</ul>
</div>
</body>
</html>