<!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_multiset< _Key, _Compare, _Traits > 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 Page</span></a></li>
<li><a href="pages.html"><span>Related 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 List</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul>
</div>
<div class="navpath"><a class="el" href="namespacestx.html">stx</a>::<a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a>
</div>
</div>
<div class="contents">
<h1>stx::btree_multiset< _Key, _Compare, _Traits > Class Template Reference</h1><!-- doxytag: class="stx::btree_multiset" -->Specialized B+ tree template class implementing STL's multiset container.
<a href="#_details">More...</a>
<p>
<code>#include <<a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>></code>
<p>
<p>
<a href="classstx_1_1btree__multiset-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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">First template parameter: The key type of 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="#70ce8aefc4ca681bd1aee899d261f9f2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _Compare </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Second template parameter: Key comparison function object. <a href="#f891648d4688fac7c9a3e734608e926b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _Traits </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#4605accf55721a656ff3d9bb318d8ec8">traits</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Third template parameter: Traits object used to define more parameters of the B+ tree. <a href="#4605accf55721a656ff3d9bb318d8ec8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct empty_struct </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#f2b19c009eb7141f3a1de96f2a3895ab">data_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The empty data_type. <a href="#f2b19c009eb7141f3a1de96f2a3895ab"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#6f16ce3d4836c24c2d0917d3cd3a91c6">value_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct the set value_type: the key_type. <a href="#6f16ce3d4836c24c2d0917d3cd3a91c6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a><br>
< <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a>, <a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a>, <br>
<a class="el" href="classstx_1_1btree__multiset.html#4605accf55721a656ff3d9bb318d8ec8">traits</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#742abd5c979ee4d129d58bb418a59fa6">self</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Typedef of our own type. <a href="#742abd5c979ee4d129d58bb418a59fa6"></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>< <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a>, <br>
<a class="el" href="classstx_1_1btree__multiset.html#f2b19c009eb7141f3a1de96f2a3895ab">data_type</a>, <a class="el" href="classstx_1_1btree__multiset.html#6f16ce3d4836c24c2d0917d3cd3a91c6">value_type</a>, <br>
<a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a>, <a class="el" href="classstx_1_1btree__multiset.html#4605accf55721a656ff3d9bb318d8ec8">traits</a>, true > </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#10f03dd25afdee220fb07565feec92d7">btree_impl</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Implementation type of the btree_base. <a href="#10f03dd25afdee220fb07565feec92d7"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#a3cf824ee430e7c0276ad20e33a98146">value_compare</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function class comparing two value_type keys. <a href="#a3cf824ee430e7c0276ad20e33a98146"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Size type used to count keys. <a href="#ac25b0bd4faefca3c6f938fca0d15405"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#4510bbeef2fc1c50c909aba4196bfc2c">tree_stats</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Small structure containing statistics about the tree. <a href="#4510bbeef2fc1c50c909aba4196bfc2c"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#8ab2b881783b721baddc90bf55d28ca0">iterator</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">STL-like iterator object for B+ tree items. <a href="#8ab2b881783b721baddc90bf55d28ca0"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#35a391f3d01ba0c40866ae997fba530f">const_iterator</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">STL-like iterator object for B+ tree items. <a href="#35a391f3d01ba0c40866ae997fba530f"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#c357ec97c32753380d1937413d94bcfc">reverse_iterator</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">create mutable reverse iterator by using STL magic <a href="#c357ec97c32753380d1937413d94bcfc"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#e21618cd7b08c5c3430a0a2d2e859c8d">const_reverse_iterator</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">create constant reverse iterator by using STL magic <a href="#e21618cd7b08c5c3430a0a2d2e859c8d"></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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#bd58492292a36010f9460563b3ef10ab">btree_multiset</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor initializing an empty B+ tree with the standard key comparison function. <a href="#bd58492292a36010f9460563b3ef10ab"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#bc698f264d78b0d0d2cb998de5401954">btree_multiset</a> (const <a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a> &kcf)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing an empty B+ tree with a special key comparison object. <a href="#bc698f264d78b0d0d2cb998de5401954"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<class InputIterator> </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#a88a97f592defdb222a2172b875f6d7e">btree_multiset</a> (InputIterator first, InputIterator last)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing a B+ tree with the range [first,last). <a href="#a88a97f592defdb222a2172b875f6d7e"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<class InputIterator> </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#29adec1f86d9005f9084e75a40275438">btree_multiset</a> (InputIterator first, InputIterator last, const <a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a> &kcf)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing a B+ tree with the range [first,last) and a special key comparison object. <a href="#29adec1f86d9005f9084e75a40275438"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#f2afcf9802b658e0968fc2c342a373c3">~btree_multiset</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees up all used B+ tree memory pages. <a href="#f2afcf9802b658e0968fc2c342a373c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#ef7070a27a64a4d0a0c1b811d7c1f2e9">swap</a> (<a class="el" href="classstx_1_1btree__multiset.html">self</a> &from)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Fast swapping of two identical B+ tree objects. <a href="#ef7070a27a64a4d0a0c1b811d7c1f2e9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#cb13fe838c316f532431ec43eaa16add">key_comp</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constant access to the key comparison object sorting the B+ tree. <a href="#cb13fe838c316f532431ec43eaa16add"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#2e7f89eaf20e3fc7e801bced2c8b9af6">value_comp</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constant access to a constructed value_type comparison object. <a href="#2e7f89eaf20e3fc7e801bced2c8b9af6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#1ea800e072cc8c67b030598bf04028b4">clear</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees all keys and all nodes of the tree. <a href="#1ea800e072cc8c67b030598bf04028b4"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#3440bd4aee2ddebc80386a3e3655c405">begin</a> ()</td></tr>
<tr><td class="mdescLeft"> </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="#3440bd4aee2ddebc80386a3e3655c405"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#59bab95c02bfeb444174934240747d2f">end</a> ()</td></tr>
<tr><td class="mdescLeft"> </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="#59bab95c02bfeb444174934240747d2f"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#19f65197c78cda6568a53a414d148a52">begin</a> () const </td></tr>
<tr><td class="mdescLeft"> </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="#19f65197c78cda6568a53a414d148a52"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#c80c6974fae711429d8660cb6692c78f">end</a> () const </td></tr>
<tr><td class="mdescLeft"> </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="#c80c6974fae711429d8660cb6692c78f"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#7eca5974eb54c6a0a4807fd4581301b7">rbegin</a> ()</td></tr>
<tr><td class="mdescLeft"> </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="#7eca5974eb54c6a0a4807fd4581301b7"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#c8807d5587424f0932fc20eb39a90b66">rend</a> ()</td></tr>
<tr><td class="mdescLeft"> </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="#c8807d5587424f0932fc20eb39a90b66"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#6fc116d6238e21a21d32e54b70d146da">rbegin</a> () const </td></tr>
<tr><td class="mdescLeft"> </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="#6fc116d6238e21a21d32e54b70d146da"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#bb3d387ad96025a583959bb997c339ba">rend</a> () const </td></tr>
<tr><td class="mdescLeft"> </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="#bb3d387ad96025a583959bb997c339ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#0bb7751df8f3878ea26a0dd39a3b7820">size</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of keys in the B+ tree. <a href="#0bb7751df8f3878ea26a0dd39a3b7820"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#9a58e8b35c872fcff55d873abe39dc08">empty</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if there is at least one key in the B+ tree. <a href="#9a58e8b35c872fcff55d873abe39dc08"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#a52e753a02b3083838aa55802ce067c5">max_size</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the largest possible size of the B+ Tree. <a href="#a52e753a02b3083838aa55802ce067c5"></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> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#10eefe6b2c8a04dc2118a95ccafb9beb">get_stats</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a const reference to the current statistics. <a href="#10eefe6b2c8a04dc2118a95ccafb9beb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#0d28d31a1eec3bef7a595fa1694d32c6">exists</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Non-STL function checking whether a key is in the B+ tree. <a href="#0d28d31a1eec3bef7a595fa1694d32c6"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#e2c1c633cc882f58c196fffb463418ec">find</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key)</td></tr>
<tr><td class="mdescLeft"> </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="#e2c1c633cc882f58c196fffb463418ec"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#897cd3d36c10536db7dad344668aebf0">find</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key) const </td></tr>
<tr><td class="mdescLeft"> </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="#897cd3d36c10536db7dad344668aebf0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#089b0f61bce121db02be0532657aee74">count</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tries to locate a key in the B+ tree and returns the number of identical key entries found. <a href="#089b0f61bce121db02be0532657aee74"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#b27540157e55c618cafdae9b3e555202">lower_bound</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches the B+ tree and returns an iterator to the first key less or equal to the parameter. <a href="#b27540157e55c618cafdae9b3e555202"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#07cd0d4237a1491b20b59b997d11f4f2">lower_bound</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key) const </td></tr>
<tr><td class="mdescLeft"> </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="#07cd0d4237a1491b20b59b997d11f4f2"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#005fd19a0c88f0471144f6b2005f688d">upper_bound</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches the B+ tree and returns an iterator to the first key greater than the parameter. <a href="#005fd19a0c88f0471144f6b2005f688d"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#11b2aa05f1e4d23ea2c96bceb85491ca">upper_bound</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches the B+ tree and returns an constant iterator to the first key greater than the parameter. <a href="#11b2aa05f1e4d23ea2c96bceb85491ca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::pair< <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><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#346def6f22ef02e1159901c4886c1f5f">equal_range</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches the B+ tree and returns both <a class="el" href="classstx_1_1btree__multiset.html#b27540157e55c618cafdae9b3e555202" 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__multiset.html#005fd19a0c88f0471144f6b2005f688d" title="Searches the B+ tree and returns an iterator to the first key greater than the parameter...">upper_bound()</a>. <a href="#346def6f22ef02e1159901c4886c1f5f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::pair< <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> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#19cecbd206b607805f3fc2ca6ae8b37a">equal_range</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Searches the B+ tree and returns both <a class="el" href="classstx_1_1btree__multiset.html#b27540157e55c618cafdae9b3e555202" 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__multiset.html#005fd19a0c88f0471144f6b2005f688d" title="Searches the B+ tree and returns an iterator to the first key greater than the parameter...">upper_bound()</a>. <a href="#19cecbd206b607805f3fc2ca6ae8b37a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#d4f93c672138aa2e950bb9e07f8eb053">operator==</a> (const <a class="el" href="classstx_1_1btree__multiset.html">self</a> &other) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Equality relation of B+ trees of the same type. <a href="#d4f93c672138aa2e950bb9e07f8eb053"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#e94198b3cc3456eca0b67c06ae4e6345">operator!=</a> (const <a class="el" href="classstx_1_1btree__multiset.html">self</a> &other) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inequality relation. Based on operator==. <a href="#e94198b3cc3456eca0b67c06ae4e6345"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#55393b327dc306be602ccef0c88f787a">operator<</a> (const <a class="el" href="classstx_1_1btree__multiset.html">self</a> &other) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Total ordering relation of B+ trees of the same type. <a href="#55393b327dc306be602ccef0c88f787a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#500a68b0ab827a1ff3c70eafc0d416e7">operator></a> (const <a class="el" href="classstx_1_1btree__multiset.html">self</a> &other) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Greater relation. Based on operator<. <a href="#500a68b0ab827a1ff3c70eafc0d416e7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#262382a945cba26fa52651dcdc6be798">operator<=</a> (const <a class="el" href="classstx_1_1btree__multiset.html">self</a> &other) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Less-equal relation. Based on operator<. <a href="#262382a945cba26fa52651dcdc6be798"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#41f4e09c03ac5d64caddb3ab8344c2d6">operator>=</a> (const <a class="el" href="classstx_1_1btree__multiset.html">self</a> &other) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Greater-equal relation. Based on operator<. <a href="#41f4e09c03ac5d64caddb3ab8344c2d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#40f13b28a38ac8138a2b145a41aed575">operator=</a> (const <a class="el" href="classstx_1_1btree__multiset.html">self</a> &other)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">*** Fast Copy: Assign Operator and Copy Constructors <a href="#40f13b28a38ac8138a2b145a41aed575"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#cd46712d0cedf9ec39f2414f25685dd4">btree_multiset</a> (const <a class="el" href="classstx_1_1btree__multiset.html">self</a> &other)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#cd46712d0cedf9ec39f2414f25685dd4"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#365fc6b6e68b3f2673b2f1f717f6457d">insert</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &x)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Attempt to insert a key into the B+ tree. <a href="#365fc6b6e68b3f2673b2f1f717f6457d"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#d224340ed3474cca11108157f5b2822d">insert</a> (<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> hint, const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &x)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Attempt to insert a key into the B+ tree. <a href="#d224340ed3474cca11108157f5b2822d"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename InputIterator> </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#118296e63772847f4e602b2a215b27cf">insert</a> (InputIterator first, InputIterator last)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Attempt to insert the range [first,last) of key_type into the B+ tree. <a href="#118296e63772847f4e602b2a215b27cf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#538c6521bc38742550555d346bc5eb2c">erase_one</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Erases one (the first) entry of the given key. <a href="#538c6521bc38742550555d346bc5eb2c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#d931d1badbe345bd91646b3cc69fd047">erase</a> (const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> &key)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Erases all the entries of the given key. <a href="#d931d1badbe345bd91646b3cc69fd047"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#ad1378c103cf983f1d06cb4a84699b4c">erase</a> (<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> iter)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Erase the key referenced by the iterator. <a href="#ad1378c103cf983f1d06cb4a84699b4c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#2f9ea4f4f44eac84e0a8c241c4622505">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"> </td><td class="mdescRight">Erase all keys in the range [first,last). <a href="#2f9ea4f4f44eac84e0a8c241c4622505"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#1e112c945b538228dc40ad8279dbf194">print</a> (std::ostream &os) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Print out the B+ tree structure with keys onto the given ostream. <a href="#1e112c945b538228dc40ad8279dbf194"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#b6b65fee900710fdbb28c1ecab4cee42">print_leaves</a> (std::ostream &os) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Print out only the leaves via the double linked list. <a href="#b6b65fee900710fdbb28c1ecab4cee42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#49918ad21fcb9ffa59c643f6e7d383f9">verify</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Run a thorough verification of all B+ tree invariants. <a href="#49918ad21fcb9ffa59c643f6e7d383f9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#6b8dc190a9956315a8ffb525838983ae">dump</a> (std::ostream &os) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Dump the contents of the B+ tree out onto an ostream as a binary image. <a href="#6b8dc190a9956315a8ffb525838983ae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#28cb6d203e0360193160f7e43e90b8a3">restore</a> (std::istream &is)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Restore a binary image of a dumped B+ tree from an istream. <a href="#28cb6d203e0360193160f7e43e90b8a3"></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#c1e2446e6053244d6b464a1a3e6e8b36">leafslotmax</a> = <a class="el" href="classstx_1_1btree.html#12a39ca671e962924f4acf879a44eafc">btree_impl::leafslotmax</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base B+ tree parameter: The number of key/data slots in each leaf. <a href="#c1e2446e6053244d6b464a1a3e6e8b36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#8597ce01722e6ac17098ef95f80e0a42">innerslotmax</a> = <a class="el" href="classstx_1_1btree.html#83a18c2fb7f4e9cfd47ce7545d004324">btree_impl::innerslotmax</a></td></tr>
<tr><td class="mdescLeft"> </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="#8597ce01722e6ac17098ef95f80e0a42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#7e2ab3e6ad0d13a34656d3cf32ce04f8">minleafslots</a> = <a class="el" href="classstx_1_1btree.html#c53c2fe18cd06916a25c3b2a6e0486eb">btree_impl::minleafslots</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computed B+ tree parameter: The minimum number of key slots used in a leaf. <a href="#7e2ab3e6ad0d13a34656d3cf32ce04f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#54663fd64ab92e32d68005b21cceeca6">mininnerslots</a> = <a class="el" href="classstx_1_1btree.html#14312352a7289cee65f1793b0183f60e">btree_impl::mininnerslots</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computed B+ tree parameter: The minimum number of key slots used in an inner node. <a href="#54663fd64ab92e32d68005b21cceeca6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#9cb3240eea74483e07331928b27da49e">selfverify</a> = <a class="el" href="classstx_1_1btree.html#ee2e25b0fccc7147fd8be0bcf8630b5b">btree_impl::selfverify</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Debug parameter: Enables expensive and thorough checking of the B+ tree invariants after each insert/erase operation. <a href="#9cb3240eea74483e07331928b27da49e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#e020fc9ea2886a04e077e4d719ca59af">debug</a> = <a class="el" href="classstx_1_1btree.html#ac6ff74fe9fb9e87958d73c28cb9eef4">btree_impl::debug</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Debug parameter: Prints out lots of debug information about how the algorithms change the tree. <a href="#e020fc9ea2886a04e077e4d719ca59af"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#7f1e473a796e72a331920189055ba7bf">allow_duplicates</a> = <a class="el" href="classstx_1_1btree.html#35378979c13861883affefda9ad95df7">btree_impl::allow_duplicates</a></td></tr>
<tr><td class="mdescLeft"> </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="#7f1e473a796e72a331920189055ba7bf"></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classstx_1_1btree__multiset.html#3226b6ab3d82dea6fbf378e0e21031f6">tree</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The contained implementation object. <a href="#3226b6ab3d82dea6fbf378e0e21031f6"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>empty_struct</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>><br>
class stx::btree_multiset< _Key, _Compare, _Traits ></h3>
Specialized B+ tree template class implementing STL's multiset container.
<p>
Implements the STL multiset using a B+ tree. It can be used as a drop-in replacement for std::multiset. 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 multiset 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__multiset_8h-source.html#l00053">53</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="70ce8aefc4ca681bd1aee899d261f9f2"></a><!-- doxytag: member="stx::btree_multiset::key_type" ref="70ce8aefc4ca681bd1aee899d261f9f2" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">typedef _Key <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
First template parameter: The key type of the <a class="el" href="classstx_1_1btree.html" title="Basic class implementing a base B+ tree data structure in memory.">btree</a>.
<p>
This is stored in inner nodes and leaves
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00060">60</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="f891648d4688fac7c9a3e734608e926b"></a><!-- doxytag: member="stx::btree_multiset::key_compare" ref="f891648d4688fac7c9a3e734608e926b" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">typedef _Compare <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">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__multiset_8h-source.html#l00063">63</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="4605accf55721a656ff3d9bb318d8ec8"></a><!-- doxytag: member="stx::btree_multiset::traits" ref="4605accf55721a656ff3d9bb318d8ec8" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">typedef _Traits <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#4605accf55721a656ff3d9bb318d8ec8">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__multiset_8h-source.html#l00067">67</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="f2b19c009eb7141f3a1de96f2a3895ab"></a><!-- doxytag: member="stx::btree_multiset::data_type" ref="f2b19c009eb7141f3a1de96f2a3895ab" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">typedef struct empty_struct <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#f2b19c009eb7141f3a1de96f2a3895ab">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__multiset_8h-source.html#l00086">86</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="6f16ce3d4836c24c2d0917d3cd3a91c6"></a><!-- doxytag: member="stx::btree_multiset::value_type" ref="6f16ce3d4836c24c2d0917d3cd3a91c6" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#6f16ce3d4836c24c2d0917d3cd3a91c6">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__multiset_8h-source.html#l00089">89</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="742abd5c979ee4d129d58bb418a59fa6"></a><!-- doxytag: member="stx::btree_multiset::self" ref="742abd5c979ee4d129d58bb418a59fa6" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a><<a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a>, <a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a>, <a class="el" href="classstx_1_1btree__multiset.html#4605accf55721a656ff3d9bb318d8ec8">traits</a>> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.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__multiset_8h-source.html#l00092">92</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="10f03dd25afdee220fb07565feec92d7"></a><!-- doxytag: member="stx::btree_multiset::btree_impl" ref="10f03dd25afdee220fb07565feec92d7" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classstx_1_1btree.html">stx::btree</a><<a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a>, <a class="el" href="classstx_1_1btree__multiset.html#f2b19c009eb7141f3a1de96f2a3895ab">data_type</a>, <a class="el" href="classstx_1_1btree__multiset.html#6f16ce3d4836c24c2d0917d3cd3a91c6">value_type</a>, <a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a>, <a class="el" href="classstx_1_1btree__multiset.html#4605accf55721a656ff3d9bb318d8ec8">traits</a>, true> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<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__multiset_8h-source.html#l00095">95</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="a3cf824ee430e7c0276ad20e33a98146"></a><!-- doxytag: member="stx::btree_multiset::value_compare" ref="a3cf824ee430e7c0276ad20e33a98146" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<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__multiset_8h-source.html#l00098">98</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="ac25b0bd4faefca3c6f938fca0d15405"></a><!-- doxytag: member="stx::btree_multiset::size_type" ref="ac25b0bd4faefca3c6f938fca0d15405" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">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__multiset_8h-source.html#l00101">101</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="4510bbeef2fc1c50c909aba4196bfc2c"></a><!-- doxytag: member="stx::btree_multiset::tree_stats" ref="4510bbeef2fc1c50c909aba4196bfc2c" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<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__multiset_8h-source.html#l00104">104</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="8ab2b881783b721baddc90bf55d28ca0"></a><!-- doxytag: member="stx::btree_multiset::iterator" ref="8ab2b881783b721baddc90bf55d28ca0" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<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__multiset_8h-source.html#l00143">143</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="35a391f3d01ba0c40866ae997fba530f"></a><!-- doxytag: member="stx::btree_multiset::const_iterator" ref="35a391f3d01ba0c40866ae997fba530f" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<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__multiset_8h-source.html#l00147">147</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="c357ec97c32753380d1937413d94bcfc"></a><!-- doxytag: member="stx::btree_multiset::reverse_iterator" ref="c357ec97c32753380d1937413d94bcfc" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<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__multiset_8h-source.html#l00150">150</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="e21618cd7b08c5c3430a0a2d2e859c8d"></a><!-- doxytag: member="stx::btree_multiset::const_reverse_iterator" ref="e21618cd7b08c5c3430a0a2d2e859c8d" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<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__multiset_8h-source.html#l00153">153</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="bd58492292a36010f9460563b3ef10ab"></a><!-- doxytag: member="stx::btree_multiset::btree_multiset" ref="bd58492292a36010f9460563b3ef10ab" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a> </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </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__multiset_8h-source.html#l00166">166</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="bc698f264d78b0d0d2cb998de5401954"></a><!-- doxytag: member="stx::btree_multiset::btree_multiset" ref="bc698f264d78b0d0d2cb998de5401954" args="(const key_compare &kcf)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a> & </td>
<td class="paramname"> <em>kcf</em> </td>
<td> ) </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__multiset_8h-source.html#l00173">173</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="a88a97f592defdb222a2172b875f6d7e"></a><!-- doxytag: member="stx::btree_multiset::btree_multiset" ref="a88a97f592defdb222a2172b875f6d7e" args="(InputIterator first, InputIterator last)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<div class="memtemplate">
template<class InputIterator> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a> </td>
<td>(</td>
<td class="paramtype">InputIterator </td>
<td class="paramname"> <em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InputIterator </td>
<td class="paramname"> <em>last</em></td><td> </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__multiset_8h-source.html#l00180">180</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00455">stx::btree_multiset< _Key, _Compare, _Traits >::insert()</a>.</p>
</div>
</div><p>
<a class="anchor" name="29adec1f86d9005f9084e75a40275438"></a><!-- doxytag: member="stx::btree_multiset::btree_multiset" ref="29adec1f86d9005f9084e75a40275438" args="(InputIterator first, InputIterator last, const key_compare &kcf)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<div class="memtemplate">
template<class InputIterator> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a> </td>
<td>(</td>
<td class="paramtype">InputIterator </td>
<td class="paramname"> <em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InputIterator </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__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a> & </td>
<td class="paramname"> <em>kcf</em></td><td> </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__multiset_8h-source.html#l00189">189</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00455">stx::btree_multiset< _Key, _Compare, _Traits >::insert()</a>.</p>
</div>
</div><p>
<a class="anchor" name="f2afcf9802b658e0968fc2c342a373c3"></a><!-- doxytag: member="stx::btree_multiset::~btree_multiset" ref="f2afcf9802b658e0968fc2c342a373c3" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::~<a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a> </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Frees up all used B+ tree memory pages.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00196">196</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="cd46712d0cedf9ec39f2414f25685dd4"></a><!-- doxytag: member="stx::btree_multiset::btree_multiset" ref="cd46712d0cedf9ec39f2414f25685dd4" args="(const self &other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html">btree_multiset</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>other</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Copy constructor.
<p>
The newly initialized B+ tree object will contain a copy of all keys.
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00445">445</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ef7070a27a64a4d0a0c1b811d7c1f2e9"></a><!-- doxytag: member="stx::btree_multiset::swap" ref="ef7070a27a64a4d0a0c1b811d7c1f2e9" args="(self &from)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::swap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>from</em> </td>
<td> ) </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__multiset_8h-source.html#l00201">201</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="cb13fe838c316f532431ec43eaa16add"></a><!-- doxytag: member="stx::btree_multiset::key_comp" ref="cb13fe838c316f532431ec43eaa16add" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html#f891648d4688fac7c9a3e734608e926b">key_compare</a> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::key_comp </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constant access to the key comparison object sorting the B+ tree.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00210">210</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01318">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::key_comp()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="2e7f89eaf20e3fc7e801bced2c8b9af6"></a><!-- doxytag: member="stx::btree_multiset::value_comp" ref="2e7f89eaf20e3fc7e801bced2c8b9af6" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::value_comp </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constant access to a constructed value_type comparison object.
<p>
Required by the STL
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00217">217</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>, and <a class="el" href="btree_8h-source.html#l01325">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::value_comp()</a>.</p>
</div>
</div><p>
<a class="anchor" name="1ea800e072cc8c67b030598bf04028b4"></a><!-- doxytag: member="stx::btree_multiset::clear" ref="1ea800e072cc8c67b030598bf04028b4" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::clear </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </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__multiset_8h-source.html#l00226">226</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01397">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::clear()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="3440bd4aee2ddebc80386a3e3655c405"></a><!-- doxytag: member="stx::btree_multiset::begin" ref="3440bd4aee2ddebc80386a3e3655c405" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::begin </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructs a read/data-write iterator that points to the first slot in the first leaf of the B+ tree.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00236">236</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01443">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::begin()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="59bab95c02bfeb444174934240747d2f"></a><!-- doxytag: member="stx::btree_multiset::end" ref="59bab95c02bfeb444174934240747d2f" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::end </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructs a read/data-write iterator that points to the first invalid slot in the last leaf of the B+ tree.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00243">243</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01450">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::end()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="19f65197c78cda6568a53a414d148a52"></a><!-- doxytag: member="stx::btree_multiset::begin" ref="19f65197c78cda6568a53a414d148a52" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::begin </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructs a read-only constant iterator that points to the first slot in the first leaf of the B+ tree.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00250">250</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01443">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::begin()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="c80c6974fae711429d8660cb6692c78f"></a><!-- doxytag: member="stx::btree_multiset::end" ref="c80c6974fae711429d8660cb6692c78f" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::end </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructs a read-only constant iterator that points to the first invalid slot in the last leaf of the B+ tree.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00257">257</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01450">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::end()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="7eca5974eb54c6a0a4807fd4581301b7"></a><!-- doxytag: member="stx::btree_multiset::rbegin" ref="7eca5974eb54c6a0a4807fd4581301b7" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::rbegin </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructs a read/data-write reverse iterator that points to the first invalid slot in the last leaf of the B+ tree.
<p>
Uses STL magic.
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00264">264</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01471">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::rbegin()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="c8807d5587424f0932fc20eb39a90b66"></a><!-- doxytag: member="stx::btree_multiset::rend" ref="c8807d5587424f0932fc20eb39a90b66" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::rend </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructs a read/data-write reverse iterator that points to the first slot in the first leaf of the B+ tree.
<p>
Uses STL magic.
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00271">271</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01478">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::rend()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="6fc116d6238e21a21d32e54b70d146da"></a><!-- doxytag: member="stx::btree_multiset::rbegin" ref="6fc116d6238e21a21d32e54b70d146da" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::rbegin </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructs a read-only 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__multiset_8h-source.html#l00278">278</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01471">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::rbegin()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="bb3d387ad96025a583959bb997c339ba"></a><!-- doxytag: member="stx::btree_multiset::rend" ref="bb3d387ad96025a583959bb997c339ba" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::rend </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructs a read-only 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__multiset_8h-source.html#l00285">285</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01478">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::rend()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="0bb7751df8f3878ea26a0dd39a3b7820"></a><!-- doxytag: member="stx::btree_multiset::size" ref="0bb7751df8f3878ea26a0dd39a3b7820" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::size </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </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__multiset_8h-source.html#l00294">294</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01598">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::size()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="9a58e8b35c872fcff55d873abe39dc08"></a><!-- doxytag: member="stx::btree_multiset::empty" ref="9a58e8b35c872fcff55d873abe39dc08" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::empty </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns true if there is at least one key in the B+ tree.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00300">300</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01604">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::empty()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="a52e753a02b3083838aa55802ce067c5"></a><!-- doxytag: member="stx::btree_multiset::max_size" ref="a52e753a02b3083838aa55802ce067c5" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::max_size </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns the largest possible size of the B+ Tree.
<p>
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__multiset_8h-source.html#l00307">307</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01611">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::max_size()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="10eefe6b2c8a04dc2118a95ccafb9beb"></a><!-- doxytag: member="stx::btree_multiset::get_stats" ref="10eefe6b2c8a04dc2118a95ccafb9beb" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structstx_1_1btree_1_1tree__stats.html">tree_stats</a>& <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::get_stats </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Return a const reference to the current statistics.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00313">313</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01617">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::get_stats()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="0d28d31a1eec3bef7a595fa1694d32c6"></a><!-- doxytag: member="stx::btree_multiset::exists" ref="0d28d31a1eec3bef7a595fa1694d32c6" args="(const key_type &key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::exists </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Non-STL function checking whether a key is in the B+ tree.
<p>
The same as (find(k) != <a class="el" href="classstx_1_1btree__multiset.html#59bab95c02bfeb444174934240747d2f" 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__multiset.html#089b0f61bce121db02be0532657aee74" 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__multiset_8h-source.html#l00323">323</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01627">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::exists()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="e2c1c633cc882f58c196fffb463418ec"></a><!-- doxytag: member="stx::btree_multiset::find" ref="e2c1c633cc882f58c196fffb463418ec" args="(const key_type &key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::find </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Tries to locate a key in the B+ tree and returns an iterator to the key slot if found.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__multiset.html#59bab95c02bfeb444174934240747d2f" 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__multiset_8h-source.html#l00330">330</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01648">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::find()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="897cd3d36c10536db7dad344668aebf0"></a><!-- doxytag: member="stx::btree_multiset::find" ref="897cd3d36c10536db7dad344668aebf0" args="(const key_type &key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::find </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Tries to locate a key in the B+ tree and returns an constant iterator to the key slot if found.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__multiset.html#59bab95c02bfeb444174934240747d2f" 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__multiset_8h-source.html#l00337">337</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01648">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::find()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="089b0f61bce121db02be0532657aee74"></a><!-- doxytag: member="stx::btree_multiset::count" ref="089b0f61bce121db02be0532657aee74" args="(const key_type &key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::count </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Tries to locate a key in the B+ tree and returns the number of identical key entries found.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00344">344</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01692">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::count()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="b27540157e55c618cafdae9b3e555202"></a><!-- doxytag: member="stx::btree_multiset::lower_bound" ref="b27540157e55c618cafdae9b3e555202" args="(const key_type &key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::lower_bound </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Searches the B+ tree and returns an iterator to the first key less or equal to the parameter.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__multiset.html#59bab95c02bfeb444174934240747d2f" 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__multiset_8h-source.html#l00351">351</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01725">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::lower_bound()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="07cd0d4237a1491b20b59b997d11f4f2"></a><!-- doxytag: member="stx::btree_multiset::lower_bound" ref="07cd0d4237a1491b20b59b997d11f4f2" args="(const key_type &key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::lower_bound </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Searches the B+ tree and returns 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__multiset.html#59bab95c02bfeb444174934240747d2f" 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__multiset_8h-source.html#l00358">358</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01725">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::lower_bound()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="005fd19a0c88f0471144f6b2005f688d"></a><!-- doxytag: member="stx::btree_multiset::upper_bound" ref="005fd19a0c88f0471144f6b2005f688d" args="(const key_type &key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::upper_bound </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Searches the B+ tree and returns an iterator to the first key greater than the parameter.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__multiset.html#59bab95c02bfeb444174934240747d2f" 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__multiset_8h-source.html#l00365">365</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>, and <a class="el" href="btree_8h-source.html#l01767">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::upper_bound()</a>.</p>
</div>
</div><p>
<a class="anchor" name="11b2aa05f1e4d23ea2c96bceb85491ca"></a><!-- doxytag: member="stx::btree_multiset::upper_bound" ref="11b2aa05f1e4d23ea2c96bceb85491ca" args="(const key_type &key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::upper_bound </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Searches the B+ tree and returns an constant iterator to the first key greater than the parameter.
<p>
If unsuccessful it returns <a class="el" href="classstx_1_1btree__multiset.html#59bab95c02bfeb444174934240747d2f" 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__multiset_8h-source.html#l00372">372</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>, and <a class="el" href="btree_8h-source.html#l01767">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::upper_bound()</a>.</p>
</div>
</div><p>
<a class="anchor" name="346def6f22ef02e1159901c4886c1f5f"></a><!-- doxytag: member="stx::btree_multiset::equal_range" ref="346def6f22ef02e1159901c4886c1f5f" args="(const key_type &key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">std::pair<<a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>, <a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a>> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::equal_range </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Searches the B+ tree and returns both <a class="el" href="classstx_1_1btree__multiset.html#b27540157e55c618cafdae9b3e555202" 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__multiset.html#005fd19a0c88f0471144f6b2005f688d" 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__multiset_8h-source.html#l00378">378</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01808">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::equal_range()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="19cecbd206b607805f3fc2ca6ae8b37a"></a><!-- doxytag: member="stx::btree_multiset::equal_range" ref="19cecbd206b607805f3fc2ca6ae8b37a" args="(const key_type &key) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">std::pair<<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>> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::equal_range </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Searches the B+ tree and returns both <a class="el" href="classstx_1_1btree__multiset.html#b27540157e55c618cafdae9b3e555202" 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__multiset.html#005fd19a0c88f0471144f6b2005f688d" 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__multiset_8h-source.html#l00384">384</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01808">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::equal_range()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="d4f93c672138aa2e950bb9e07f8eb053"></a><!-- doxytag: member="stx::btree_multiset::operator==" ref="d4f93c672138aa2e950bb9e07f8eb053" args="(const self &other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>other</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Equality relation of B+ trees of the same type.
<p>
B+ trees of the same size and equal key (counts) are considered equal.
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00394">394</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="e94198b3cc3456eca0b67c06ae4e6345"></a><!-- doxytag: member="stx::btree_multiset::operator!=" ref="e94198b3cc3456eca0b67c06ae4e6345" args="(const self &other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>other</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Inequality relation. Based on operator==.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00400">400</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="55393b327dc306be602ccef0c88f787a"></a><!-- doxytag: member="stx::btree_multiset::operator<" ref="55393b327dc306be602ccef0c88f787a" args="(const self &other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::operator< </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>other</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Total ordering relation of B+ trees of the same type.
<p>
It uses std::lexicographical_compare() for the actual comparison of elements.
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00407">407</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="500a68b0ab827a1ff3c70eafc0d416e7"></a><!-- doxytag: member="stx::btree_multiset::operator>" ref="500a68b0ab827a1ff3c70eafc0d416e7" args="(const self &other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::operator> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>other</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Greater relation. Based on operator<.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00413">413</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="262382a945cba26fa52651dcdc6be798"></a><!-- doxytag: member="stx::btree_multiset::operator<=" ref="262382a945cba26fa52651dcdc6be798" args="(const self &other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::operator<= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>other</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Less-equal relation. Based on operator<.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00419">419</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="41f4e09c03ac5d64caddb3ab8344c2d6"></a><!-- doxytag: member="stx::btree_multiset::operator>=" ref="41f4e09c03ac5d64caddb3ab8344c2d6" args="(const self &other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::operator>= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>other</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Greater-equal relation. Based on operator<.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00425">425</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="40f13b28a38ac8138a2b145a41aed575"></a><!-- doxytag: member="stx::btree_multiset::operator=" ref="40f13b28a38ac8138a2b145a41aed575" args="(const self &other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html">self</a>& <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html">self</a> & </td>
<td class="paramname"> <em>other</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
*** Fast Copy: Assign Operator and Copy Constructors
<p>
Assignment operator. All the keys are copied
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00434">434</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="365fc6b6e68b3f2673b2f1f717f6457d"></a><!-- doxytag: member="stx::btree_multiset::insert" ref="365fc6b6e68b3f2673b2f1f717f6457d" args="(const key_type &x)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::insert </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>x</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Attempt to insert a key into the B+ tree.
<p>
As this set allows duplicates, this function never fails.
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00455">455</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01971">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::insert2()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
<p>Referenced by <a class="el" href="btree__multiset_8h-source.html#l00180">stx::btree_multiset< _Key, _Compare, _Traits >::btree_multiset()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00470">stx::btree_multiset< _Key, _Compare, _Traits >::insert()</a>.</p>
</div>
</div><p>
<a class="anchor" name="d224340ed3474cca11108157f5b2822d"></a><!-- doxytag: member="stx::btree_multiset::insert" ref="d224340ed3474cca11108157f5b2822d" args="(iterator hint, const key_type &x)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::insert </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> </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__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>x</em></td><td> </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__multiset_8h-source.html#l00462">462</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l01971">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::insert2()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="118296e63772847f4e602b2a215b27cf"></a><!-- doxytag: member="stx::btree_multiset::insert" ref="118296e63772847f4e602b2a215b27cf" args="(InputIterator first, InputIterator last)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<div class="memtemplate">
template<typename InputIterator> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::insert </td>
<td>(</td>
<td class="paramtype">InputIterator </td>
<td class="paramname"> <em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">InputIterator </td>
<td class="paramname"> <em>last</em></td><td> </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 key_type into the B+ tree.
<p>
Each key is inserted individually.
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00470">470</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00455">stx::btree_multiset< _Key, _Compare, _Traits >::insert()</a>.</p>
</div>
</div><p>
<a class="anchor" name="538c6521bc38742550555d346bc5eb2c"></a><!-- doxytag: member="stx::btree_multiset::erase_one" ref="538c6521bc38742550555d346bc5eb2c" args="(const key_type &key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::erase_one </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Erases one (the first) entry of the given key.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00484">484</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l02335">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::erase_one()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="d931d1badbe345bd91646b3cc69fd047"></a><!-- doxytag: member="stx::btree_multiset::erase" ref="d931d1badbe345bd91646b3cc69fd047" args="(const key_type &key)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classstx_1_1btree__multiset.html#ac25b0bd4faefca3c6f938fca0d15405">size_type</a> <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::erase </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classstx_1_1btree__multiset.html#70ce8aefc4ca681bd1aee899d261f9f2">key_type</a> & </td>
<td class="paramname"> <em>key</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Erases all the entries of the given key.
<p>
This is implemented using <a class="el" href="classstx_1_1btree__multiset.html#538c6521bc38742550555d346bc5eb2c" title="Erases one (the first) entry of the given key.">erase_one()</a> and thus not very efficient.
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00491">491</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l02358">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::erase()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="ad1378c103cf983f1d06cb4a84699b4c"></a><!-- doxytag: member="stx::btree_multiset::erase" ref="ad1378c103cf983f1d06cb4a84699b4c" args="(iterator iter)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::erase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> </td>
<td class="paramname"> <em>iter</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Erase the key referenced by the iterator.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00498">498</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="2f9ea4f4f44eac84e0a8c241c4622505"></a><!-- doxytag: member="stx::btree_multiset::erase" ref="2f9ea4f4f44eac84e0a8c241c4622505" args="(iterator, iterator)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::erase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classstx_1_1btree_1_1iterator.html">iterator</a> </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> </td>
<td class="paramname"></td><td> </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__multiset_8h-source.html#l00507">507</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="1e112c945b538228dc40ad8279dbf194"></a><!-- doxytag: member="stx::btree_multiset::print" ref="1e112c945b538228dc40ad8279dbf194" args="(std::ostream &os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::print </td>
<td>(</td>
<td class="paramtype">std::ostream & </td>
<td class="paramname"> <em>os</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Print out the B+ tree structure with keys onto the given ostream.
<p>
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__multiset_8h-source.html#l00520">520</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l02979">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::print()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="b6b65fee900710fdbb28c1ecab4cee42"></a><!-- doxytag: member="stx::btree_multiset::print_leaves" ref="b6b65fee900710fdbb28c1ecab4cee42" args="(std::ostream &os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::print_leaves </td>
<td>(</td>
<td class="paramtype">std::ostream & </td>
<td class="paramname"> <em>os</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Print out only the leaves via the double linked list.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00526">526</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l02987">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::print_leaves()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="49918ad21fcb9ffa59c643f6e7d383f9"></a><!-- doxytag: member="stx::btree_multiset::verify" ref="49918ad21fcb9ffa59c643f6e7d383f9" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::verify </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </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__multiset_8h-source.html#l00537">537</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>, and <a class="el" href="btree_8h-source.html#l03053">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::verify()</a>.</p>
</div>
</div><p>
<a class="anchor" name="6b8dc190a9956315a8ffb525838983ae"></a><!-- doxytag: member="stx::btree_multiset::dump" ref="6b8dc190a9956315a8ffb525838983ae" args="(std::ostream &os) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::dump </td>
<td>(</td>
<td class="paramtype">std::ostream & </td>
<td class="paramname"> <em>os</em> </td>
<td> ) </td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Dump the contents of the B+ tree out onto an ostream as a binary image.
<p>
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__multiset_8h-source.html#l00548">548</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l03270">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::dump()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<a class="anchor" name="28cb6d203e0360193160f7e43e90b8a3"></a><!-- doxytag: member="stx::btree_multiset::restore" ref="28cb6d203e0360193160f7e43e90b8a3" args="(std::istream &is)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::restore </td>
<td>(</td>
<td class="paramtype">std::istream & </td>
<td class="paramname"> <em>is</em> </td>
<td> ) </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__multiset_8h-source.html#l00557">557</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>References <a class="el" href="btree_8h-source.html#l03287">stx::btree< _Key, _Data, _Value, _Compare, _Traits, _Duplicates >::restore()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00159">stx::btree_multiset< _Key, _Compare, _Traits >::tree</a>.</p>
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="c1e2446e6053244d6b464a1a3e6e8b36"></a><!-- doxytag: member="stx::btree_multiset::leafslotmax" ref="c1e2446e6053244d6b464a1a3e6e8b36" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">const unsigned short <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#c1e2446e6053244d6b464a1a3e6e8b36">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/data slots in each leaf.
<p>
<p>Definition at line <a class="el" href="btree__multiset_8h-source.html#l00110">110</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="8597ce01722e6ac17098ef95f80e0a42"></a><!-- doxytag: member="stx::btree_multiset::innerslotmax" ref="8597ce01722e6ac17098ef95f80e0a42" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">const unsigned short <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#8597ce01722e6ac17098ef95f80e0a42">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__multiset_8h-source.html#l00114">114</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="7e2ab3e6ad0d13a34656d3cf32ce04f8"></a><!-- doxytag: member="stx::btree_multiset::minleafslots" ref="7e2ab3e6ad0d13a34656d3cf32ce04f8" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">const unsigned short <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#7e2ab3e6ad0d13a34656d3cf32ce04f8">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__multiset_8h-source.html#l00119">119</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="54663fd64ab92e32d68005b21cceeca6"></a><!-- doxytag: member="stx::btree_multiset::mininnerslots" ref="54663fd64ab92e32d68005b21cceeca6" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">const unsigned short <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#54663fd64ab92e32d68005b21cceeca6">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__multiset_8h-source.html#l00124">124</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="9cb3240eea74483e07331928b27da49e"></a><!-- doxytag: member="stx::btree_multiset::selfverify" ref="9cb3240eea74483e07331928b27da49e" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">const bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#9cb3240eea74483e07331928b27da49e">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__multiset_8h-source.html#l00128">128</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="e020fc9ea2886a04e077e4d719ca59af"></a><!-- doxytag: member="stx::btree_multiset::debug" ref="e020fc9ea2886a04e077e4d719ca59af" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">const bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#e020fc9ea2886a04e077e4d719ca59af">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__multiset_8h-source.html#l00133">133</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="7f1e473a796e72a331920189055ba7bf"></a><!-- doxytag: member="stx::btree_multiset::allow_duplicates" ref="7f1e473a796e72a331920189055ba7bf" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </div>
<table class="memname">
<tr>
<td class="memname">const bool <a class="el" href="classstx_1_1btree__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#7f1e473a796e72a331920189055ba7bf">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__multiset_8h-source.html#l00136">136</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="3226b6ab3d82dea6fbf378e0e21031f6"></a><!-- doxytag: member="stx::btree_multiset::tree" ref="3226b6ab3d82dea6fbf378e0e21031f6" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename _Key, typename _Compare = std::less<_Key>, typename _Traits = btree_default_set_traits<_Key>> </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__multiset.html">stx::btree_multiset</a>< _Key, _Compare, _Traits >::<a class="el" href="classstx_1_1btree__multiset.html#3226b6ab3d82dea6fbf378e0e21031f6">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__multiset_8h-source.html#l00159">159</a> of file <a class="el" href="btree__multiset_8h-source.html">btree_multiset.h</a>.</p>
<p>Referenced by <a class="el" href="btree__multiset_8h-source.html#l00236">stx::btree_multiset< _Key, _Compare, _Traits >::begin()</a>, <a class="el" href="btree__multiset_8h-source.html#l00226">stx::btree_multiset< _Key, _Compare, _Traits >::clear()</a>, <a class="el" href="btree__multiset_8h-source.html#l00344">stx::btree_multiset< _Key, _Compare, _Traits >::count()</a>, <a class="el" href="btree__multiset_8h-source.html#l00548">stx::btree_multiset< _Key, _Compare, _Traits >::dump()</a>, <a class="el" href="btree__multiset_8h-source.html#l00300">stx::btree_multiset< _Key, _Compare, _Traits >::empty()</a>, <a class="el" href="btree__multiset_8h-source.html#l00243">stx::btree_multiset< _Key, _Compare, _Traits >::end()</a>, <a class="el" href="btree__multiset_8h-source.html#l00378">stx::btree_multiset< _Key, _Compare, _Traits >::equal_range()</a>, <a class="el" href="btree__multiset_8h-source.html#l00491">stx::btree_multiset< _Key, _Compare, _Traits >::erase()</a>, <a class="el" href="btree__multiset_8h-source.html#l00484">stx::btree_multiset< _Key, _Compare, _Traits >::erase_one()</a>, <a class="el" href="btree__multiset_8h-source.html#l00323">stx::btree_multiset< _Key, _Compare, _Traits >::exists()</a>, <a class="el" href="btree__multiset_8h-source.html#l00330">stx::btree_multiset< _Key, _Compare, _Traits >::find()</a>, <a class="el" href="btree__multiset_8h-source.html#l00313">stx::btree_multiset< _Key, _Compare, _Traits >::get_stats()</a>, <a class="el" href="btree__multiset_8h-source.html#l00455">stx::btree_multiset< _Key, _Compare, _Traits >::insert()</a>, <a class="el" href="btree__multiset_8h-source.html#l00210">stx::btree_multiset< _Key, _Compare, _Traits >::key_comp()</a>, <a class="el" href="btree__multiset_8h-source.html#l00351">stx::btree_multiset< _Key, _Compare, _Traits >::lower_bound()</a>, <a class="el" href="btree__multiset_8h-source.html#l00307">stx::btree_multiset< _Key, _Compare, _Traits >::max_size()</a>, <a class="el" href="btree__multiset_8h-source.html#l00400">stx::btree_multiset< _Key, _Compare, _Traits >::operator!=()</a>, <a class="el" href="btree__multiset_8h-source.html#l00407">stx::btree_multiset< _Key, _Compare, _Traits >::operator<()</a>, <a class="el" href="btree__multiset_8h-source.html#l00419">stx::btree_multiset< _Key, _Compare, _Traits >::operator<=()</a>, <a class="el" href="btree__multiset_8h-source.html#l00434">stx::btree_multiset< _Key, _Compare, _Traits >::operator=()</a>, <a class="el" href="btree__multiset_8h-source.html#l00394">stx::btree_multiset< _Key, _Compare, _Traits >::operator==()</a>, <a class="el" href="btree__multiset_8h-source.html#l00413">stx::btree_multiset< _Key, _Compare, _Traits >::operator>()</a>, <a class="el" href="btree__multiset_8h-source.html#l00425">stx::btree_multiset< _Key, _Compare, _Traits >::operator>=()</a>, <a class="el" href="btree__multiset_8h-source.html#l00520">stx::btree_multiset< _Key, _Compare, _Traits >::print()</a>, <a class="el" href="btree__multiset_8h-source.html#l00526">stx::btree_multiset< _Key, _Compare, _Traits >::print_leaves()</a>, <a class="el" href="btree__multiset_8h-source.html#l00264">stx::btree_multiset< _Key, _Compare, _Traits >::rbegin()</a>, <a class="el" href="btree__multiset_8h-source.html#l00271">stx::btree_multiset< _Key, _Compare, _Traits >::rend()</a>, <a class="el" href="btree__multiset_8h-source.html#l00557">stx::btree_multiset< _Key, _Compare, _Traits >::restore()</a>, <a class="el" href="btree__multiset_8h-source.html#l00294">stx::btree_multiset< _Key, _Compare, _Traits >::size()</a>, <a class="el" href="btree__multiset_8h-source.html#l00201">stx::btree_multiset< _Key, _Compare, _Traits >::swap()</a>, <a class="el" href="btree__multiset_8h-source.html#l00365">stx::btree_multiset< _Key, _Compare, _Traits >::upper_bound()</a>, <a class="el" href="btree__multiset_8h-source.html#l00217">stx::btree_multiset< _Key, _Compare, _Traits >::value_comp()</a>, and <a class="el" href="btree__multiset_8h-source.html#l00537">stx::btree_multiset< _Key, _Compare, _Traits >::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__multiset_8h-source.html">btree_multiset.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
<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>