Permalink
Fetching contributors…
Cannot retrieve contributors at this time
2342 lines (2026 sloc) 179 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>STX B+ Tree Template Classes: stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">STX B+ Tree Template Classes
&#160;<span id="projectnumber">0.9</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00036.html">stx</a> </li>
<li class="navelem"><a class="el" href="a00004.html">btree_map</a> </li>
</ul>
</div>
</div>
<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-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> </div>
<div class="headertitle">
<div class="title">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="stx::btree_map" -->
<p>Specialized B+ tree template class implementing STL's map container.
<a href="a00004.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="a00028_source.html">btree_map.h</a>&gt;</code></p>
<p><a href="a00054.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef _Key&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">First template parameter: The key type of the btree. <a href="#aa0687761c2d71344ad754a98a8650a92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef _Data&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Second template parameter: The data type associated with each key. <a href="#a76d4185d0ff8a2b0fbb572aad2ee93bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef _Compare&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Third template parameter: Key comparison function object. <a href="#a7c428c8ee8f8ec5041739f6bb55089c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef _Traits&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ae6754ad8a27ece08ef50350eb6848e77">traits</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fourth template parameter: Traits object used to define more parameters of the B+ tree. <a href="#ae6754ad8a27ece08ef50350eb6848e77"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef _Alloc&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fifth template parameter: STL allocator. <a href="#a5d0f64823a786b0652038b8702ae5343"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00004.html">btree_map</a>&lt; <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a>, <br class="typebreak"/>
<a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a>, <a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a>, <a class="el" href="a00004.html#ae6754ad8a27ece08ef50350eb6848e77">traits</a>, <br class="typebreak"/>
<a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef of our own type. <a href="#a85feee85c59b090041a84a7641574397"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::pair&lt; <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a>, <br class="typebreak"/>
<a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#abdb0354081cf05ed114f76b09630001e">value_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the STL-required value_type as a composition pair of key and data types. <a href="#abdb0354081cf05ed114f76b09630001e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00001.html">stx::btree</a>&lt; <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a>, <br class="typebreak"/>
<a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a>, <a class="el" href="a00004.html#abdb0354081cf05ed114f76b09630001e">value_type</a>, <br class="typebreak"/>
<a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a>, <a class="el" href="a00004.html#ae6754ad8a27ece08ef50350eb6848e77">traits</a>, false, <br class="typebreak"/>
<a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>, false &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#aef5dfa6e8d4286e56ea8be50a0c020a7">btree_impl</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation type of the btree_base. <a href="#aef5dfa6e8d4286e56ea8be50a0c020a7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef btree_impl::value_compare&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a87d20557ff74243cab447f15e75e2cc0">value_compare</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function class comparing two value_type pairs. <a href="#a87d20557ff74243cab447f15e75e2cc0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00001.html#aa692f5303dd2c4fee4958cbbfc3db5da">btree_impl::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Size type used to count keys. <a href="#a4a2f9618a073d016e89cd8f1628caae1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef btree_impl::tree_stats&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a9dd49396431319c3341c4cdcf68385ed">tree_stats</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Small structure containing statistics about the tree. <a href="#a9dd49396431319c3341c4cdcf68385ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef btree_impl::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">STL-like iterator object for B+ tree items. <a href="#a2568bb45a7daa093f6e0c1869c693597"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef btree_impl::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">STL-like iterator object for B+ tree items. <a href="#a267163dd98f108686cf17f2604d2bf81"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
btree_impl::reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a204cd4ff4807b9c35605b1ccc3cb597a">reverse_iterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">create mutable reverse iterator by using STL magic <a href="#a204cd4ff4807b9c35605b1ccc3cb597a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
btree_impl::const_reverse_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a581abfef3fb0eab26b2833165f7314b7">const_reverse_iterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">create constant reverse iterator by using STL magic <a href="#a581abfef3fb0eab26b2833165f7314b7"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#aa00c6e1abb83866bb9c96098808677c9">btree_map</a> (const <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &amp;alloc=<a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor initializing an empty B+ tree with the standard key comparison function. <a href="#aa00c6e1abb83866bb9c96098808677c9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a75fc3cca006f9f80e26738761f5f012b">btree_map</a> (const <a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a> &amp;kcf, const <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &amp;alloc=<a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor initializing an empty B+ tree with a special key comparison object. <a href="#a75fc3cca006f9f80e26738761f5f012b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class InputIterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00004.html#a1801d9d4587edf16df5dd97fca4e9d3f">btree_map</a> (InputIterator first, InputIterator last, const <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &amp;alloc=<a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor initializing a B+ tree with the range [first,last) <a href="#a1801d9d4587edf16df5dd97fca4e9d3f"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class InputIterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00004.html#a92d53ace52f64ef0488a3df434bc2483">btree_map</a> (InputIterator first, InputIterator last, const <a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a> &amp;kcf, const <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &amp;alloc=<a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor initializing a B+ tree with the range [first,last) and a special key comparison object. <a href="#a92d53ace52f64ef0488a3df434bc2483"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#acd6d30ce67dc6d665b29cafc8fdb7221">~btree_map</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees up all used B+ tree memory pages. <a href="#acd6d30ce67dc6d665b29cafc8fdb7221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a5569e8d5495de8db8cd8c51b5797c9b0">swap</a> (<a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;from)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast swapping of two identical B+ tree objects. <a href="#a5569e8d5495de8db8cd8c51b5797c9b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#abab498d7a1a6806b11e9be08558451ec">key_comp</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant access to the key comparison object sorting the B+ tree. <a href="#abab498d7a1a6806b11e9be08558451ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a87d20557ff74243cab447f15e75e2cc0">value_compare</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ae4426f6512a95d1cb6e7cb61e23b7248">value_comp</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant access to a constructed value_type comparison object. <a href="#ae4426f6512a95d1cb6e7cb61e23b7248"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a76fe9e37d2d5c102cc2939a512d441eb">get_allocator</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the base node allocator provided during construction. <a href="#a76fe9e37d2d5c102cc2939a512d441eb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ad2795fc102f76c2a130681fa579c3310">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees all key/data pairs and all nodes of the tree. <a href="#ad2795fc102f76c2a130681fa579c3310"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a34d4041f1b3e65a89e73ce9f527b0f41">begin</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a read/data-write iterator that points to the first slot in the first leaf of the B+ tree. <a href="#a34d4041f1b3e65a89e73ce9f527b0f41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0">end</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B+ tree. <a href="#ab5c57d291943ba0ca01e5858027e74a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ad25d2a48e92182db08213676181470c0">begin</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a read-only constant iterator that points to the first slot in the first leaf of the B+ tree. <a href="#ad25d2a48e92182db08213676181470c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ab0f8eb359766094f2e8d5128e4daf704">end</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a read-only constant iterator that points to the first invalid slot in the last leaf of the B+ tree. <a href="#ab0f8eb359766094f2e8d5128e4daf704"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a204cd4ff4807b9c35605b1ccc3cb597a">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a7163405774d2a2bada3166d94c6fe5d3">rbegin</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a read/data-write reverse iterator that points to the first invalid slot in the last leaf of the B+ tree. <a href="#a7163405774d2a2bada3166d94c6fe5d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a204cd4ff4807b9c35605b1ccc3cb597a">reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a07e9e77ecd8cd828d32bca22a9f45c2a">rend</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a read/data-write reverse iterator that points to the first slot in the first leaf of the B+ tree. <a href="#a07e9e77ecd8cd828d32bca22a9f45c2a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a581abfef3fb0eab26b2833165f7314b7">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a0c8ee35fbd098077983ac3b74a20cdd2">rbegin</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a read-only reverse iterator that points to the first invalid slot in the last leaf of the B+ tree. <a href="#a0c8ee35fbd098077983ac3b74a20cdd2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a581abfef3fb0eab26b2833165f7314b7">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a3745c3bc3523e3671269a5f6bf9fd2de">rend</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a read-only reverse iterator that points to the first slot in the first leaf of the B+ tree. <a href="#a3745c3bc3523e3671269a5f6bf9fd2de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a4816cbf72826412000ffebf49eae033a">size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of key/data pairs in the B+ tree. <a href="#a4816cbf72826412000ffebf49eae033a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#aeae6000acb62e6b13563efe1d1fa1660">empty</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if there is at least one key/data pair in the B+ tree. <a href="#aeae6000acb62e6b13563efe1d1fa1660"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ae0655211e7a2c51312cfaf7b4cd87836">max_size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the largest possible size of the B+ Tree. <a href="#ae0655211e7a2c51312cfaf7b4cd87836"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00004.html#a9dd49396431319c3341c4cdcf68385ed">tree_stats</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#aa5374a517934ddbb6bae7053eeaacad3">get_stats</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a const reference to the current statistics. <a href="#aa5374a517934ddbb6bae7053eeaacad3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a0aa2e7bf016864cb2bfe689a5967abf6">exists</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Non-STL function checking whether a key is in the B+ tree. <a href="#a0aa2e7bf016864cb2bfe689a5967abf6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a8db4682cc1dc34e2dd95d6ded2e2af65">find</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to locate a key in the B+ tree and returns an iterator to the key/data slot if found. <a href="#a8db4682cc1dc34e2dd95d6ded2e2af65"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a9c5ac09e4fbd11e6b1c106c5d1340281">find</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to locate a key in the B+ tree and returns an constant iterator to the key/data slot if found. <a href="#a9c5ac09e4fbd11e6b1c106c5d1340281"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a96abb2181dae3af81233717c33bcb0e1">count</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to locate a key in the B+ tree and returns the number of identical key entries found. <a href="#a96abb2181dae3af81233717c33bcb0e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a534cf90439e766792a48ff2ab73ddaf6">lower_bound</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches the B+ tree and returns an iterator to the first pair equal to or greater than key, or <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a> if all keys are smaller. <a href="#a534cf90439e766792a48ff2ab73ddaf6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#acdf38e14fcd031d9f315e2bb4d4feff3">lower_bound</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches the B+ tree and returns a constant iterator to the first pair equal to or greater than key, or <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a> if all keys are smaller. <a href="#acdf38e14fcd031d9f315e2bb4d4feff3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#af9f856c49318bfc313306f19f1eaf017">upper_bound</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches the B+ tree and returns an iterator to the first pair greater than key, or <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a> if all keys are smaller or equal. <a href="#af9f856c49318bfc313306f19f1eaf017"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#abc8bb5938b3b290089e668c1352625d3">upper_bound</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches the B+ tree and returns a constant iterator to the first pair greater than key, or <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a> if all keys are smaller or equal. <a href="#abc8bb5938b3b290089e668c1352625d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, <a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#afd2d85bdaf138d241147f99ea4e02d19">equal_range</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches the B+ tree and returns both <a class="el" href="a00004.html#a534cf90439e766792a48ff2ab73ddaf6" title="Searches the B+ tree and returns an iterator to the first pair equal to or greater than key...">lower_bound()</a> and <a class="el" href="a00004.html#af9f856c49318bfc313306f19f1eaf017" title="Searches the B+ tree and returns an iterator to the first pair greater than key, or end() if all keys...">upper_bound()</a>. <a href="#afd2d85bdaf138d241147f99ea4e02d19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a>, <br class="typebreak"/>
<a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#aefa6fc135b3f91255e868560461e524d">equal_range</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches the B+ tree and returns both <a class="el" href="a00004.html#a534cf90439e766792a48ff2ab73ddaf6" title="Searches the B+ tree and returns an iterator to the first pair equal to or greater than key...">lower_bound()</a> and <a class="el" href="a00004.html#af9f856c49318bfc313306f19f1eaf017" title="Searches the B+ tree and returns an iterator to the first pair greater than key, or end() if all keys...">upper_bound()</a>. <a href="#aefa6fc135b3f91255e868560461e524d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a2fdda35a2a822e8fe45cda8f5f02dd3f">operator==</a> (const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;other) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality relation of B+ trees of the same type. <a href="#a2fdda35a2a822e8fe45cda8f5f02dd3f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a5246dc846558507311336980cc81ddcb">operator!=</a> (const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;other) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inequality relation. Based on operator==. <a href="#a5246dc846558507311336980cc81ddcb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#aa9045db3cfebd6e60b0000531a5fdeb6">operator&lt;</a> (const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;other) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Total ordering relation of B+ trees of the same type. <a href="#aa9045db3cfebd6e60b0000531a5fdeb6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a4b4a740ce7e953d1010fcbb6634a0df8">operator&gt;</a> (const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;other) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Greater relation. Based on operator&lt;. <a href="#a4b4a740ce7e953d1010fcbb6634a0df8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a34082a4270e0f5de6a6c3ba06bd3476a">operator&lt;=</a> (const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;other) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Less-equal relation. Based on operator&lt;. <a href="#a34082a4270e0f5de6a6c3ba06bd3476a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a04fdaf66979b5191d70d0dfacb601c0b">operator&gt;=</a> (const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;other) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Greater-equal relation. Based on operator&lt;. <a href="#a04fdaf66979b5191d70d0dfacb601c0b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a77317e7900903cd29f67b548a8d3ed46">operator=</a> (const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;other)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">*** Fast Copy: Assign Operator and Copy Constructors <a href="#a77317e7900903cd29f67b548a8d3ed46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a27d93017393e732c42e73bb1762815af">btree_map</a> (const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;other)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <a href="#a27d93017393e732c42e73bb1762815af"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ac2c8fb3774e84115b1bf403f24afa4b1">insert</a> (const <a class="el" href="a00004.html#abdb0354081cf05ed114f76b09630001e">value_type</a> &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to insert a key/data pair into the B+ tree. <a href="#ac2c8fb3774e84115b1bf403f24afa4b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a851a1e09834069a0554ecdff08796d51">insert</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key, const <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a> &amp;data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to insert a key/data pair into the B+ tree. <a href="#a851a1e09834069a0554ecdff08796d51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a4468eab4a560f8e59130caf052fe2940">insert2</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key, const <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a> &amp;data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to insert a key/data pair into the B+ tree. <a href="#a4468eab4a560f8e59130caf052fe2940"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a1c2f94f844ca4193cd4e9dd0f4c89610">insert</a> (<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> hint, const <a class="el" href="a00004.html#abdb0354081cf05ed114f76b09630001e">value_type</a> &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to insert a key/data pair into the B+ tree. <a href="#a1c2f94f844ca4193cd4e9dd0f4c89610"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a68f8b720b175c03ea28d9248dbc7fee5">insert2</a> (<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> hint, const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key, const <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a> &amp;data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to insert a key/data pair into the B+ tree. <a href="#a68f8b720b175c03ea28d9248dbc7fee5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ab3268177427359a66c11b7f641bb99ae">operator[]</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the object that is associated with a particular key. <a href="#ab3268177427359a66c11b7f641bb99ae"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename InputIterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00004.html#a783db2843544f7f9f3c3fb498c283d4c">insert</a> (InputIterator first, InputIterator last)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to insert the range [first,last) of value_type pairs into the B+ tree. <a href="#a783db2843544f7f9f3c3fb498c283d4c"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Iterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00004.html#adb1b413f25e7d25afe782955aeafc66a">bulk_load</a> (Iterator first, Iterator last)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Bulk load a sorted range [first,last). <a href="#adb1b413f25e7d25afe782955aeafc66a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a4e44c51baca9a5959bacfe9f78fa3d44">erase_one</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases the key/data pairs associated with the given key. <a href="#a4e44c51baca9a5959bacfe9f78fa3d44"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#ad61de6ba3d5a99517d5b36e5024f8fe7">erase</a> (const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erases all the key/data pairs associated with the given key. <a href="#ad61de6ba3d5a99517d5b36e5024f8fe7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a23f1f270183e77c1035b829081ebc8c9">erase</a> (<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> iter)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the key/data pair referenced by the iterator. <a href="#a23f1f270183e77c1035b829081ebc8c9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a99a3bccbdfef9c34596275e3da4da018">erase</a> (<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, <a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase all key/data pairs in the range [first,last). <a href="#a99a3bccbdfef9c34596275e3da4da018"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a2ca47ab7ffcd8ee2940c3fdd8690d002">print</a> (std::ostream &amp;os) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print out the B+ tree structure with keys onto the given ostream. <a href="#a2ca47ab7ffcd8ee2940c3fdd8690d002"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a0170dc9ca200e9e7a91d7a311b22ef0c">print_leaves</a> (std::ostream &amp;os) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print out only the leaves via the double linked list. <a href="#a0170dc9ca200e9e7a91d7a311b22ef0c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a5001888f16d9f8fdc634cec05c67f961">verify</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Run a thorough verification of all B+ tree invariants. <a href="#a5001888f16d9f8fdc634cec05c67f961"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a8794673d23f9ae4525d84dc01f651309">dump</a> (std::ostream &amp;os) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump the contents of the B+ tree out onto an ostream as a binary image. <a href="#a8794673d23f9ae4525d84dc01f651309"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a40d04b8ae97fae9e0a91d75f022a8000">restore</a> (std::istream &amp;is)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore a binary image of a dumped B+ tree from an istream. <a href="#a40d04b8ae97fae9e0a91d75f022a8000"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a3c005203452c833ae387f7263195631c">leafslotmax</a> = <a class="el" href="a00001.html#ac6c274f39fce8e14f6a881fc1da39cf8">btree_impl::leafslotmax</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Base B+ tree parameter: The number of key/data slots in each leaf. <a href="#a3c005203452c833ae387f7263195631c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a0b12dfa41eaa744ad5b9ff6edae4de4b">innerslotmax</a> = <a class="el" href="a00001.html#a78ae296638b9d6961f9101ddf45bf3e0">btree_impl::innerslotmax</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Base B+ tree parameter: The number of key slots in each inner node, this can differ from slots in each leaf. <a href="#a0b12dfa41eaa744ad5b9ff6edae4de4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a037f1c67f0a692c34b4408657a708221">minleafslots</a> = <a class="el" href="a00001.html#ad8525611bf3b079ca4ab13dbab9b23c0">btree_impl::minleafslots</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computed B+ tree parameter: The minimum number of key/data slots used in a leaf. <a href="#a037f1c67f0a692c34b4408657a708221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a156a4561d7fe12679b22e3d618a69416">mininnerslots</a> = <a class="el" href="a00001.html#aefbcc95b60d5bae8dd7ba9c25e5b6654">btree_impl::mininnerslots</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computed B+ tree parameter: The minimum number of key slots used in an inner node. <a href="#a156a4561d7fe12679b22e3d618a69416"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a18eec4e7f698019480bb8d96b1ceabd4">selfverify</a> = <a class="el" href="a00001.html#a598601fa16cfb97b8b60a4eae6bde5ae">btree_impl::selfverify</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Debug parameter: Enables expensive and thorough checking of the B+ tree invariants after each insert/erase operation. <a href="#a18eec4e7f698019480bb8d96b1ceabd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#aa9abe4fe3ec8c3ff40392c9a4fd3d587">debug</a> = <a class="el" href="a00001.html#a224f31a88d50490e14f0f291d70ef2fc">btree_impl::debug</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Debug parameter: Prints out lots of debug information about how the algorithms change the tree. <a href="#aa9abe4fe3ec8c3ff40392c9a4fd3d587"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a7a93d908ea2b967d4a54946a37675e25">allow_duplicates</a> = <a class="el" href="a00001.html#acd41575a35d1c5d55e955aafc9762454">btree_impl::allow_duplicates</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Operational parameter: Allow duplicate keys in the btree. <a href="#a7a93d908ea2b967d4a54946a37675e25"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00004.html#aef5dfa6e8d4286e56ea8be50a0c020a7">btree_impl</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a71462634691fd4ab38cde89991dd8d69">tree</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The contained implementation object. <a href="#a71462634691fd4ab38cde89991dd8d69"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _Key, typename _Data, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt;<br/>
class stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;</h3>
<p>Specialized B+ tree template class implementing STL's map container. </p>
<p>Implements the STL map using a B+ tree. It can be used as a drop-in replacement for std::map. Not all asymptotic time requirements are met in theory. The class has a traits class defining B+ tree properties like slots and self-verification. Furthermore an allocator can be specified for tree nodes.</p>
<p>Most noteworthy difference to the default red-black implementation of std::map is that the B+ tree does not hold key and data pair together in memory. Instead each B+ tree node has two arrays of keys and data values. This design directly generates many problems in implementing the iterator's operator's which return value_type composition pairs. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00059">59</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a5d0f64823a786b0652038b8702ae5343"></a><!-- doxytag: member="stx::btree_map::allocator_type" ref="a5d0f64823a786b0652038b8702ae5343" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef _Alloc <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Fifth template parameter: STL allocator. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00080">80</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="aef5dfa6e8d4286e56ea8be50a0c020a7"></a><!-- doxytag: member="stx::btree_map::btree_impl" ref="aef5dfa6e8d4286e56ea8be50a0c020a7" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="a00001.html">stx::btree</a>&lt;<a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a>, <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a>, <a class="el" href="a00004.html#abdb0354081cf05ed114f76b09630001e">value_type</a>, <a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a>, <a class="el" href="a00004.html#ae6754ad8a27ece08ef50350eb6848e77">traits</a>, false, <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>, false&gt; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#aef5dfa6e8d4286e56ea8be50a0c020a7">btree_impl</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Implementation type of the btree_base. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00099">99</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a267163dd98f108686cf17f2604d2bf81"></a><!-- doxytag: member="stx::btree_map::const_iterator" ref="a267163dd98f108686cf17f2604d2bf81" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef btree_impl::const_iterator <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>STL-like iterator object for B+ tree items. </p>
<p>The iterator points to a specific slot number in a leaf. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00151">151</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a581abfef3fb0eab26b2833165f7314b7"></a><!-- doxytag: member="stx::btree_map::const_reverse_iterator" ref="a581abfef3fb0eab26b2833165f7314b7" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef btree_impl::const_reverse_iterator <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a581abfef3fb0eab26b2833165f7314b7">const_reverse_iterator</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>create constant reverse iterator by using STL magic </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00157">157</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a76d4185d0ff8a2b0fbb572aad2ee93bb"></a><!-- doxytag: member="stx::btree_map::data_type" ref="a76d4185d0ff8a2b0fbb572aad2ee93bb" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef _Data <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Second template parameter: The data type associated with each key. </p>
<p>Stored in the B+ tree's leaves </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00070">70</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a2568bb45a7daa093f6e0c1869c693597"></a><!-- doxytag: member="stx::btree_map::iterator" ref="a2568bb45a7daa093f6e0c1869c693597" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef btree_impl::iterator <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>STL-like iterator object for B+ tree items. </p>
<p>The iterator points to a specific slot number in a leaf. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00147">147</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7c428c8ee8f8ec5041739f6bb55089c1"></a><!-- doxytag: member="stx::btree_map::key_compare" ref="a7c428c8ee8f8ec5041739f6bb55089c1" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef _Compare <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Third template parameter: Key comparison function object. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00073">73</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa0687761c2d71344ad754a98a8650a92"></a><!-- doxytag: member="stx::btree_map::key_type" ref="aa0687761c2d71344ad754a98a8650a92" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef _Key <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>First template parameter: The key type of the btree. </p>
<p>This is stored in inner nodes and leaves </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00066">66</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a204cd4ff4807b9c35605b1ccc3cb597a"></a><!-- doxytag: member="stx::btree_map::reverse_iterator" ref="a204cd4ff4807b9c35605b1ccc3cb597a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef btree_impl::reverse_iterator <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a204cd4ff4807b9c35605b1ccc3cb597a">reverse_iterator</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>create mutable reverse iterator by using STL magic </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00154">154</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a85feee85c59b090041a84a7641574397"></a><!-- doxytag: member="stx::btree_map::self" ref="a85feee85c59b090041a84a7641574397" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="a00004.html">btree_map</a>&lt;<a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a>, <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a>, <a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a>, <a class="el" href="a00004.html#ae6754ad8a27ece08ef50350eb6848e77">traits</a>, <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>&gt; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Typedef of our own type. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00091">91</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4a2f9618a073d016e89cd8f1628caae1"></a><!-- doxytag: member="stx::btree_map::size_type" ref="a4a2f9618a073d016e89cd8f1628caae1" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="a00001.html#aa692f5303dd2c4fee4958cbbfc3db5da">btree_impl::size_type</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Size type used to count keys. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00105">105</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae6754ad8a27ece08ef50350eb6848e77"></a><!-- doxytag: member="stx::btree_map::traits" ref="ae6754ad8a27ece08ef50350eb6848e77" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef _Traits <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ae6754ad8a27ece08ef50350eb6848e77">traits</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Fourth template parameter: Traits object used to define more parameters of the B+ tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00077">77</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9dd49396431319c3341c4cdcf68385ed"></a><!-- doxytag: member="stx::btree_map::tree_stats" ref="a9dd49396431319c3341c4cdcf68385ed" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef btree_impl::tree_stats <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a9dd49396431319c3341c4cdcf68385ed">tree_stats</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Small structure containing statistics about the tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00108">108</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a87d20557ff74243cab447f15e75e2cc0"></a><!-- doxytag: member="stx::btree_map::value_compare" ref="a87d20557ff74243cab447f15e75e2cc0" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef btree_impl::value_compare <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a87d20557ff74243cab447f15e75e2cc0">value_compare</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Function class comparing two value_type pairs. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00102">102</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="abdb0354081cf05ed114f76b09630001e"></a><!-- doxytag: member="stx::btree_map::value_type" ref="abdb0354081cf05ed114f76b09630001e" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef std::pair&lt;<a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a>, <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a>&gt; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#abdb0354081cf05ed114f76b09630001e">value_type</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Construct the STL-required value_type as a composition pair of key and data types. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00095">95</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa00c6e1abb83866bb9c96098808677c9"></a><!-- doxytag: member="stx::btree_map::btree_map" ref="aa00c6e1abb83866bb9c96098808677c9" args="(const allocator_type &amp;alloc=allocator_type())" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html">btree_map</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &amp;&#160;</td>
<td class="paramname"><em>alloc</em> = <code><a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>()</code></td><td>)</td>
<td><code> [inline, explicit]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Default constructor initializing an empty B+ tree with the standard key comparison function. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00170">170</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a75fc3cca006f9f80e26738761f5f012b"></a><!-- doxytag: member="stx::btree_map::btree_map" ref="a75fc3cca006f9f80e26738761f5f012b" args="(const key_compare &amp;kcf, const allocator_type &amp;alloc=allocator_type())" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html">btree_map</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a> &amp;&#160;</td>
<td class="paramname"><em>kcf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &amp;&#160;</td>
<td class="paramname"><em>alloc</em> = <code><a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline, explicit]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructor initializing an empty B+ tree with a special key comparison object. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00177">177</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1801d9d4587edf16df5dd97fca4e9d3f"></a><!-- doxytag: member="stx::btree_map::btree_map" ref="a1801d9d4587edf16df5dd97fca4e9d3f" args="(InputIterator first, InputIterator last, const allocator_type &amp;alloc=allocator_type())" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<div class="memtemplate">
template&lt;class InputIterator &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html">btree_map</a> </td>
<td>(</td>
<td class="paramtype">InputIterator&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InputIterator&#160;</td>
<td class="paramname"><em>last</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &amp;&#160;</td>
<td class="paramname"><em>alloc</em> = <code><a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructor initializing a B+ tree with the range [first,last) </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00185">185</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a92d53ace52f64ef0488a3df434bc2483"></a><!-- doxytag: member="stx::btree_map::btree_map" ref="a92d53ace52f64ef0488a3df434bc2483" args="(InputIterator first, InputIterator last, const key_compare &amp;kcf, const allocator_type &amp;alloc=allocator_type())" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<div class="memtemplate">
template&lt;class InputIterator &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html">btree_map</a> </td>
<td>(</td>
<td class="paramtype">InputIterator&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InputIterator&#160;</td>
<td class="paramname"><em>last</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a> &amp;&#160;</td>
<td class="paramname"><em>kcf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> &amp;&#160;</td>
<td class="paramname"><em>alloc</em> = <code><a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructor initializing a B+ tree with the range [first,last) and a special key comparison object. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00194">194</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="acd6d30ce67dc6d665b29cafc8fdb7221"></a><!-- doxytag: member="stx::btree_map::~btree_map" ref="acd6d30ce67dc6d665b29cafc8fdb7221" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::~<a class="el" href="a00004.html">btree_map</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Frees up all used B+ tree memory pages. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00201">201</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a27d93017393e732c42e73bb1762815af"></a><!-- doxytag: member="stx::btree_map::btree_map" ref="a27d93017393e732c42e73bb1762815af" args="(const self &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html">btree_map</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Copy constructor. </p>
<p>The newly initialized B+ tree object will contain a copy of all key/data pairs. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00463">463</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a34d4041f1b3e65a89e73ce9f527b0f41"></a><!-- doxytag: member="stx::btree_map::begin" ref="a34d4041f1b3e65a89e73ce9f527b0f41" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a34d4041f1b3e65a89e73ce9f527b0f41">begin</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a read/data-write iterator that points to the first slot in the first leaf of the B+ tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00250">250</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01573">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::begin()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="ad25d2a48e92182db08213676181470c0"></a><!-- doxytag: member="stx::btree_map::begin" ref="ad25d2a48e92182db08213676181470c0" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a34d4041f1b3e65a89e73ce9f527b0f41">begin</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a read-only constant iterator that points to the first slot in the first leaf of the B+ tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00264">264</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01573">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::begin()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="adb1b413f25e7d25afe782955aeafc66a"></a><!-- doxytag: member="stx::btree_map::bulk_load" ref="adb1b413f25e7d25afe782955aeafc66a" args="(Iterator first, Iterator last)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<div class="memtemplate">
template&lt;typename Iterator &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#adb1b413f25e7d25afe782955aeafc66a">bulk_load</a> </td>
<td>(</td>
<td class="paramtype">Iterator&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Iterator&#160;</td>
<td class="paramname"><em>last</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Bulk load a sorted range [first,last). </p>
<p>Loads items into leaves and constructs a B-tree above them. The tree must be empty when calling this function. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00530">530</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02401">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::bulk_load()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="ad2795fc102f76c2a130681fa579c3310"></a><!-- doxytag: member="stx::btree_map::clear" ref="ad2795fc102f76c2a130681fa579c3310" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ad2795fc102f76c2a130681fa579c3310">clear</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Frees all key/data pairs and all nodes of the tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00240">240</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01527">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::clear()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a96abb2181dae3af81233717c33bcb0e1"></a><!-- doxytag: member="stx::btree_map::count" ref="a96abb2181dae3af81233717c33bcb0e1" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a96abb2181dae3af81233717c33bcb0e1">count</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tries to locate a key in the B+ tree and returns the number of identical key entries found. </p>
<p>Since this is a unique map, <a class="el" href="a00004.html#a96abb2181dae3af81233717c33bcb0e1" title="Tries to locate a key in the B+ tree and returns the number of identical key entries found...">count()</a> returns either 0 or 1. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00359">359</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01822">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::count()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a8794673d23f9ae4525d84dc01f651309"></a><!-- doxytag: member="stx::btree_map::dump" ref="a8794673d23f9ae4525d84dc01f651309" args="(std::ostream &amp;os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a8794673d23f9ae4525d84dc01f651309">dump</a> </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Dump the contents of the B+ tree out onto an ostream as a binary image. </p>
<p>The image contains memory pointers which will be fixed when the image is restored. For this to work your key_type and data_type must be integral types and contain no pointers or references. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00602">602</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l03843">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::dump()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="aeae6000acb62e6b13563efe1d1fa1660"></a><!-- doxytag: member="stx::btree_map::empty" ref="aeae6000acb62e6b13563efe1d1fa1660" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#aeae6000acb62e6b13563efe1d1fa1660">empty</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if there is at least one key/data pair in the B+ tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00314">314</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01734">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::empty()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="ab5c57d291943ba0ca01e5858027e74a0"></a><!-- doxytag: member="stx::btree_map::end" ref="ab5c57d291943ba0ca01e5858027e74a0" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0">end</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B+ tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00257">257</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01580">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::end()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="ab0f8eb359766094f2e8d5128e4daf704"></a><!-- doxytag: member="stx::btree_map::end" ref="ab0f8eb359766094f2e8d5128e4daf704" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0">end</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a read-only constant iterator that points to the first invalid slot in the last leaf of the B+ tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00271">271</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01580">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::end()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="afd2d85bdaf138d241147f99ea4e02d19"></a><!-- doxytag: member="stx::btree_map::equal_range" ref="afd2d85bdaf138d241147f99ea4e02d19" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">std::pair&lt;<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, <a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&gt; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#afd2d85bdaf138d241147f99ea4e02d19">equal_range</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Searches the B+ tree and returns both <a class="el" href="a00004.html#a534cf90439e766792a48ff2ab73ddaf6" title="Searches the B+ tree and returns an iterator to the first pair equal to or greater than key...">lower_bound()</a> and <a class="el" href="a00004.html#af9f856c49318bfc313306f19f1eaf017" title="Searches the B+ tree and returns an iterator to the first pair greater than key, or end() if all keys...">upper_bound()</a>. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00395">395</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01940">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::equal_range()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="aefa6fc135b3f91255e868560461e524d"></a><!-- doxytag: member="stx::btree_map::equal_range" ref="aefa6fc135b3f91255e868560461e524d" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">std::pair&lt;<a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a>, <a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a>&gt; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#afd2d85bdaf138d241147f99ea4e02d19">equal_range</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Searches the B+ tree and returns both <a class="el" href="a00004.html#a534cf90439e766792a48ff2ab73ddaf6" title="Searches the B+ tree and returns an iterator to the first pair equal to or greater than key...">lower_bound()</a> and <a class="el" href="a00004.html#af9f856c49318bfc313306f19f1eaf017" title="Searches the B+ tree and returns an iterator to the first pair greater than key, or end() if all keys...">upper_bound()</a>. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00401">401</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01940">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::equal_range()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="ad61de6ba3d5a99517d5b36e5024f8fe7"></a><!-- doxytag: member="stx::btree_map::erase" ref="ad61de6ba3d5a99517d5b36e5024f8fe7" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ad61de6ba3d5a99517d5b36e5024f8fe7">erase</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Erases all the key/data pairs associated with the given key. </p>
<p>This is implemented using <a class="el" href="a00004.html#a4e44c51baca9a5959bacfe9f78fa3d44" title="Erases the key/data pairs associated with the given key.">erase_one()</a>. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00547">547</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02619">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::erase()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a23f1f270183e77c1035b829081ebc8c9"></a><!-- doxytag: member="stx::btree_map::erase" ref="a23f1f270183e77c1035b829081ebc8c9" args="(iterator iter)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ad61de6ba3d5a99517d5b36e5024f8fe7">erase</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Erase the key/data pair referenced by the iterator. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00553">553</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02619">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::erase()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a99a3bccbdfef9c34596275e3da4da018"></a><!-- doxytag: member="stx::btree_map::erase" ref="a99a3bccbdfef9c34596275e3da4da018" args="(iterator, iterator)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ad61de6ba3d5a99517d5b36e5024f8fe7">erase</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Erase all key/data pairs in the range [first,last). </p>
<p>This function is currently not implemented by the B+ Tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00561">561</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4e44c51baca9a5959bacfe9f78fa3d44"></a><!-- doxytag: member="stx::btree_map::erase_one" ref="a4e44c51baca9a5959bacfe9f78fa3d44" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a4e44c51baca9a5959bacfe9f78fa3d44">erase_one</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Erases the key/data pairs associated with the given key. </p>
<p>For this unique-associative map there is no difference to <a class="el" href="a00004.html#ad61de6ba3d5a99517d5b36e5024f8fe7" title="Erases all the key/data pairs associated with the given key.">erase()</a>. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00540">540</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02596">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::erase_one()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a0aa2e7bf016864cb2bfe689a5967abf6"></a><!-- doxytag: member="stx::btree_map::exists" ref="a0aa2e7bf016864cb2bfe689a5967abf6" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a0aa2e7bf016864cb2bfe689a5967abf6">exists</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Non-STL function checking whether a key is in the B+ tree. </p>
<p>The same as (find(k) != <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a>) or (<a class="el" href="a00004.html#a96abb2181dae3af81233717c33bcb0e1" title="Tries to locate a key in the B+ tree and returns the number of identical key entries found...">count()</a> != 0). </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00337">337</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01757">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::exists()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a8db4682cc1dc34e2dd95d6ded2e2af65"></a><!-- doxytag: member="stx::btree_map::find" ref="a8db4682cc1dc34e2dd95d6ded2e2af65" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a8db4682cc1dc34e2dd95d6ded2e2af65">find</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tries to locate a key in the B+ tree and returns an iterator to the key/data slot if found. </p>
<p>If unsuccessful it returns <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a>. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00344">344</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01778">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::find()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a9c5ac09e4fbd11e6b1c106c5d1340281"></a><!-- doxytag: member="stx::btree_map::find" ref="a9c5ac09e4fbd11e6b1c106c5d1340281" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a8db4682cc1dc34e2dd95d6ded2e2af65">find</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tries to locate a key in the B+ tree and returns an constant iterator to the key/data slot if found. </p>
<p>If unsuccessful it returns <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a>. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00351">351</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01778">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::find()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a76fe9e37d2d5c102cc2939a512d441eb"></a><!-- doxytag: member="stx::btree_map::get_allocator" ref="a76fe9e37d2d5c102cc2939a512d441eb" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a5d0f64823a786b0652038b8702ae5343">allocator_type</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a76fe9e37d2d5c102cc2939a512d441eb">get_allocator</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return the base node allocator provided during construction. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00231">231</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01445">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::get_allocator()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="aa5374a517934ddbb6bae7053eeaacad3"></a><!-- doxytag: member="stx::btree_map::get_stats" ref="aa5374a517934ddbb6bae7053eeaacad3" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="a00004.html#a9dd49396431319c3341c4cdcf68385ed">tree_stats</a>&amp; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#aa5374a517934ddbb6bae7053eeaacad3">get_stats</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return a const reference to the current statistics. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00327">327</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01747">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::get_stats()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="ac2c8fb3774e84115b1bf403f24afa4b1"></a><!-- doxytag: member="stx::btree_map::insert" ref="ac2c8fb3774e84115b1bf403f24afa4b1" args="(const value_type &amp;x)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">std::pair&lt;<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, bool&gt; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ac2c8fb3774e84115b1bf403f24afa4b1">insert</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#abdb0354081cf05ed114f76b09630001e">value_type</a> &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Attempt to insert a key/data pair into the B+ tree. </p>
<p>Fails if the pair is already present. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00473">473</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02106">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::insert2()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
<p>Referenced by <a class="el" href="a00028_source.html#l00512">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator[]()</a>.</p>
</div>
</div>
<a class="anchor" id="a851a1e09834069a0554ecdff08796d51"></a><!-- doxytag: member="stx::btree_map::insert" ref="a851a1e09834069a0554ecdff08796d51" args="(const key_type &amp;key, const data_type &amp;data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">std::pair&lt;<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, bool&gt; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ac2c8fb3774e84115b1bf403f24afa4b1">insert</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a> &amp;&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Attempt to insert a key/data pair into the B+ tree. </p>
<p>Beware that if key_type == data_type, then the template iterator <a class="el" href="a00004.html#ac2c8fb3774e84115b1bf403f24afa4b1" title="Attempt to insert a key/data pair into the B+ tree.">insert()</a> is called instead. Fails if the inserted pair is already present. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00481">481</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02106">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::insert2()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a1c2f94f844ca4193cd4e9dd0f4c89610"></a><!-- doxytag: member="stx::btree_map::insert" ref="a1c2f94f844ca4193cd4e9dd0f4c89610" args="(iterator hint, const value_type &amp;x)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ac2c8fb3774e84115b1bf403f24afa4b1">insert</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td>
<td class="paramname"><em>hint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#abdb0354081cf05ed114f76b09630001e">value_type</a> &amp;&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Attempt to insert a key/data pair into the B+ tree. </p>
<p>The iterator hint is currently ignored by the B+ tree insertion routine. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00497">497</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02106">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::insert2()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a783db2843544f7f9f3c3fb498c283d4c"></a><!-- doxytag: member="stx::btree_map::insert" ref="a783db2843544f7f9f3c3fb498c283d4c" args="(InputIterator first, InputIterator last)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<div class="memtemplate">
template&lt;typename InputIterator &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ac2c8fb3774e84115b1bf403f24afa4b1">insert</a> </td>
<td>(</td>
<td class="paramtype">InputIterator&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InputIterator&#160;</td>
<td class="paramname"><em>last</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Attempt to insert the range [first,last) of value_type pairs into the B+ tree. </p>
<p>Each key/data pair is inserted individually. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00521">521</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02088">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::insert()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a4468eab4a560f8e59130caf052fe2940"></a><!-- doxytag: member="stx::btree_map::insert2" ref="a4468eab4a560f8e59130caf052fe2940" args="(const key_type &amp;key, const data_type &amp;data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">std::pair&lt;<a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>, bool&gt; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a4468eab4a560f8e59130caf052fe2940">insert2</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a> &amp;&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Attempt to insert a key/data pair into the B+ tree. </p>
<p>This function is the same as the other insert, however if key_type == data_type then the non-template function cannot be called. Fails if the inserted pair is already present. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00490">490</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02106">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::insert2()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a68f8b720b175c03ea28d9248dbc7fee5"></a><!-- doxytag: member="stx::btree_map::insert2" ref="a68f8b720b175c03ea28d9248dbc7fee5" args="(iterator hint, const key_type &amp;key, const data_type &amp;data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a4468eab4a560f8e59130caf052fe2940">insert2</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a>&#160;</td>
<td class="paramname"><em>hint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a> &amp;&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Attempt to insert a key/data pair into the B+ tree. </p>
<p>The iterator hint is currently ignored by the B+ tree insertion routine. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00504">504</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l02106">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::insert2()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="abab498d7a1a6806b11e9be08558451ec"></a><!-- doxytag: member="stx::btree_map::key_comp" ref="abab498d7a1a6806b11e9be08558451ec" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a7c428c8ee8f8ec5041739f6bb55089c1">key_compare</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#abab498d7a1a6806b11e9be08558451ec">key_comp</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constant access to the key comparison object sorting the B+ tree. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00215">215</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01395">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::key_comp()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a534cf90439e766792a48ff2ab73ddaf6"></a><!-- doxytag: member="stx::btree_map::lower_bound" ref="a534cf90439e766792a48ff2ab73ddaf6" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a2568bb45a7daa093f6e0c1869c693597">iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a534cf90439e766792a48ff2ab73ddaf6">lower_bound</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Searches the B+ tree and returns an iterator to the first pair equal to or greater than key, or <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a> if all keys are smaller. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00366">366</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01855">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::lower_bound()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="acdf38e14fcd031d9f315e2bb4d4feff3"></a><!-- doxytag: member="stx::btree_map::lower_bound" ref="acdf38e14fcd031d9f315e2bb4d4feff3" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a267163dd98f108686cf17f2604d2bf81">const_iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a534cf90439e766792a48ff2ab73ddaf6">lower_bound</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Searches the B+ tree and returns a constant iterator to the first pair equal to or greater than key, or <a class="el" href="a00004.html#ab5c57d291943ba0ca01e5858027e74a0" title="Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B...">end()</a> if all keys are smaller. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00374">374</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01855">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::lower_bound()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="ae0655211e7a2c51312cfaf7b4cd87836"></a><!-- doxytag: member="stx::btree_map::max_size" ref="ae0655211e7a2c51312cfaf7b4cd87836" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a4a2f9618a073d016e89cd8f1628caae1">size_type</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#ae0655211e7a2c51312cfaf7b4cd87836">max_size</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the largest possible size of the B+ Tree. </p>
<p>This is just a function required by the STL standard, the B+ Tree can hold more items. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00321">321</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01741">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::max_size()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a5246dc846558507311336980cc81ddcb"></a><!-- doxytag: member="stx::btree_map::operator!=" ref="a5246dc846558507311336980cc81ddcb" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Inequality relation. Based on operator==. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00418">418</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="aa9045db3cfebd6e60b0000531a5fdeb6"></a><!-- doxytag: member="stx::btree_map::operator&lt;" ref="aa9045db3cfebd6e60b0000531a5fdeb6" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator&lt; </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Total ordering relation of B+ trees of the same type. </p>
<p>It uses std::lexicographical_compare() for the actual comparison of elements. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00425">425</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a34082a4270e0f5de6a6c3ba06bd3476a"></a><!-- doxytag: member="stx::btree_map::operator&lt;=" ref="a34082a4270e0f5de6a6c3ba06bd3476a" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator&lt;= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Less-equal relation. Based on operator&lt;. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00437">437</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a77317e7900903cd29f67b548a8d3ed46"></a><!-- doxytag: member="stx::btree_map::operator=" ref="a77317e7900903cd29f67b548a8d3ed46" args="(const self &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a>&amp; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>*** Fast Copy: Assign Operator and Copy Constructors </p>
<p>Assignment operator. All the key/data pairs are copied </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00452">452</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a2fdda35a2a822e8fe45cda8f5f02dd3f"></a><!-- doxytag: member="stx::btree_map::operator==" ref="a2fdda35a2a822e8fe45cda8f5f02dd3f" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Equality relation of B+ trees of the same type. </p>
<p>B+ trees of the same size and equal elements (both key and data) are considered equal. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00412">412</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a4b4a740ce7e953d1010fcbb6634a0df8"></a><!-- doxytag: member="stx::btree_map::operator&gt;" ref="a4b4a740ce7e953d1010fcbb6634a0df8" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator&gt; </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Greater relation. Based on operator&lt;. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00431">431</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a04fdaf66979b5191d70d0dfacb601c0b"></a><!-- doxytag: member="stx::btree_map::operator&gt;=" ref="a04fdaf66979b5191d70d0dfacb601c0b" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator&gt;= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#a85feee85c59b090041a84a7641574397">self</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Greater-equal relation. Based on operator&lt;. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00443">443</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="ab3268177427359a66c11b7f641bb99ae"></a><!-- doxytag: member="stx::btree_map::operator[]" ref="ab3268177427359a66c11b7f641bb99ae" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb">data_type</a>&amp; <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::operator[] </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00004.html#aa0687761c2d71344ad754a98a8650a92">key_type</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a reference to the object that is associated with a particular key. </p>
<p>If the map does not already contain such an object, operator[] inserts the default object <a class="el" href="a00004.html#a76d4185d0ff8a2b0fbb572aad2ee93bb" title="Second template parameter: The data type associated with each key.">data_type()</a>. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00512">512</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00028_source.html#l00473">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::insert()</a>.</p>
</div>
</div>
<a class="anchor" id="a2ca47ab7ffcd8ee2940c3fdd8690d002"></a><!-- doxytag: member="stx::btree_map::print" ref="a2ca47ab7ffcd8ee2940c3fdd8690d002" args="(std::ostream &amp;os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a2ca47ab7ffcd8ee2940c3fdd8690d002">print</a> </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Print out the B+ tree structure with keys onto the given ostream. </p>
<p>This function requires that the header is compiled with BTREE_DEBUG and that key_type is printable via std::ostream. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00574">574</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l03556">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::print()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a0170dc9ca200e9e7a91d7a311b22ef0c"></a><!-- doxytag: member="stx::btree_map::print_leaves" ref="a0170dc9ca200e9e7a91d7a311b22ef0c" args="(std::ostream &amp;os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a0170dc9ca200e9e7a91d7a311b22ef0c">print_leaves</a> </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em></td><td>)</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Print out only the leaves via the double linked list. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00580">580</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l03564">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::print_leaves()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>
</div>
</div>
<a class="anchor" id="a7163405774d2a2bada3166d94c6fe5d3"></a><!-- doxytag: member="stx::btree_map::rbegin" ref="a7163405774d2a2bada3166d94c6fe5d3" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key , typename _Data , typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_map_traits&lt;_Key, _Data&gt;, typename _Alloc = std::allocator&lt;std::pair&lt;_Key, _Data&gt; &gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00004.html#a204cd4ff4807b9c35605b1ccc3cb597a">reverse_iterator</a> <a class="el" href="a00004.html">stx::btree_map</a>&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::<a class="el" href="a00004.html#a7163405774d2a2bada3166d94c6fe5d3">rbegin</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a read/data-write reverse iterator that points to the first invalid slot in the last leaf of the B+ tree. </p>
<p>Uses STL magic. </p>
<p>Definition at line <a class="el" href="a00028_source.html#l00278">278</a> of file <a class="el" href="a00028_source.html">btree_map.h</a>.</p>
<p>References <a class="el" href="a00026_source.html#l01601">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates, _Alloc, _UsedAsSet &gt;::rbegin()</a>, and <a class="el" href="a00028_source.html#l00163">stx::btree_map&lt; _Key, _Data, _Compare, _Traits, _Alloc &gt;::tree</a>.</p>