idlebox / 2007 / stx-btree / stx-btree-0.8.3 / doxygen-html / classstx_1_1btree__set.html.html (Download File)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>STX B+ Tree Template Classes: stx::btree_set&lt; _Key, _Compare, _Traits &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacestx.html">stx</a>::<a class="el" href="classstx_1_1btree__set.html">btree_set</a>
  </div>
</div>
<div class="contents">
<h1>stx::btree_set&lt; _Key, _Compare, _Traits &gt; Class Template Reference</h1><!-- doxytag: class="stx::btree_set" -->Specialized B+ tree template class implementing STL's set container.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="btree__set_8h-source.html">btree_set.h</a>&gt;</code>
<p>

<p>
<a href="classstx_1_1btree__set-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _Key&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">First template parameter: The key type of the B+ tree.  <a href="#509db03a02c4649b0f718162673fa20c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _Compare&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Second template parameter: Key comparison function object.  <a href="#194fe0d02f120a2b49d53a6788191cad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _Traits&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#b06119d9fef5746d356f67fdc3c4e7b9">traits</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Third template parameter: Traits object used to define more parameters of the B+ tree.  <a href="#b06119d9fef5746d356f67fdc3c4e7b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structstx_1_1btree__set_1_1empty__struct.html">empty_struct</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#ba90fcc1bc06eef41130790b8e9a1cde">data_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The empty data_type.  <a href="#ba90fcc1bc06eef41130790b8e9a1cde"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#2ac96a547429ce330240b0cfa738ca98">value_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct the set value_type: the key_type.  <a href="#2ac96a547429ce330240b0cfa738ca98"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree__set.html">btree_set</a>&lt; <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a>, <br>
<a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a>, <a class="el" href="classstx_1_1btree__set.html#b06119d9fef5746d356f67fdc3c4e7b9">traits</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#c36dc246679795a399c2cd8ee0c8d03a">self</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedef of our own type.  <a href="#c36dc246679795a399c2cd8ee0c8d03a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree.html">stx::btree</a>&lt; <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a>, <br>
<a class="el" href="structstx_1_1btree__set_1_1empty__struct.html">data_type</a>, <a class="el" href="classstx_1_1btree__set.html#2ac96a547429ce330240b0cfa738ca98">value_type</a>, <br>
<a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a>, <a class="el" href="classstx_1_1btree__set.html#b06119d9fef5746d356f67fdc3c4e7b9">traits</a>, false &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#c6a0bba366143b72a73f5b6ccf49c030">btree_impl</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation type of the btree_base.  <a href="#c6a0bba366143b72a73f5b6ccf49c030"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree_1_1value__compare.html">btree_impl::value_compare</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#e47874da1778d7b88f7ed0d060076795">value_compare</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function class comparing two value_type keys.  <a href="#e47874da1778d7b88f7ed0d060076795"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree.html#973470864b67129983ea4e1aa2132ac5">btree_impl::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size type used to count keys.  <a href="#85e1b660ae997807864b066cf8b4c7fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structstx_1_1btree_1_1tree__stats.html">btree_impl::tree_stats</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#dcd05145516e714afee70db2756f558e">tree_stats</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Small structure containing statistics about the tree.  <a href="#dcd05145516e714afee70db2756f558e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree_1_1iterator.html">btree_impl::iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#0ef466a0144bb72f06eaf918147f01ec">iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL-like iterator object for B+ tree items.  <a href="#0ef466a0144bb72f06eaf918147f01ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree_1_1const__iterator.html">btree_impl::const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#e005c2b6bd8d0121f30f9d7d5012c6c0">const_iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">STL-like iterator object for B+ tree items.  <a href="#e005c2b6bd8d0121f30f9d7d5012c6c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br>
<a class="el" href="classstx_1_1btree_1_1reverse__iterator.html">btree_impl::reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#4ac1acf4e0db5968072b6ae3aa6ffe05">reverse_iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create mutable reverse iterator by using STL magic  <a href="#4ac1acf4e0db5968072b6ae3aa6ffe05"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br>
<a class="el" href="classstx_1_1btree_1_1const__reverse__iterator.html">btree_impl::const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#6d0d40380ec160a20ddcabf80935f899">const_reverse_iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create constant reverse iterator by using STL magic  <a href="#6d0d40380ec160a20ddcabf80935f899"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#cab87faa1f497148d145297082edc62e">btree_set</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor initializing an empty B+ tree with the standard key comparison function.  <a href="#cab87faa1f497148d145297082edc62e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#4cbc4685f8ee72cc147aa1084ae90de8">btree_set</a> (const <a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a> &amp;kcf)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor initializing an empty B+ tree with a special key comparison object.  <a href="#4cbc4685f8ee72cc147aa1084ae90de8"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class InputIterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#71bf764b0118a9ccfd6b20250aa0aac7">btree_set</a> (InputIterator first, InputIterator last)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor initializing a B+ tree with the range [first,last).  <a href="#71bf764b0118a9ccfd6b20250aa0aac7"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class InputIterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#e51563096e959a2099f74e55db6c6520">btree_set</a> (InputIterator first, InputIterator last, const <a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a> &amp;kcf)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor initializing a B+ tree with the range [first,last) and a special key comparison object.  <a href="#e51563096e959a2099f74e55db6c6520"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#de061369c452ede6f18d4012919ebf39">~btree_set</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees up all used B+ tree memory pages.  <a href="#de061369c452ede6f18d4012919ebf39"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#ab1f97a7d71811c5eb8f0dc55fc0b1b8">swap</a> (<a class="el" href="classstx_1_1btree__set.html">self</a> &amp;from)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fast swapping of two identical B+ tree objects.  <a href="#ab1f97a7d71811c5eb8f0dc55fc0b1b8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#93466e2999a28011466ce56a0a807083">key_comp</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant access to the key comparison object sorting the B+ tree.  <a href="#93466e2999a28011466ce56a0a807083"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1value__compare.html">value_compare</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#a2d20f3b698f2017e580792b87e0f3a4">value_comp</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant access to a constructed value_type comparison object.  <a href="#a2d20f3b698f2017e580792b87e0f3a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#bab3a966a2d26cd83777d45b67b4ec3f">clear</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees all keys and all nodes of the tree.  <a href="#bab3a966a2d26cd83777d45b67b4ec3f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#536f8fa8442d0f664447de0518c60041">begin</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#536f8fa8442d0f664447de0518c60041"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#13feaae3a8bf995dee827c12b30b4bf7">end</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#13feaae3a8bf995dee827c12b30b4bf7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#2e1b042c615f436a2ece31e3175f1218">begin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#2e1b042c615f436a2ece31e3175f1218"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#55c93868b956919ff8d9ef051ac74b74">end</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#55c93868b956919ff8d9ef051ac74b74"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1reverse__iterator.html">reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#9268f3d41b5891e0286e8f91dc47cb8d">rbegin</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#9268f3d41b5891e0286e8f91dc47cb8d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1reverse__iterator.html">reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#f3ee6d465463b801fb2f5a69715033b1">rend</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#f3ee6d465463b801fb2f5a69715033b1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1const__reverse__iterator.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#62ece7640ddc04133eea04d3755d9dd1">rbegin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#62ece7640ddc04133eea04d3755d9dd1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1const__reverse__iterator.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#ed2af689eeed71485d8f031d8e96c7fc">rend</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#ed2af689eeed71485d8f031d8e96c7fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#76b2b68ccf5c2b6b49731eb6278d1b68">size</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of keys in the B+ tree.  <a href="#76b2b68ccf5c2b6b49731eb6278d1b68"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#8354d3dead85ff276bb077af9eb427c6">empty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if there is at least one key in the B+ tree.  <a href="#8354d3dead85ff276bb077af9eb427c6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#1a4c6cd6f34e042077d0b8cc94cfacc3">max_size</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the largest possible size of the B+ Tree.  <a href="#1a4c6cd6f34e042077d0b8cc94cfacc3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structstx_1_1btree_1_1tree__stats.html">tree_stats</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#839619b04dcab0265b7ef37feff1603e">get_stats</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a const reference to the current statistics.  <a href="#839619b04dcab0265b7ef37feff1603e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#e586763f864de1de158f83456171419f">exists</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Non-STL function checking whether a key is in the B+ tree.  <a href="#e586763f864de1de158f83456171419f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#9ea2f19fd2c94746ed2d370a184c9c89">find</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tries to locate a key in the B+ tree and returns an iterator to the key slot if found.  <a href="#9ea2f19fd2c94746ed2d370a184c9c89"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#084877c736d87902fd16a59fa64f1c2f">find</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tries to locate a key in the B+ tree and returns an constant iterator to the key slot if found.  <a href="#084877c736d87902fd16a59fa64f1c2f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#c22ac79184b385d5239a0295c6022990">count</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tries to locate a key in the B+ tree and returns the number of identical key entries found.  <a href="#c22ac79184b385d5239a0295c6022990"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#7c0b80e2afa450a956f5b08fc6292e05">lower_bound</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches the B+ tree and returns an iterator to the first key less or equal to the parameter.  <a href="#7c0b80e2afa450a956f5b08fc6292e05"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#b65b12b6497c9498ebd1e9f0100b1c36">lower_bound</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches the B+ tree and returns an constant iterator to the first key less or equal to the parameter.  <a href="#b65b12b6497c9498ebd1e9f0100b1c36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#532bd789241075b67f45c9866d4f62c7">upper_bound</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches the B+ tree and returns an iterator to the first key greater than the parameter.  <a href="#532bd789241075b67f45c9866d4f62c7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#21a46286c0bdb3f9450e70a6df86bd72">upper_bound</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches the B+ tree and returns an constant iterator to the first key greater than the parameter.  <a href="#21a46286c0bdb3f9450e70a6df86bd72"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::pair&lt; <a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>, <a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#9bf38ca1f5676d20740e25e9bc2983f3">equal_range</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches the B+ tree and returns both <a class="el" href="classstx_1_1btree__set.html#7c0b80e2afa450a956f5b08fc6292e05" title="Searches the B+ tree and returns an iterator to the first key less or equal to the...">lower_bound()</a> and <a class="el" href="classstx_1_1btree__set.html#532bd789241075b67f45c9866d4f62c7" title="Searches the B+ tree and returns an iterator to the first key greater than the parameter...">upper_bound()</a>.  <a href="#9bf38ca1f5676d20740e25e9bc2983f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::pair&lt; <a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>, <br>
<a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#2dcdc87563e21efca3f12ed776eb01b9">equal_range</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches the B+ tree and returns both <a class="el" href="classstx_1_1btree__set.html#7c0b80e2afa450a956f5b08fc6292e05" title="Searches the B+ tree and returns an iterator to the first key less or equal to the...">lower_bound()</a> and <a class="el" href="classstx_1_1btree__set.html#532bd789241075b67f45c9866d4f62c7" title="Searches the B+ tree and returns an iterator to the first key greater than the parameter...">upper_bound()</a>.  <a href="#2dcdc87563e21efca3f12ed776eb01b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#7a5adcbc988892065c4ab8b3259fbeeb">operator==</a> (const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;other) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Equality relation of B+ trees of the same type.  <a href="#7a5adcbc988892065c4ab8b3259fbeeb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#63e3a4b184129cab73c9df4235dee617">operator!=</a> (const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;other) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inequality relation. Based on operator==.  <a href="#63e3a4b184129cab73c9df4235dee617"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#c7f0c3c52efe5858ce1c704d775a9f57">operator&lt;</a> (const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;other) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Total ordering relation of B+ trees of the same type.  <a href="#c7f0c3c52efe5858ce1c704d775a9f57"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#3bd1a49228960088f2b196c3319e2383">operator&gt;</a> (const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;other) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Greater relation. Based on operator&lt;.  <a href="#3bd1a49228960088f2b196c3319e2383"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#a61a0fa7d6132bf772a2a97f612effed">operator&lt;=</a> (const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;other) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Less-equal relation. Based on operator&lt;.  <a href="#a61a0fa7d6132bf772a2a97f612effed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#a4c446d3b22e86d7169bcccea185849e">operator&gt;=</a> (const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;other) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Greater-equal relation. Based on operator&lt;.  <a href="#a4c446d3b22e86d7169bcccea185849e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#23590115c49db234c3bbf274260a4249">operator=</a> (const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*** Fast Copy: Assign Operator and Copy Constructors  <a href="#23590115c49db234c3bbf274260a4249"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#a4c84be7d7671d9275f6662b5d156861">btree_set</a> (const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#a4c84be7d7671d9275f6662b5d156861"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::pair&lt; <a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>, bool &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#b8aba3bf358d01b5a97e56276b13826e">insert</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;x)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempt to insert a key into the B+ tree.  <a href="#b8aba3bf358d01b5a97e56276b13826e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#e453b064ec05bd1bdfcb7cce0a24392e">insert</a> (<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> hint, const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;x)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempt to insert a key into the B+ tree.  <a href="#e453b064ec05bd1bdfcb7cce0a24392e"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename InputIterator&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#133f72e15bc39a9477a2a6f244758796">insert</a> (InputIterator first, InputIterator last)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempt to insert the range [first,last) of iterators dereferencing to key_type into the B+ tree.  <a href="#133f72e15bc39a9477a2a6f244758796"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#c94f639718ce957263bacc2f69db9dee">erase_one</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erases the key from the set.  <a href="#c94f639718ce957263bacc2f69db9dee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#fc1e821040345e46a60daeae0d598f88">erase</a> (const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erases all the key/data pairs associated with the given key.  <a href="#fc1e821040345e46a60daeae0d598f88"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#959b822dc08b8a3e20ddaf142f4b1804">erase</a> (<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> iter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase the keys referenced by the iterator.  <a href="#959b822dc08b8a3e20ddaf142f4b1804"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#540aeddb33fa1cc5cbf6ce5692232050">erase</a> (<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>, <a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase all keys in the range [first,last).  <a href="#540aeddb33fa1cc5cbf6ce5692232050"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#e432364dd6dc37053e73ba5a614756db">print</a> (std::ostream &amp;os) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print out the B+ tree structure with keys onto the given ostream.  <a href="#e432364dd6dc37053e73ba5a614756db"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#fcca0d9bd3cbe770a87c0b679b143cd5">print_leaves</a> (std::ostream &amp;os) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print out only the leaves via the double linked list.  <a href="#fcca0d9bd3cbe770a87c0b679b143cd5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#8d6f812e88b5801a743ac39cdd7cc955">verify</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Run a thorough verification of all B+ tree invariants.  <a href="#8d6f812e88b5801a743ac39cdd7cc955"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#8c2e34ae16d8c7865c269ff0e79f9353">dump</a> (std::ostream &amp;os) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dump the contents of the B+ tree out onto an ostream as a binary image.  <a href="#8c2e34ae16d8c7865c269ff0e79f9353"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#723f25c9b0522c05b621afe3313f1b1f">restore</a> (std::istream &amp;is)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restore a binary image of a dumped B+ tree from an istream.  <a href="#723f25c9b0522c05b621afe3313f1b1f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#379fc29196c47e63b3b8d7d6899db987">leafslotmax</a> = <a class="el" href="classstx_1_1btree.html#12a39ca671e962924f4acf879a44eafc">btree_impl::leafslotmax</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base B+ tree parameter: The number of key slots in each leaf.  <a href="#379fc29196c47e63b3b8d7d6899db987"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#e7d95054a8b86eae9a3930cf42a6e365">innerslotmax</a> = <a class="el" href="classstx_1_1btree.html#83a18c2fb7f4e9cfd47ce7545d004324">btree_impl::innerslotmax</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</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="#e7d95054a8b86eae9a3930cf42a6e365"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#27a7625c31206d57ad14028f2902e437">minleafslots</a> = <a class="el" href="classstx_1_1btree.html#c53c2fe18cd06916a25c3b2a6e0486eb">btree_impl::minleafslots</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computed B+ tree parameter: The minimum number of key slots used in a leaf.  <a href="#27a7625c31206d57ad14028f2902e437"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#45451da5c748aaedbd67eb5c244ddd08">mininnerslots</a> = <a class="el" href="classstx_1_1btree.html#14312352a7289cee65f1793b0183f60e">btree_impl::mininnerslots</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computed B+ tree parameter: The minimum number of key slots used in an inner node.  <a href="#45451da5c748aaedbd67eb5c244ddd08"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#4cfd7d5d6009ea390022693d8de27c32">selfverify</a> = <a class="el" href="classstx_1_1btree.html#ee2e25b0fccc7147fd8be0bcf8630b5b">btree_impl::selfverify</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Debug parameter: Enables expensive and thorough checking of the B+ tree invariants after each insert/erase operation.  <a href="#4cfd7d5d6009ea390022693d8de27c32"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#5882a378d17483151ac58fdede3344c9">debug</a> = <a class="el" href="classstx_1_1btree.html#ac6ff74fe9fb9e87958d73c28cb9eef4">btree_impl::debug</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Debug parameter: Prints out lots of debug information about how the algorithms change the tree.  <a href="#5882a378d17483151ac58fdede3344c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#a4256f4a03d4904787eec811005c7632">allow_duplicates</a> = <a class="el" href="classstx_1_1btree.html#35378979c13861883affefda9ad95df7">btree_impl::allow_duplicates</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operational parameter: Allow duplicate keys in the <a class="el" href="classstx_1_1btree.html" title="Basic class implementing a base B+ tree data structure in memory.">btree</a>.  <a href="#a4256f4a03d4904787eec811005c7632"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree.html">btree_impl</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__set.html#66e4971de8926f226c1c1e9fed74f951">tree</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The contained implementation object.  <a href="#66e4971de8926f226c1c1e9fed74f951"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstx_1_1btree__set_1_1empty__struct.html">empty_struct</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The macro BTREE_FRIENDS can be used by outside class to access the B+ tree internals.  <a href="structstx_1_1btree__set_1_1empty__struct.html#_details">More...</a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt;<br>
 class stx::btree_set&lt; _Key, _Compare, _Traits &gt;</h3>

Specialized B+ tree template class implementing STL's set container.
<p>
Implements the STL set using a B+ tree. It can be used as a drop-in replacement for std::set. Not all asymptotic time requirements are met in theory. There is no allocator template parameter, instead the class has a traits class defining B+ tree properties like slots and self-verification.<p>
It is somewhat inefficient to implement a set using a B+ tree, a plain B tree would hold fewer copies of the keys.<p>
The set class is derived from the base implementation class <a class="el" href="classstx_1_1btree.html" title="Basic class implementing a base B+ tree data structure in memory.">btree</a> by specifying an empty struct as data_type. All function are adapted to provide the inner class with placeholder objects. Most tricky to get right were the return type's of iterators which as value_type should be the same as key_type, and not a pair of key and dummy-struct. This is taken case of using some template magic in the <a class="el" href="classstx_1_1btree.html" title="Basic class implementing a base B+ tree data structure in memory.">btree</a> class.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00052">52</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="509db03a02c4649b0f718162673fa20c"></a><!-- doxytag: member="stx::btree_set::key_type" ref="509db03a02c4649b0f718162673fa20c" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef _Key <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
First template parameter: The key type of the B+ tree.
<p>
This is stored in inner nodes and leaves
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00059">59</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="194fe0d02f120a2b49d53a6788191cad"></a><!-- doxytag: member="stx::btree_set::key_compare" ref="194fe0d02f120a2b49d53a6788191cad" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef _Compare <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Second template parameter: Key comparison function object.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00062">62</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b06119d9fef5746d356f67fdc3c4e7b9"></a><!-- doxytag: member="stx::btree_set::traits" ref="b06119d9fef5746d356f67fdc3c4e7b9" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef _Traits <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#b06119d9fef5746d356f67fdc3c4e7b9">traits</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Third template parameter: Traits object used to define more parameters of the B+ tree.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00066">66</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ba90fcc1bc06eef41130790b8e9a1cde"></a><!-- doxytag: member="stx::btree_set::data_type" ref="ba90fcc1bc06eef41130790b8e9a1cde" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structstx_1_1btree__set_1_1empty__struct.html">empty_struct</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="structstx_1_1btree__set_1_1empty__struct.html">data_type</a><code> [read]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The empty data_type.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00085">85</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2ac96a547429ce330240b0cfa738ca98"></a><!-- doxytag: member="stx::btree_set::value_type" ref="2ac96a547429ce330240b0cfa738ca98" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#2ac96a547429ce330240b0cfa738ca98">value_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct the set value_type: the key_type.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00088">88</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c36dc246679795a399c2cd8ee0c8d03a"></a><!-- doxytag: member="stx::btree_set::self" ref="c36dc246679795a399c2cd8ee0c8d03a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree__set.html">btree_set</a>&lt;<a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a>, <a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a>, <a class="el" href="classstx_1_1btree__set.html#b06119d9fef5746d356f67fdc3c4e7b9">traits</a>&gt; <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html">self</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedef of our own type.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00091">91</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c6a0bba366143b72a73f5b6ccf49c030"></a><!-- doxytag: member="stx::btree_set::btree_impl" ref="c6a0bba366143b72a73f5b6ccf49c030" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree.html">stx::btree</a>&lt;<a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a>, <a class="el" href="structstx_1_1btree__set_1_1empty__struct.html">data_type</a>, <a class="el" href="classstx_1_1btree__set.html#2ac96a547429ce330240b0cfa738ca98">value_type</a>, <a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a>, <a class="el" href="classstx_1_1btree__set.html#b06119d9fef5746d356f67fdc3c4e7b9">traits</a>, false&gt; <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree.html">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="btree__set_8h-source.html#l00094">94</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e47874da1778d7b88f7ed0d060076795"></a><!-- doxytag: member="stx::btree_set::value_compare" ref="e47874da1778d7b88f7ed0d060076795" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree_1_1value__compare.html">btree_impl::value_compare</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree_1_1value__compare.html">value_compare</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Function class comparing two value_type keys.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00097">97</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="85e1b660ae997807864b066cf8b4c7fa"></a><!-- doxytag: member="stx::btree_set::size_type" ref="85e1b660ae997807864b066cf8b4c7fa" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree.html#973470864b67129983ea4e1aa2132ac5">btree_impl::size_type</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">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="btree__set_8h-source.html#l00100">100</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="dcd05145516e714afee70db2756f558e"></a><!-- doxytag: member="stx::btree_set::tree_stats" ref="dcd05145516e714afee70db2756f558e" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structstx_1_1btree_1_1tree__stats.html">btree_impl::tree_stats</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="structstx_1_1btree_1_1tree__stats.html">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="btree__set_8h-source.html#l00103">103</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0ef466a0144bb72f06eaf918147f01ec"></a><!-- doxytag: member="stx::btree_set::iterator" ref="0ef466a0144bb72f06eaf918147f01ec" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree_1_1iterator.html">btree_impl::iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
STL-like iterator object for B+ tree items.
<p>
The iterator points to a specific slot number in a leaf.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00142">142</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e005c2b6bd8d0121f30f9d7d5012c6c0"></a><!-- doxytag: member="stx::btree_set::const_iterator" ref="e005c2b6bd8d0121f30f9d7d5012c6c0" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree_1_1const__iterator.html">btree_impl::const_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
STL-like iterator object for B+ tree items.
<p>
The iterator points to a specific slot number in a leaf.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00146">146</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4ac1acf4e0db5968072b6ae3aa6ffe05"></a><!-- doxytag: member="stx::btree_set::reverse_iterator" ref="4ac1acf4e0db5968072b6ae3aa6ffe05" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree_1_1reverse__iterator.html">btree_impl::reverse_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree_1_1reverse__iterator.html">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="btree__set_8h-source.html#l00149">149</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6d0d40380ec160a20ddcabf80935f899"></a><!-- doxytag: member="stx::btree_set::const_reverse_iterator" ref="6d0d40380ec160a20ddcabf80935f899" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstx_1_1btree_1_1const__reverse__iterator.html">btree_impl::const_reverse_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree_1_1const__reverse__iterator.html">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="btree__set_8h-source.html#l00152">152</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="cab87faa1f497148d145297082edc62e"></a><!-- doxytag: member="stx::btree_set::btree_set" ref="cab87faa1f497148d145297082edc62e" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html">btree_set</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</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="btree__set_8h-source.html#l00165">165</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4cbc4685f8ee72cc147aa1084ae90de8"></a><!-- doxytag: member="stx::btree_set::btree_set" ref="4cbc4685f8ee72cc147aa1084ae90de8" args="(const key_compare &amp;kcf)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html">btree_set</a>           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>kcf</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</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="btree__set_8h-source.html#l00172">172</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="71bf764b0118a9ccfd6b20250aa0aac7"></a><!-- doxytag: member="stx::btree_set::btree_set" ref="71bf764b0118a9ccfd6b20250aa0aac7" args="(InputIterator first, InputIterator last)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
<div class="memtemplate">
template&lt;class InputIterator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html">btree_set</a>           </td>
          <td>(</td>
          <td class="paramtype">InputIterator&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIterator&nbsp;</td>
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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="btree__set_8h-source.html#l00179">179</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00455">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::insert()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e51563096e959a2099f74e55db6c6520"></a><!-- doxytag: member="stx::btree_set::btree_set" ref="e51563096e959a2099f74e55db6c6520" args="(InputIterator first, InputIterator last, const key_compare &amp;kcf)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
<div class="memtemplate">
template&lt;class InputIterator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html">btree_set</a>           </td>
          <td>(</td>
          <td class="paramtype">InputIterator&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIterator&nbsp;</td>
          <td class="paramname"> <em>last</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>kcf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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="btree__set_8h-source.html#l00188">188</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00455">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::insert()</a>.</p>

</div>
</div><p>
<a class="anchor" name="de061369c452ede6f18d4012919ebf39"></a><!-- doxytag: member="stx::btree_set::~btree_set" ref="de061369c452ede6f18d4012919ebf39" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::~<a class="el" href="classstx_1_1btree__set.html">btree_set</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00195">195</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a4c84be7d7671d9275f6662b5d156861"></a><!-- doxytag: member="stx::btree_set::btree_set" ref="a4c84be7d7671d9275f6662b5d156861" args="(const self &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html">btree_set</a>           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor.
<p>
The newly initialized B+ tree object will contain a copy of all keys.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00445">445</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ab1f97a7d71811c5eb8f0dc55fc0b1b8"></a><!-- doxytag: member="stx::btree_set::swap" ref="ab1f97a7d71811c5eb8f0dc55fc0b1b8" args="(self &amp;from)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::swap           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>from</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fast swapping of two identical B+ tree objects.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00200">200</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="93466e2999a28011466ce56a0a807083"></a><!-- doxytag: member="stx::btree_set::key_comp" ref="93466e2999a28011466ce56a0a807083" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html#194fe0d02f120a2b49d53a6788191cad">key_compare</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::key_comp           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00209">209</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01318">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::key_comp()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="a2d20f3b698f2017e580792b87e0f3a4"></a><!-- doxytag: member="stx::btree_set::value_comp" ref="a2d20f3b698f2017e580792b87e0f3a4" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1value__compare.html">value_compare</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::value_comp           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constant access to a constructed value_type comparison object.
<p>
required by the STL
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00216">216</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>, and <a class="el" href="btree_8h-source.html#l01325">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::value_comp()</a>.</p>

</div>
</div><p>
<a class="anchor" name="bab3a966a2d26cd83777d45b67b4ec3f"></a><!-- doxytag: member="stx::btree_set::clear" ref="bab3a966a2d26cd83777d45b67b4ec3f" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::clear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Frees all keys and all nodes of the tree.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00225">225</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01397">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::clear()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="536f8fa8442d0f664447de0518c60041"></a><!-- doxytag: member="stx::btree_set::begin" ref="536f8fa8442d0f664447de0518c60041" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00235">235</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01443">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::begin()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="13feaae3a8bf995dee827c12b30b4bf7"></a><!-- doxytag: member="stx::btree_set::end" ref="13feaae3a8bf995dee827c12b30b4bf7" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00242">242</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01450">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::end()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="2e1b042c615f436a2ece31e3175f1218"></a><!-- doxytag: member="stx::btree_set::begin" ref="2e1b042c615f436a2ece31e3175f1218" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00249">249</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01443">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::begin()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="55c93868b956919ff8d9ef051ac74b74"></a><!-- doxytag: member="stx::btree_set::end" ref="55c93868b956919ff8d9ef051ac74b74" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00256">256</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01450">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::end()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="9268f3d41b5891e0286e8f91dc47cb8d"></a><!-- doxytag: member="stx::btree_set::rbegin" ref="9268f3d41b5891e0286e8f91dc47cb8d" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1reverse__iterator.html">reverse_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::rbegin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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>
Uses STL magic.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00263">263</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01471">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::rbegin()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="f3ee6d465463b801fb2f5a69715033b1"></a><!-- doxytag: member="stx::btree_set::rend" ref="f3ee6d465463b801fb2f5a69715033b1" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1reverse__iterator.html">reverse_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::rend           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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 slot in the first leaf of the B+ tree.
<p>
Uses STL magic.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00270">270</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01478">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::rend()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="62ece7640ddc04133eea04d3755d9dd1"></a><!-- doxytag: member="stx::btree_set::rbegin" ref="62ece7640ddc04133eea04d3755d9dd1" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1const__reverse__iterator.html">const_reverse_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::rbegin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructs a read-only reverse iterator that points to the first invalid slot in the last leaf of the B+ tree.
<p>
Uses STL magic.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00277">277</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01471">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::rbegin()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="ed2af689eeed71485d8f031d8e96c7fc"></a><!-- doxytag: member="stx::btree_set::rend" ref="ed2af689eeed71485d8f031d8e96c7fc" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1const__reverse__iterator.html">const_reverse_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::rend           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructs a read-only reverse iterator that points to the first slot in the first leaf of the B+ tree.
<p>
Uses STL magic.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00284">284</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01478">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::rend()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="76b2b68ccf5c2b6b49731eb6278d1b68"></a><!-- doxytag: member="stx::btree_set::size" ref="76b2b68ccf5c2b6b49731eb6278d1b68" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::size           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the number of keys in the B+ tree.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00293">293</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01598">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::size()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="8354d3dead85ff276bb077af9eb427c6"></a><!-- doxytag: member="stx::btree_set::empty" ref="8354d3dead85ff276bb077af9eb427c6" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::empty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns true if there is at least one key in the B+ tree.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00299">299</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01604">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::empty()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="1a4c6cd6f34e042077d0b8cc94cfacc3"></a><!-- doxytag: member="stx::btree_set::max_size" ref="1a4c6cd6f34e042077d0b8cc94cfacc3" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::max_size           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the largest possible size of the B+ Tree.
<p>
This is just a function required by the STL standard, the B+ Tree can hold more items.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00306">306</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01611">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::max_size()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="839619b04dcab0265b7ef37feff1603e"></a><!-- doxytag: member="stx::btree_set::get_stats" ref="839619b04dcab0265b7ef37feff1603e" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structstx_1_1btree_1_1tree__stats.html">tree_stats</a>&amp; <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::get_stats           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00312">312</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01617">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::get_stats()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="e586763f864de1de158f83456171419f"></a><!-- doxytag: member="stx::btree_set::exists" ref="e586763f864de1de158f83456171419f" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::exists           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</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>
The same as (find(k) != <a class="el" href="classstx_1_1btree__set.html#13feaae3a8bf995dee827c12b30b4bf7" title="Constructs a read/data-write iterator that points to the first invalid slot in the...">end()</a>) or (<a class="el" href="classstx_1_1btree__set.html#c22ac79184b385d5239a0295c6022990" title="Tries to locate a key in the B+ tree and returns the number of identical key entries...">count()</a> != 0).
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00322">322</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01627">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::exists()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="9ea2f19fd2c94746ed2d370a184c9c89"></a><!-- doxytag: member="stx::btree_set::find" ref="9ea2f19fd2c94746ed2d370a184c9c89" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::find           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</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 slot if found.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__set.html#13feaae3a8bf995dee827c12b30b4bf7" title="Constructs a read/data-write iterator that points to the first invalid slot in the...">end()</a>.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00329">329</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01648">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::find()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="084877c736d87902fd16a59fa64f1c2f"></a><!-- doxytag: member="stx::btree_set::find" ref="084877c736d87902fd16a59fa64f1c2f" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::find           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</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 slot if found.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__set.html#13feaae3a8bf995dee827c12b30b4bf7" title="Constructs a read/data-write iterator that points to the first invalid slot in the...">end()</a>.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00336">336</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01648">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::find()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="c22ac79184b385d5239a0295c6022990"></a><!-- doxytag: member="stx::btree_set::count" ref="c22ac79184b385d5239a0295c6022990" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::count           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</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>
As this is a unique set, <a class="el" href="classstx_1_1btree__set.html#c22ac79184b385d5239a0295c6022990" title="Tries to locate a key in the B+ tree and returns the number of identical key entries...">count()</a> returns either 0 or 1.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00344">344</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01692">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::count()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="7c0b80e2afa450a956f5b08fc6292e05"></a><!-- doxytag: member="stx::btree_set::lower_bound" ref="7c0b80e2afa450a956f5b08fc6292e05" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::lower_bound           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches the B+ tree and returns an iterator to the first key less or equal to the parameter.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__set.html#13feaae3a8bf995dee827c12b30b4bf7" title="Constructs a read/data-write iterator that points to the first invalid slot in the...">end()</a>.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00351">351</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01725">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::lower_bound()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="b65b12b6497c9498ebd1e9f0100b1c36"></a><!-- doxytag: member="stx::btree_set::lower_bound" ref="b65b12b6497c9498ebd1e9f0100b1c36" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::lower_bound           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches the B+ tree and returns an constant iterator to the first key less or equal to the parameter.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__set.html#13feaae3a8bf995dee827c12b30b4bf7" title="Constructs a read/data-write iterator that points to the first invalid slot in the...">end()</a>.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00358">358</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01725">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::lower_bound()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="532bd789241075b67f45c9866d4f62c7"></a><!-- doxytag: member="stx::btree_set::upper_bound" ref="532bd789241075b67f45c9866d4f62c7" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::upper_bound           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches the B+ tree and returns an iterator to the first key greater than the parameter.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__set.html#13feaae3a8bf995dee827c12b30b4bf7" title="Constructs a read/data-write iterator that points to the first invalid slot in the...">end()</a>.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00365">365</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>, and <a class="el" href="btree_8h-source.html#l01767">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::upper_bound()</a>.</p>

</div>
</div><p>
<a class="anchor" name="21a46286c0bdb3f9450e70a6df86bd72"></a><!-- doxytag: member="stx::btree_set::upper_bound" ref="21a46286c0bdb3f9450e70a6df86bd72" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::upper_bound           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches the B+ tree and returns an constant iterator to the first key greater than the parameter.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__set.html#13feaae3a8bf995dee827c12b30b4bf7" title="Constructs a read/data-write iterator that points to the first invalid slot in the...">end()</a>.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00372">372</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>, and <a class="el" href="btree_8h-source.html#l01767">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::upper_bound()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9bf38ca1f5676d20740e25e9bc2983f3"></a><!-- doxytag: member="stx::btree_set::equal_range" ref="9bf38ca1f5676d20740e25e9bc2983f3" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt;<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>, <a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&gt; <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::equal_range           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Searches the B+ tree and returns both <a class="el" href="classstx_1_1btree__set.html#7c0b80e2afa450a956f5b08fc6292e05" title="Searches the B+ tree and returns an iterator to the first key less or equal to the...">lower_bound()</a> and <a class="el" href="classstx_1_1btree__set.html#532bd789241075b67f45c9866d4f62c7" title="Searches the B+ tree and returns an iterator to the first key greater than the parameter...">upper_bound()</a>.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00378">378</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01808">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::equal_range()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="2dcdc87563e21efca3f12ed776eb01b9"></a><!-- doxytag: member="stx::btree_set::equal_range" ref="2dcdc87563e21efca3f12ed776eb01b9" args="(const key_type &amp;key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt;<a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>, <a class="el" href="classstx_1_1btree_1_1const__iterator.html">const_iterator</a>&gt; <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::equal_range           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</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="classstx_1_1btree__set.html#7c0b80e2afa450a956f5b08fc6292e05" title="Searches the B+ tree and returns an iterator to the first key less or equal to the...">lower_bound()</a> and <a class="el" href="classstx_1_1btree__set.html#532bd789241075b67f45c9866d4f62c7" title="Searches the B+ tree and returns an iterator to the first key greater than the parameter...">upper_bound()</a>.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00384">384</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01808">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::equal_range()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="7a5adcbc988892065c4ab8b3259fbeeb"></a><!-- doxytag: member="stx::btree_set::operator==" ref="7a5adcbc988892065c4ab8b3259fbeeb" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Equality relation of B+ trees of the same type.
<p>
B+ trees of the same size and equal elements are considered equal.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00394">394</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="63e3a4b184129cab73c9df4235dee617"></a><!-- doxytag: member="stx::btree_set::operator!=" ref="63e3a4b184129cab73c9df4235dee617" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00400">400</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="c7f0c3c52efe5858ce1c704d775a9f57"></a><!-- doxytag: member="stx::btree_set::operator&lt;" ref="c7f0c3c52efe5858ce1c704d775a9f57" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::operator&lt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</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>
It uses std::lexicographical_compare() for the actual comparison of elements.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00407">407</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="3bd1a49228960088f2b196c3319e2383"></a><!-- doxytag: member="stx::btree_set::operator&gt;" ref="3bd1a49228960088f2b196c3319e2383" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::operator&gt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00413">413</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="a61a0fa7d6132bf772a2a97f612effed"></a><!-- doxytag: member="stx::btree_set::operator&lt;=" ref="a61a0fa7d6132bf772a2a97f612effed" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::operator&lt;=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00419">419</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="a4c446d3b22e86d7169bcccea185849e"></a><!-- doxytag: member="stx::btree_set::operator&gt;=" ref="a4c446d3b22e86d7169bcccea185849e" args="(const self &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::operator&gt;=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00425">425</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="23590115c49db234c3bbf274260a4249"></a><!-- doxytag: member="stx::btree_set::operator=" ref="23590115c49db234c3bbf274260a4249" args="(const self &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html">self</a>&amp; <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html">self</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
*** Fast Copy: Assign Operator and Copy Constructors
<p>
Assignment operator. All the keys are copied
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00434">434</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="b8aba3bf358d01b5a97e56276b13826e"></a><!-- doxytag: member="stx::btree_set::insert" ref="b8aba3bf358d01b5a97e56276b13826e" args="(const key_type &amp;x)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt;<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>, bool&gt; <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::insert           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attempt to insert a key into the B+ tree.
<p>
The insert will fail if it is already present.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00455">455</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01971">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::insert2()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

<p>Referenced by <a class="el" href="btree__set_8h-source.html#l00179">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::btree_set()</a>, and <a class="el" href="btree__set_8h-source.html#l00470">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::insert()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e453b064ec05bd1bdfcb7cce0a24392e"></a><!-- doxytag: member="stx::btree_set::insert" ref="e453b064ec05bd1bdfcb7cce0a24392e" args="(iterator hint, const key_type &amp;x)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::insert           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td>
          <td class="paramname"> <em>hint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attempt to insert a key into the B+ tree.
<p>
The iterator hint is currently ignored by the B+ tree insertion routine.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00462">462</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l01971">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::insert2()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="133f72e15bc39a9477a2a6f244758796"></a><!-- doxytag: member="stx::btree_set::insert" ref="133f72e15bc39a9477a2a6f244758796" args="(InputIterator first, InputIterator last)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
<div class="memtemplate">
template&lt;typename InputIterator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::insert           </td>
          <td>(</td>
          <td class="paramtype">InputIterator&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">InputIterator&nbsp;</td>
          <td class="paramname"> <em>last</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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 iterators dereferencing to key_type into the B+ tree.
<p>
Each key/data pair is inserted individually.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00470">470</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00455">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::insert()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c94f639718ce957263bacc2f69db9dee"></a><!-- doxytag: member="stx::btree_set::erase_one" ref="c94f639718ce957263bacc2f69db9dee" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::erase_one           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Erases the key from the set.
<p>
As this is a unique set, there is no difference to <a class="el" href="classstx_1_1btree__set.html#fc1e821040345e46a60daeae0d598f88" title="Erases all the key/data pairs associated with the given key.">erase()</a>.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00485">485</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l02335">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::erase_one()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="fc1e821040345e46a60daeae0d598f88"></a><!-- doxytag: member="stx::btree_set::erase" ref="fc1e821040345e46a60daeae0d598f88" args="(const key_type &amp;key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree__set.html#85e1b660ae997807864b066cf8b4c7fa">size_type</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::erase           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstx_1_1btree__set.html#509db03a02c4649b0f718162673fa20c">key_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</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>Definition at line <a class="el" href="btree__set_8h-source.html#l00491">491</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l02358">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::erase()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="959b822dc08b8a3e20ddaf142f4b1804"></a><!-- doxytag: member="stx::btree_set::erase" ref="959b822dc08b8a3e20ddaf142f4b1804" args="(iterator iter)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::erase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td>
          <td class="paramname"> <em>iter</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Erase the keys referenced by the iterator.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00498">498</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="540aeddb33fa1cc5cbf6ce5692232050"></a><!-- doxytag: member="stx::btree_set::erase" ref="540aeddb33fa1cc5cbf6ce5692232050" args="(iterator, iterator)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::erase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Erase all keys in the range [first,last).
<p>
This function is currently not implemented by the B+ Tree.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00507">507</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e432364dd6dc37053e73ba5a614756db"></a><!-- doxytag: member="stx::btree_set::print" ref="e432364dd6dc37053e73ba5a614756db" args="(std::ostream &amp;os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::print           </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>os</em>          </td>
          <td>&nbsp;)&nbsp;</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>
This function requires that the header is compiled with BTREE_DEBUG and that key_type is printable via std::ostream.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00520">520</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l02979">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::print()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="fcca0d9bd3cbe770a87c0b679b143cd5"></a><!-- doxytag: member="stx::btree_set::print_leaves" ref="fcca0d9bd3cbe770a87c0b679b143cd5" args="(std::ostream &amp;os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::print_leaves           </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>os</em>          </td>
          <td>&nbsp;)&nbsp;</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="btree__set_8h-source.html#l00526">526</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l02987">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::print_leaves()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="8d6f812e88b5801a743ac39cdd7cc955"></a><!-- doxytag: member="stx::btree_set::verify" ref="8d6f812e88b5801a743ac39cdd7cc955" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::verify           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Run a thorough verification of all B+ tree invariants.
<p>
The program aborts via <a class="el" href="btree_8h.html#6ac57b9b59dae34aea28cda65b0d14bb" title="Assertion only if BTREE_DEBUG is defined. This is not used in verify().">BTREE_ASSERT()</a> if something is wrong.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00538">538</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>, and <a class="el" href="btree_8h-source.html#l03053">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::verify()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8c2e34ae16d8c7865c269ff0e79f9353"></a><!-- doxytag: member="stx::btree_set::dump" ref="8c2e34ae16d8c7865c269ff0e79f9353" args="(std::ostream &amp;os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::dump           </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>os</em>          </td>
          <td>&nbsp;)&nbsp;</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>
The image contains memory pointers which will be fixed when the image is restored. For this to work your key_type must be an integral type and contain no pointers or references.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00549">549</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l03270">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::dump()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<a class="anchor" name="723f25c9b0522c05b621afe3313f1b1f"></a><!-- doxytag: member="stx::btree_set::restore" ref="723f25c9b0522c05b621afe3313f1b1f" args="(std::istream &amp;is)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::restore           </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&nbsp;</td>
          <td class="paramname"> <em>is</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Restore a binary image of a dumped B+ tree from an istream.
<p>
The B+ tree pointers are fixed using the dump order. For dump and restore to work your key_type must be an integral type and contain no pointers or references. Returns true if the restore was successful.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00558">558</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>References <a class="el" href="btree_8h-source.html#l03287">stx::btree&lt; _Key, _Data, _Value, _Compare, _Traits, _Duplicates &gt;::restore()</a>, and <a class="el" href="btree__set_8h-source.html#l00158">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::tree</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="379fc29196c47e63b3b8d7d6899db987"></a><!-- doxytag: member="stx::btree_set::leafslotmax" ref="379fc29196c47e63b3b8d7d6899db987" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const unsigned short <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#379fc29196c47e63b3b8d7d6899db987">leafslotmax</a> = <a class="el" href="classstx_1_1btree.html#12a39ca671e962924f4acf879a44eafc">btree_impl::leafslotmax</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Base B+ tree parameter: The number of key slots in each leaf.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00109">109</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e7d95054a8b86eae9a3930cf42a6e365"></a><!-- doxytag: member="stx::btree_set::innerslotmax" ref="e7d95054a8b86eae9a3930cf42a6e365" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const unsigned short <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#e7d95054a8b86eae9a3930cf42a6e365">innerslotmax</a> = <a class="el" href="classstx_1_1btree.html#83a18c2fb7f4e9cfd47ce7545d004324">btree_impl::innerslotmax</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Base B+ tree parameter: The number of key slots in each inner node, this can differ from slots in each leaf.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00113">113</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="27a7625c31206d57ad14028f2902e437"></a><!-- doxytag: member="stx::btree_set::minleafslots" ref="27a7625c31206d57ad14028f2902e437" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const unsigned short <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#27a7625c31206d57ad14028f2902e437">minleafslots</a> = <a class="el" href="classstx_1_1btree.html#c53c2fe18cd06916a25c3b2a6e0486eb">btree_impl::minleafslots</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Computed B+ tree parameter: The minimum number of key slots used in a leaf.
<p>
If fewer slots are used, the leaf will be merged or slots shifted from it's siblings.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00118">118</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="45451da5c748aaedbd67eb5c244ddd08"></a><!-- doxytag: member="stx::btree_set::mininnerslots" ref="45451da5c748aaedbd67eb5c244ddd08" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const unsigned short <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#45451da5c748aaedbd67eb5c244ddd08">mininnerslots</a> = <a class="el" href="classstx_1_1btree.html#14312352a7289cee65f1793b0183f60e">btree_impl::mininnerslots</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Computed B+ tree parameter: The minimum number of key slots used in an inner node.
<p>
If fewer slots are used, the inner node will be merged or slots shifted from it's siblings.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00123">123</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4cfd7d5d6009ea390022693d8de27c32"></a><!-- doxytag: member="stx::btree_set::selfverify" ref="4cfd7d5d6009ea390022693d8de27c32" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#4cfd7d5d6009ea390022693d8de27c32">selfverify</a> = <a class="el" href="classstx_1_1btree.html#ee2e25b0fccc7147fd8be0bcf8630b5b">btree_impl::selfverify</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Debug parameter: Enables expensive and thorough checking of the B+ tree invariants after each insert/erase operation.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00127">127</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5882a378d17483151ac58fdede3344c9"></a><!-- doxytag: member="stx::btree_set::debug" ref="5882a378d17483151ac58fdede3344c9" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#5882a378d17483151ac58fdede3344c9">debug</a> = <a class="el" href="classstx_1_1btree.html#ac6ff74fe9fb9e87958d73c28cb9eef4">btree_impl::debug</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Debug parameter: Prints out lots of debug information about how the algorithms change the tree.
<p>
Requires the header file to be compiled with BTREE_DEBUG and the key type must be std::ostream printable.
<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00132">132</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a4256f4a03d4904787eec811005c7632"></a><!-- doxytag: member="stx::btree_set::allow_duplicates" ref="a4256f4a03d4904787eec811005c7632" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const bool <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#a4256f4a03d4904787eec811005c7632">allow_duplicates</a> = <a class="el" href="classstx_1_1btree.html#35378979c13861883affefda9ad95df7">btree_impl::allow_duplicates</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Operational parameter: Allow duplicate keys in the <a class="el" href="classstx_1_1btree.html" title="Basic class implementing a base B+ tree data structure in memory.">btree</a>.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00135">135</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="66e4971de8926f226c1c1e9fed74f951"></a><!-- doxytag: member="stx::btree_set::tree" ref="66e4971de8926f226c1c1e9fed74f951" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Key, typename _Compare = std::less&lt;_Key&gt;, typename _Traits = btree_default_set_traits&lt;_Key&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstx_1_1btree.html">btree_impl</a> <a class="el" href="classstx_1_1btree__set.html">stx::btree_set</a>&lt; _Key, _Compare, _Traits &gt;::<a class="el" href="classstx_1_1btree__set.html#66e4971de8926f226c1c1e9fed74f951">tree</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The contained implementation object.
<p>

<p>Definition at line <a class="el" href="btree__set_8h-source.html#l00158">158</a> of file <a class="el" href="btree__set_8h-source.html">btree_set.h</a>.</p>

<p>Referenced by <a class="el" href="btree__set_8h-source.html#l00235">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::begin()</a>, <a class="el" href="btree__set_8h-source.html#l00225">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::clear()</a>, <a class="el" href="btree__set_8h-source.html#l00344">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::count()</a>, <a class="el" href="btree__set_8h-source.html#l00549">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::dump()</a>, <a class="el" href="btree__set_8h-source.html#l00299">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::empty()</a>, <a class="el" href="btree__set_8h-source.html#l00242">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::end()</a>, <a class="el" href="btree__set_8h-source.html#l00378">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::equal_range()</a>, <a class="el" href="btree__set_8h-source.html#l00491">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::erase()</a>, <a class="el" href="btree__set_8h-source.html#l00485">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::erase_one()</a>, <a class="el" href="btree__set_8h-source.html#l00322">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::exists()</a>, <a class="el" href="btree__set_8h-source.html#l00329">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::find()</a>, <a class="el" href="btree__set_8h-source.html#l00312">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::get_stats()</a>, <a class="el" href="btree__set_8h-source.html#l00455">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::insert()</a>, <a class="el" href="btree__set_8h-source.html#l00209">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::key_comp()</a>, <a class="el" href="btree__set_8h-source.html#l00351">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::lower_bound()</a>, <a class="el" href="btree__set_8h-source.html#l00306">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::max_size()</a>, <a class="el" href="btree__set_8h-source.html#l00400">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::operator!=()</a>, <a class="el" href="btree__set_8h-source.html#l00407">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::operator&lt;()</a>, <a class="el" href="btree__set_8h-source.html#l00419">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::operator&lt;=()</a>, <a class="el" href="btree__set_8h-source.html#l00434">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::operator=()</a>, <a class="el" href="btree__set_8h-source.html#l00394">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::operator==()</a>, <a class="el" href="btree__set_8h-source.html#l00413">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::operator&gt;()</a>, <a class="el" href="btree__set_8h-source.html#l00425">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::operator&gt;=()</a>, <a class="el" href="btree__set_8h-source.html#l00520">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::print()</a>, <a class="el" href="btree__set_8h-source.html#l00526">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::print_leaves()</a>, <a class="el" href="btree__set_8h-source.html#l00263">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::rbegin()</a>, <a class="el" href="btree__set_8h-source.html#l00270">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::rend()</a>, <a class="el" href="btree__set_8h-source.html#l00558">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::restore()</a>, <a class="el" href="btree__set_8h-source.html#l00293">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::size()</a>, <a class="el" href="btree__set_8h-source.html#l00200">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::swap()</a>, <a class="el" href="btree__set_8h-source.html#l00365">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::upper_bound()</a>, <a class="el" href="btree__set_8h-source.html#l00216">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::value_comp()</a>, and <a class="el" href="btree__set_8h-source.html#l00538">stx::btree_set&lt; _Key, _Compare, _Traits &gt;::verify()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>stx/<a class="el" href="btree__set_8h-source.html">btree_set.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Sep 7 17:32:39 2008 for STX B+ Tree Template Classes by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
RSS 2.0 Weblog Feed Atom 1.0 Weblog Feed Valid XHTML 1.1 Valid CSS (2.1)