diff options
Diffstat (limited to 'doc/html/boost/intrusive/unordered_multiset.html')
-rw-r--r-- | doc/html/boost/intrusive/unordered_multiset.html | 563 |
1 files changed, 184 insertions, 379 deletions
diff --git a/doc/html/boost/intrusive/unordered_multiset.html b/doc/html/boost/intrusive/unordered_multiset.html index 5c39c04e0a..7978cd3ccd 100644 --- a/doc/html/boost/intrusive/unordered_multiset.html +++ b/doc/html/boost/intrusive/unordered_multiset.html @@ -9,6 +9,7 @@ <link rel="up" href="../../intrusive/reference.html#header.boost.intrusive.unordered_set_hpp" title="Header <boost/intrusive/unordered_set.hpp>"> <link rel="prev" href="make_unordered_set.html" title="Struct template make_unordered_set"> <link rel="next" href="unordered_set.html" title="Class template unordered_set"> +<meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> @@ -29,12 +30,11 @@ <h2><span class="refentrytitle">Class template unordered_multiset</span></h2> <p>boost::intrusive::unordered_multiset</p> </div> -<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> -<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../intrusive/reference.html#header.boost.intrusive.unordered_set_hpp" title="Header <boost/intrusive/unordered_set.hpp>">boost/intrusive/unordered_set.hpp</a>> +<h2 class="refsynopsisdiv-title">Synopsis</h2> +<div class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../intrusive/reference.html#header.boost.intrusive.unordered_set_hpp" title="Header <boost/intrusive/unordered_set.hpp>">boost/intrusive/unordered_set.hpp</a>> </span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span> <span class="special">...</span> Options<span class="special">></span> -<span class="keyword">class</span> <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">:</span> <span class="keyword">public</span> boost::intrusive::hashtable< ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrKeyEqual, BucketTraits, SizeType, BoolFlags > -<span class="special">{</span> +<span class="keyword">class</span> <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">{</span> <span class="keyword">public</span><span class="special">:</span> <span class="comment">// types</span> <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span><span class="special">::</span><span class="identifier">value_type</span> <a name="boost.intrusive.unordered_multiset.value_type"></a><span class="identifier">value_type</span><span class="special">;</span> @@ -60,105 +60,104 @@ <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span><span class="special">::</span><span class="identifier">node</span> <a name="boost.intrusive.unordered_multiset.node"></a><span class="identifier">node</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span><span class="special">::</span><span class="identifier">node_ptr</span> <a name="boost.intrusive.unordered_multiset.node_ptr"></a><span class="identifier">node_ptr</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span><span class="special">::</span><span class="identifier">const_node_ptr</span> <a name="boost.intrusive.unordered_multiset.const_node_ptr"></a><span class="identifier">const_node_ptr</span><span class="special">;</span> - <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span><span class="special">::</span><span class="identifier">node_algorithms</span> <a name="boost.intrusive.unordered_multiset.node_algorithms"></a><span class="identifier">node_algorithms</span><span class="special">;</span> <span class="comment">// <a class="link" href="unordered_multiset.html#boost.intrusive.unordered_multisetconstruct-copy-destruct">construct/copy/destruct</a></span> - <span class="keyword">explicit</span> <a class="link" href="unordered_multiset.html#idm45971703852592-bb"><span class="identifier">unordered_multiset</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span><span class="special">,</span> + <span class="keyword">explicit</span> <a class="link" href="unordered_multiset.html#idm54804-bb"><span class="identifier">unordered_multiset</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">hasher</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">hasher</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">key_equal</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">key_equal</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_traits</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">value_traits</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Iterator<span class="special">></span> - <a class="link" href="unordered_multiset.html#idm45971703842976-bb"><span class="identifier">unordered_multiset</span></a><span class="special">(</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span><span class="special">,</span> + <a class="link" href="unordered_multiset.html#idm54816-bb"><span class="identifier">unordered_multiset</span></a><span class="special">(</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">hasher</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">hasher</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">key_equal</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">key_equal</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_traits</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">value_traits</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> - <a class="link" href="unordered_multiset.html#idm45971703832000-bb"><span class="identifier">unordered_multiset</span></a><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> - <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span> <a class="link" href="unordered_multiset.html#idm45971703829760-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> - <a class="link" href="unordered_multiset.html#idm45971703826944-bb"><span class="special">~</span><span class="identifier">unordered_multiset</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="unordered_multiset.html#idm54834-bb"><span class="identifier">unordered_multiset</span></a><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span> <a class="link" href="unordered_multiset.html#idm54841-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="unordered_multiset.html#idm54850-bb"><span class="special">~</span><span class="identifier">unordered_multiset</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> - <span class="comment">// <a class="link" href="unordered_multiset.html#idm45971704223808-bb">public member functions</a></span> - <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm45971704223248-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm45971704217904-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm45971704212544-bb"><span class="identifier">cbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm45971704207184-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm45971704202624-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm45971704198064-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">hasher</span> <a class="link" href="unordered_multiset.html#idm45971704193504-bb"><span class="identifier">hash_function</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">key_equal</span> <a class="link" href="unordered_multiset.html#idm45971704188928-bb"><span class="identifier">key_eq</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">bool</span> <a class="link" href="unordered_multiset.html#idm45971704184336-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971704179648-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704174304-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="comment">// <a class="link" href="unordered_multiset.html#idm54205-bb">public member functions</a></span> + <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm54206-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm54217-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm54228-bb"><span class="identifier">cbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm54239-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm54249-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm54259-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">hasher</span> <a class="link" href="unordered_multiset.html#idm54269-bb"><span class="identifier">hash_function</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">key_equal</span> <a class="link" href="unordered_multiset.html#idm54279-bb"><span class="identifier">key_eq</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">bool</span> <a class="link" href="unordered_multiset.html#idm54289-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54299-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54310-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Cloner<span class="special">,</span> <span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704167040-bb"><span class="identifier">clone_from</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">Cloner</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54327-bb"><span class="identifier">clone_from</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">Cloner</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Cloner<span class="special">,</span> <span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704156816-bb"><span class="identifier">clone_from</span></a><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span><span class="special">,</span> <span class="identifier">Cloner</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm45971704146768-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">reference</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Iterator<span class="special">></span> <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704139056-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Iterator</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704131312-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704126128-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971704119936-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54351-bb"><span class="identifier">clone_from</span></a><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span><span class="special">,</span> <span class="identifier">Cloner</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm54375-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">reference</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Iterator<span class="special">></span> <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54379-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="identifier">Iterator</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54398-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54402-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54408-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971704113776-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54412-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704102816-bb"><span class="identifier">erase_and_dispose</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54438-bb"><span class="identifier">erase_and_dispose</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704094928-bb"><span class="identifier">erase_and_dispose</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54446-bb"><span class="identifier">erase_and_dispose</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971704086320-bb"><span class="identifier">erase_and_dispose</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54456-bb"><span class="identifier">erase_and_dispose</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">,</span> <span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971704077680-bb"><span class="identifier">erase_and_dispose</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">,</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54464-bb"><span class="identifier">erase_and_dispose</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">,</span> <span class="identifier">Disposer</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704066032-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971704061168-bb"><span class="identifier">clear_and_dispose</span></a><span class="special">(</span><span class="identifier">Disposer</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971704053904-bb"><span class="identifier">count</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54492-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54503-bb"><span class="identifier">clear_and_dispose</span></a><span class="special">(</span><span class="identifier">Disposer</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54520-bb"><span class="identifier">count</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971704049296-bb"><span class="identifier">count</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm45971704039920-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54524-bb"><span class="identifier">count</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm54546-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> - <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm45971704035552-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm45971704025360-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm54550-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm54574-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> - <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm45971704020752-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">></span> <a class="link" href="unordered_multiset.html#idm45971704010288-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm54578-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">></span> <a class="link" href="unordered_multiset.html#idm54602-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">></span> - <a class="link" href="unordered_multiset.html#idm45971704005840-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="unordered_multiset.html#idm54606-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span><span class="special">;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">></span> - <a class="link" href="unordered_multiset.html#idm45971703995600-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <a class="link" href="unordered_multiset.html#idm54630-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">></span> - <a class="link" href="unordered_multiset.html#idm45971703990864-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm45971703980336-bb"><span class="identifier">iterator_to</span></a><span class="special">(</span><span class="identifier">reference</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703973376-bb"><span class="identifier">iterator_to</span></a><span class="special">(</span><span class="identifier">const_reference</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703966416-bb"><span class="identifier">local_iterator_to</span></a><span class="special">(</span><span class="identifier">reference</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703959488-bb"><span class="identifier">local_iterator_to</span></a><span class="special">(</span><span class="identifier">const_reference</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971703952560-bb"><span class="identifier">bucket_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971703948704-bb"><span class="identifier">bucket_size</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971703943312-bb"><span class="identifier">bucket</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <a class="link" href="unordered_multiset.html#idm54634-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">,</span> <span class="identifier">KeyEqual</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">iterator</span> <a class="link" href="unordered_multiset.html#idm54658-bb"><span class="identifier">iterator_to</span></a><span class="special">(</span><span class="identifier">reference</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="unordered_multiset.html#idm54662-bb"><span class="identifier">iterator_to</span></a><span class="special">(</span><span class="identifier">const_reference</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">local_iterator</span> <a class="link" href="unordered_multiset.html#idm54666-bb"><span class="identifier">local_iterator_to</span></a><span class="special">(</span><span class="identifier">reference</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm54670-bb"><span class="identifier">local_iterator_to</span></a><span class="special">(</span><span class="identifier">const_reference</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54674-bb"><span class="identifier">bucket_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54683-bb"><span class="identifier">bucket_size</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54696-bb"><span class="identifier">bucket</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">></span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971703937808-bb"><span class="identifier">bucket</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">bucket_ptr</span> <a class="link" href="unordered_multiset.html#idm45971703929216-bb"><span class="identifier">bucket_pointer</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703925344-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703918976-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703912608-bb"><span class="identifier">cbegin</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703906240-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703899888-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703893520-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971703887152-bb"><span class="identifier">rehash</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm45971703877504-bb"><span class="identifier">full_rehash</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">bool</span> <a class="link" href="unordered_multiset.html#idm45971703870096-bb"><span class="identifier">incremental_rehash</span></a><span class="special">(</span><span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">bool</span> <a class="link" href="unordered_multiset.html#idm45971703863840-bb"><span class="identifier">incremental_rehash</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971703857424-bb"><span class="identifier">split_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54700-bb"><span class="identifier">bucket</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">KeyHasher</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">bucket_ptr</span> <a class="link" href="unordered_multiset.html#idm54720-bb"><span class="identifier">bucket_pointer</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">local_iterator</span> <a class="link" href="unordered_multiset.html#idm54729-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm54733-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm54737-bb"><span class="identifier">cbegin</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">local_iterator</span> <a class="link" href="unordered_multiset.html#idm54741-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm54745-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm54749-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54753-bb"><span class="identifier">rehash</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="unordered_multiset.html#idm54757-bb"><span class="identifier">full_rehash</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">bool</span> <a class="link" href="unordered_multiset.html#idm54773-bb"><span class="identifier">incremental_rehash</span></a><span class="special">(</span><span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">bool</span> <a class="link" href="unordered_multiset.html#idm54789-bb"><span class="identifier">incremental_rehash</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54793-bb"><span class="identifier">split_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="comment">// <a class="link" href="unordered_multiset.html#idm45971703822368-bb">public static functions</a></span> - <span class="keyword">static</span> <span class="identifier">local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703821808-bb"><span class="identifier">s_local_iterator_to</span></a><span class="special">(</span><span class="identifier">reference</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">static</span> <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm45971703813280-bb"><span class="identifier">s_local_iterator_to</span></a><span class="special">(</span><span class="identifier">const_reference</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">static</span> <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971703804752-bb"><span class="identifier">suggested_upper_bucket_count</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">static</span> <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm45971703799696-bb"><span class="identifier">suggested_lower_bucket_count</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="comment">// <a class="link" href="unordered_multiset.html#idm54860-bb">public static functions</a></span> + <span class="keyword">static</span> <span class="identifier">local_iterator</span> <a class="link" href="unordered_multiset.html#idm54861-bb"><span class="identifier">s_local_iterator_to</span></a><span class="special">(</span><span class="identifier">reference</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">static</span> <span class="identifier">const_local_iterator</span> <a class="link" href="unordered_multiset.html#idm54865-bb"><span class="identifier">s_local_iterator_to</span></a><span class="special">(</span><span class="identifier">const_reference</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">static</span> <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54869-bb"><span class="identifier">suggested_upper_bucket_count</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">static</span> <span class="identifier">size_type</span> <a class="link" href="unordered_multiset.html#idm54880-bb"><span class="identifier">suggested_lower_bucket_count</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> <span class="special">}</span><span class="special">;</span></pre></div> <div class="refsect1"> -<a name="id-1.3.20.42.44.5.4"></a><h2>Description</h2> +<a name="id-1.3.18.42.44.5.4"></a><h2>Description</h2> <p>The class template <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> is an intrusive container, that mimics most of the interface of std::tr1::unordered_multiset as described in the C++ TR1.</p> <p><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> is a semi-intrusive container: each object to be stored in the container must contain a proper hook, but the container also needs additional auxiliary memory to work: <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> needs a pointer to an array of type <code class="computeroutput">bucket_type</code> to be passed in the constructor. This bucket array must have at least the same lifetime as the container. This makes the use of <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> more complicated than purely intrusive containers. <code class="computeroutput">bucket_type</code> is default-constructible, copyable and assignable</p> <p>The template parameter <code class="computeroutput">T</code> is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.</p> @@ -168,185 +167,144 @@ <p><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a>, unlike std::unordered_set, does not make automatic rehashings nor offers functions related to a load factor. Rehashing can be explicitly requested and the user must provide a new bucket array that will be used from that moment.</p> <p>Since no automatic rehashing is done, iterators are never invalidated when inserting or erasing elements. Iterators are only invalidated when rehasing. </p> <div class="refsect2"> -<a name="id-1.3.20.42.44.5.4.10"></a><h3> +<a name="id-1.3.18.42.44.5.4.10"></a><h3> <a name="boost.intrusive.unordered_multisetconstruct-copy-destruct"></a><code class="computeroutput">unordered_multiset</code> public construct/copy/destruct</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45971703852592-bb"></a><span class="identifier">unordered_multiset</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span> b_traits<span class="special">,</span> +<li class="listitem"><pre class="literallayout"><span class="keyword">explicit</span> <a name="idm54804-bb"></a><span class="identifier">unordered_multiset</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span> b_traits<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">hasher</span> <span class="special">&</span> hash_func <span class="special">=</span> <span class="identifier">hasher</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">key_equal</span> <span class="special">&</span> equal_func <span class="special">=</span> <span class="identifier">key_equal</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> - <span class="keyword">const</span> <span class="identifier">value_traits</span> <span class="special">&</span> v_traits <span class="special">=</span> <span class="identifier">value_traits</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: buckets must not be being used by any other resource.</p> -<p><span class="bold"><strong>Effects</strong></span>: Constructs an empty <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>, storing a reference to the bucket array and copies of the key_hasher and equal_func functors.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: If value_traits::node_traits::node constructor throws (this does not happen with predefined Boost.Intrusive hooks) or the copy constructor or invocation of hash_func or equal_func throws.</p> -<p><span class="bold"><strong>Notes</strong></span>: buckets array must be disposed only after *this is disposed. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Iterator<span class="special">></span> - <a name="idm45971703842976-bb"></a><span class="identifier">unordered_multiset</span><span class="special">(</span><span class="identifier">Iterator</span> b<span class="special">,</span> <span class="identifier">Iterator</span> e<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span> b_traits<span class="special">,</span> + <span class="keyword">const</span> <span class="identifier">value_traits</span> <span class="special">&</span> v_traits <span class="special">=</span> <span class="identifier">value_traits</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Iterator<span class="special">></span> + <a name="idm54816-bb"></a><span class="identifier">unordered_multiset</span><span class="special">(</span><span class="identifier">Iterator</span> b<span class="special">,</span> <span class="identifier">Iterator</span> e<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span> b_traits<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">hasher</span> <span class="special">&</span> hash_func <span class="special">=</span> <span class="identifier">hasher</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">key_equal</span> <span class="special">&</span> equal_func <span class="special">=</span> <span class="identifier">key_equal</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> - <span class="keyword">const</span> <span class="identifier">value_traits</span> <span class="special">&</span> v_traits <span class="special">=</span> <span class="identifier">value_traits</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: buckets must not be being used by any other resource and dereferencing iterator must yield an lvalue of type value_type.</p> -<p><span class="bold"><strong>Effects</strong></span>: Constructs an empty container and inserts elements from [b, e).</p> -<p><span class="bold"><strong>Complexity</strong></span>: If N is distance(b, e): Average case is O(N) (with a good hash function and with buckets_len >= N),worst case O(N^2).</p> -<p><span class="bold"><strong>Throws</strong></span>: If value_traits::node_traits::node constructor throws (this does not happen with predefined Boost.Intrusive hooks) or the copy constructor or invocation of hasher or key_equal throws.</p> -<p><span class="bold"><strong>Notes</strong></span>: buckets array must be disposed only after *this is disposed. </p> -</li> + <span class="keyword">const</span> <span class="identifier">value_traits</span> <span class="special">&</span> v_traits <span class="special">=</span> <span class="identifier">value_traits</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> -<pre class="literallayout"><a name="idm45971703832000-bb"></a><span class="identifier">unordered_multiset</span><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span> x<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><a name="idm54834-bb"></a><span class="identifier">unordered_multiset</span><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span> x<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: to-do </p> </li> <li class="listitem"> -<pre class="literallayout"><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span> <a name="idm45971703829760-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span> x<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span> <a name="idm54841-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span> x<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: to-do </p> </li> <li class="listitem"> -<pre class="literallayout"><a name="idm45971703826944-bb"></a><span class="special">~</span><span class="identifier">unordered_multiset</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><a name="idm54850-bb"></a><span class="special">~</span><span class="identifier">unordered_multiset</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Detaches all elements from this. The objects in the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> are not deleted (i.e. no destructors are called).</p> <p><span class="bold"><strong>Complexity</strong></span>: Linear to the number of elements in the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>, if it's a safe-mode or auto-unlink value. Otherwise constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> </ol></div> </div> <div class="refsect2"> -<a name="id-1.3.20.42.44.5.4.11"></a><h3> -<a name="idm45971704223808-bb"></a><code class="computeroutput">unordered_multiset</code> public member functions</h3> +<a name="id-1.3.18.42.44.5.4.11"></a><h3> +<a name="idm54205-bb"></a><code class="computeroutput">unordered_multiset</code> public member functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45971704223248-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm54206-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns an iterator pointing to the beginning of the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Amortized constant time. Worst case (empty <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>): O(this->bucket_count())</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45971704217904-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm54217-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns a const_iterator pointing to the beginning of the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Amortized constant time. Worst case (empty <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>): O(this->bucket_count())</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45971704212544-bb"></a><span class="identifier">cbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm54228-bb"></a><span class="identifier">cbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns a const_iterator pointing to the beginning of the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Amortized constant time. Worst case (empty <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>): O(this->bucket_count())</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45971704207184-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm54239-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns an iterator pointing to the end of the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45971704202624-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm54249-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns a const_iterator pointing to the end of the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45971704198064-bb"></a><span class="identifier">cend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm54259-bb"></a><span class="identifier">cend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns a const_iterator pointing to the end of the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">hasher</span> <a name="idm45971704193504-bb"></a><span class="identifier">hash_function</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">hasher</span> <a name="idm54269-bb"></a><span class="identifier">hash_function</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns the hasher object used by the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: If hasher copy-constructor throws. </p> +<p><span class="bold"><strong>Throws</strong></span>: If hasher copy-constructor throws. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">key_equal</span> <a name="idm45971704188928-bb"></a><span class="identifier">key_eq</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">key_equal</span> <a name="idm54279-bb"></a><span class="identifier">key_eq</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns the key_equal object used by the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: If key_equal copy-constructor throws. </p> +<p><span class="bold"><strong>Throws</strong></span>: If key_equal copy-constructor throws. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45971704184336-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">bool</span> <a name="idm54289-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns true if the container is empty.</p> <p><span class="bold"><strong>Complexity</strong></span>: if constant-time size and <code class="computeroutput"><a class="link" href="cache_begin.html" title="Struct template cache_begin">cache_begin</a></code> options are disabled, average constant time (worst case, with empty() == true: O(this->bucket_count()). Otherwise constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45971704179648-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm54299-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns the number of elements stored in the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> <p><span class="bold"><strong>Complexity</strong></span>: Linear to elements contained in *this if <code class="computeroutput"><a class="link" href="constant_time_size.html" title="Struct template constant_time_size">constant_time_size</a></code> is false. Constant-time otherwise.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="idm45971704174304-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span> other<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="idm54310-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span> other<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: buckets must not be being used by any other resource.</p> <p><span class="bold"><strong>Effects</strong></span>: Constructs an empty <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>, storing a reference to the bucket array and copies of the key_hasher and equal_func functors.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> <p><span class="bold"><strong>Throws</strong></span>: If value_traits::node_traits::node constructor throws (this does not happen with predefined Boost.Intrusive hooks) or the copy constructor or invocation of hash_func or equal_func throws.</p> -<p><span class="bold"><strong>Notes</strong></span>: buckets array must be disposed only after *this is disposed. </p> +<p><span class="bold"><strong>Notes</strong></span>: buckets array must be disposed only after *this is disposed. </p> </li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Cloner<span class="special">,</span> <span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="keyword">void</span> <a name="idm45971704167040-bb"></a><span class="identifier">clone_from</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span> src<span class="special">,</span> <span class="identifier">Cloner</span> cloner<span class="special">,</span> + <span class="keyword">void</span> <a name="idm54327-bb"></a><span class="identifier">clone_from</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&</span> src<span class="special">,</span> <span class="identifier">Cloner</span> cloner<span class="special">,</span> <span class="identifier">Disposer</span> disposer<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: Disposer::operator()(pointer) shouldn't throw Cloner should yield to nodes that compare equal and produce the same hash than the original node.</p> <p><span class="bold"><strong>Effects</strong></span>: Erases all the elements from *this calling Disposer::operator()(pointer), clones all the elements from src calling Cloner::operator()(const_reference ) and inserts them on *this. The hash function and the equality predicate are copied from the source.</p> <p>If <code class="computeroutput"><a class="link" href="store_hash.html" title="Struct template store_hash">store_hash</a></code> option is true, this method does not use the hash function.</p> <p>If any operation throws, all cloned elements are unlinked and disposed calling Disposer::operator()(pointer).</p> <p><span class="bold"><strong>Complexity</strong></span>: Linear to erased plus inserted elements.</p> -<p><span class="bold"><strong>Throws</strong></span>: If cloner or hasher throw or hash or equality predicate copying throws. Basic guarantee. </p> +<p><span class="bold"><strong>Throws</strong></span>: If cloner or hasher throw or hash or equality predicate copying throws. Basic guarantee. </p> </li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Cloner<span class="special">,</span> <span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="keyword">void</span> <a name="idm45971704156816-bb"></a><span class="identifier">clone_from</span><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span> src<span class="special">,</span> <span class="identifier">Cloner</span> cloner<span class="special">,</span> <span class="identifier">Disposer</span> disposer<span class="special">)</span><span class="special">;</span></pre> + <span class="keyword">void</span> <a name="idm54351-bb"></a><span class="identifier">clone_from</span><span class="special">(</span><a class="link" href="unordered_multiset.html" title="Class template unordered_multiset">unordered_multiset</a> <span class="special">&&</span> src<span class="special">,</span> <span class="identifier">Cloner</span> cloner<span class="special">,</span> <span class="identifier">Disposer</span> disposer<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: Disposer::operator()(pointer) shouldn't throw Cloner should yield to nodes that compare equal and produce the same hash than the original node.</p> <p><span class="bold"><strong>Effects</strong></span>: Erases all the elements from *this calling Disposer::operator()(pointer), clones all the elements from src calling Cloner::operator()(reference) and inserts them on *this. The hash function and the equality predicate are copied from the source.</p> <p>If <code class="computeroutput"><a class="link" href="store_hash.html" title="Struct template store_hash">store_hash</a></code> option is true, this method does not use the hash function.</p> <p>If any operation throws, all cloned elements are unlinked and disposed calling Disposer::operator()(pointer).</p> <p><span class="bold"><strong>Complexity</strong></span>: Linear to erased plus inserted elements.</p> -<p><span class="bold"><strong>Throws</strong></span>: If cloner or hasher throw or hash or equality predicate copying throws. Basic guarantee. </p> +<p><span class="bold"><strong>Throws</strong></span>: If cloner or hasher throw or hash or equality predicate copying throws. Basic guarantee. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">iterator</span> <a name="idm54375-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">reference</span> value<span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45971704146768-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">reference</span> value<span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: value must be an lvalue</p> -<p><span class="bold"><strong>Effects</strong></span>: Inserts the value into the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code>.</p> -<p><span class="bold"><strong>Returns</strong></span>: An iterator to the inserted value.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. Strong guarantee.</p> -<p><span class="bold"><strong>Note</strong></span>: Does not affect the validity of iterators and references. No copy-constructors are called. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Iterator<span class="special">></span> <span class="keyword">void</span> <a name="idm45971704139056-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">Iterator</span> b<span class="special">,</span> <span class="identifier">Iterator</span> e<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Iterator<span class="special">></span> <span class="keyword">void</span> <a name="idm54379-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">Iterator</span> b<span class="special">,</span> <span class="identifier">Iterator</span> e<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: Dereferencing iterator must yield an lvalue of type value_type.</p> <p><span class="bold"><strong>Effects</strong></span>: Equivalent to this->insert_equal(t) for each element in [b, e).</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case O(N), where N is distance(b, e). Worst case O(N*this->size()).</p> <p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. Basic guarantee.</p> -<p><span class="bold"><strong>Note</strong></span>: Does not affect the validity of iterators and references. No copy-constructors are called. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="idm45971704131312-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">const_iterator</span> i<span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Erases the element pointed to by i.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased element. No destructors are called. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="idm45971704126128-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">const_iterator</span> b<span class="special">,</span> <span class="identifier">const_iterator</span> e<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Erases the range pointed to by b end e.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(distance(b, e)), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45971704119936-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Erases all the elements with the given value.</p> -<p><span class="bold"><strong>Returns</strong></span>: The number of erased elements.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(this->count(value)). Worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. Basic guarantee.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> +<p><span class="bold"><strong>Note</strong></span>: Does not affect the validity of iterators and references. No copy-constructors are called. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="keyword">void</span> <a name="idm54398-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">const_iterator</span> i<span class="special">)</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">void</span> <a name="idm54402-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">const_iterator</span> b<span class="special">,</span> <span class="identifier">const_iterator</span> e<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">size_type</span> <a name="idm54408-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> - <span class="identifier">size_type</span> <a name="idm45971704113776-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> + <span class="identifier">size_type</span> <a name="idm54412-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: "hash_func" must be a hash function that induces the same hash values as the stored hasher. The difference is that "hash_func" hashes the given key instead of the value_type.</p> <p>"equal_func" must be a equality function that induces the same equality as key_equal. The difference is that "equal_func" compares an arbitrary key with the contained values.</p> @@ -354,350 +312,197 @@ <p><span class="bold"><strong>Returns</strong></span>: The number of erased elements.</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case O(this->count(value)). Worst case O(this->size()).</p> <p><span class="bold"><strong>Throws</strong></span>: If hash_func or equal_func throw. Basic guarantee.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="keyword">void</span> <a name="idm45971704102816-bb"></a><span class="identifier">erase_and_dispose</span><span class="special">(</span><span class="identifier">const_iterator</span> i<span class="special">,</span> <span class="identifier">Disposer</span> disposer<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: Disposer::operator()(pointer) shouldn't throw.</p> -<p><span class="bold"><strong>Effects</strong></span>: Erases the element pointed to by i. Disposer::operator()(pointer) is called for the removed element.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators to the erased elements. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="keyword">void</span> <a name="idm45971704094928-bb"></a><span class="identifier">erase_and_dispose</span><span class="special">(</span><span class="identifier">const_iterator</span> b<span class="special">,</span> <span class="identifier">const_iterator</span> e<span class="special">,</span> - <span class="identifier">Disposer</span> disposer<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: Disposer::operator()(pointer) shouldn't throw.</p> -<p><span class="bold"><strong>Effects</strong></span>: Erases the range pointed to by b end e. Disposer::operator()(pointer) is called for the removed elements.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(distance(b, e)), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators to the erased elements. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="identifier">size_type</span> <a name="idm45971704086320-bb"></a><span class="identifier">erase_and_dispose</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">Disposer</span> disposer<span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: Disposer::operator()(pointer) shouldn't throw.</p> -<p><span class="bold"><strong>Effects</strong></span>: Erases all the elements with the given value. Disposer::operator()(pointer) is called for the removed elements.</p> -<p><span class="bold"><strong>Returns</strong></span>: The number of erased elements.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(this->count(value)). Worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. Basic guarantee.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> +<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> + <span class="keyword">void</span> <a name="idm54438-bb"></a><span class="identifier">erase_and_dispose</span><span class="special">(</span><span class="identifier">const_iterator</span> i<span class="special">,</span> <span class="identifier">Disposer</span> disposer<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> + <span class="keyword">void</span> <a name="idm54446-bb"></a><span class="identifier">erase_and_dispose</span><span class="special">(</span><span class="identifier">const_iterator</span> b<span class="special">,</span> <span class="identifier">const_iterator</span> e<span class="special">,</span> + <span class="identifier">Disposer</span> disposer<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> + <span class="identifier">size_type</span> <a name="idm54456-bb"></a><span class="identifier">erase_and_dispose</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">Disposer</span> disposer<span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">,</span> <span class="keyword">typename</span> Disposer<span class="special">></span> - <span class="identifier">size_type</span> <a name="idm45971704077680-bb"></a><span class="identifier">erase_and_dispose</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> + <span class="identifier">size_type</span> <a name="idm54464-bb"></a><span class="identifier">erase_and_dispose</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">,</span> <span class="identifier">Disposer</span> disposer<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: Disposer::operator()(pointer) shouldn't throw.</p> <p><span class="bold"><strong>Effects</strong></span>: Erases all the elements with the given key. according to the comparison functor "equal_func". Disposer::operator()(pointer) is called for the removed elements.</p> <p><span class="bold"><strong>Returns</strong></span>: The number of erased elements.</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case O(this->count(value)). Worst case O(this->size()).</p> <p><span class="bold"><strong>Throws</strong></span>: If hash_func or equal_func throw. Basic guarantee.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators to the erased elements. </p> +<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators to the erased elements. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="idm45971704066032-bb"></a><span class="identifier">clear</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="idm54492-bb"></a><span class="identifier">clear</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Erases all of the elements.</p> <p><span class="bold"><strong>Complexity</strong></span>: Linear to the number of elements on the container. if it's a safe-mode or auto-unlink value_type. Constant time otherwise.</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> +<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> <span class="keyword">void</span> <a name="idm45971704061168-bb"></a><span class="identifier">clear_and_dispose</span><span class="special">(</span><span class="identifier">Disposer</span> disposer<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Disposer<span class="special">></span> <span class="keyword">void</span> <a name="idm54503-bb"></a><span class="identifier">clear_and_dispose</span><span class="special">(</span><span class="identifier">Disposer</span> disposer<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: Disposer::operator()(pointer) shouldn't throw.</p> <p><span class="bold"><strong>Effects</strong></span>: Erases all of the elements.</p> <p><span class="bold"><strong>Complexity</strong></span>: Linear to the number of elements on the container. Disposer::operator()(pointer) is called for the removed elements.</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45971704053904-bb"></a><span class="identifier">count</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Returns the number of contained elements with the given value</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. </p> +<p><span class="bold"><strong>Note</strong></span>: Invalidates the iterators (but not the references) to the erased elements. No destructors are called. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">size_type</span> <a name="idm54520-bb"></a><span class="identifier">count</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> - <span class="identifier">size_type</span> <a name="idm45971704049296-bb"></a><span class="identifier">count</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> + <span class="identifier">size_type</span> <a name="idm54524-bb"></a><span class="identifier">count</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: "hash_func" must be a hash function that induces the same hash values as the stored hasher. The difference is that "hash_func" hashes the given key instead of the value_type.</p> <p>"equal_func" must be a equality function that induces the same equality as key_equal. The difference is that "equal_func" compares an arbitrary key with the contained values.</p> <p><span class="bold"><strong>Effects</strong></span>: Returns the number of contained elements with the given key</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If hash_func or equal throw. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45971704039920-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Finds an iterator to the first element is equal to "value" or end() if that element does not exist.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. </p> +<p><span class="bold"><strong>Throws</strong></span>: If hash_func or equal throw. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">iterator</span> <a name="idm54546-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> - <span class="identifier">iterator</span> <a name="idm45971704035552-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span><span class="special">;</span></pre> + <span class="identifier">iterator</span> <a name="idm54550-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: "hash_func" must be a hash function that induces the same hash values as the stored hasher. The difference is that "hash_func" hashes the given key instead of the value_type.</p> <p>"equal_func" must be a equality function that induces the same equality as key_equal. The difference is that "equal_func" compares an arbitrary key with the contained values.</p> <p><span class="bold"><strong>Effects</strong></span>: Finds an iterator to the first element whose key is "key" according to the given hash and equality functor or end() if that element does not exist.</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> <p><span class="bold"><strong>Throws</strong></span>: If hash_func or equal_func throw.</p> -<p><span class="bold"><strong>Note</strong></span>: This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45971704025360-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Returns the number of contained elements with the given value</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. </p> +<p><span class="bold"><strong>Note</strong></span>: This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm54574-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> <span class="identifier">const_iterator</span> - <a name="idm45971704020752-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> + <a name="idm54578-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: "hash_func" must be a hash function that induces the same hash values as the stored hasher. The difference is that "hash_func" hashes the given key instead of the value_type.</p> <p>"equal_func" must be a equality function that induces the same equality as key_equal. The difference is that "equal_func" compares an arbitrary key with the contained values.</p> <p><span class="bold"><strong>Effects</strong></span>: Finds an iterator to the first element whose key is "key" according to the given hasher and equality functor or end() if that element does not exist.</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case O(1), worst case O(this->size()).</p> <p><span class="bold"><strong>Throws</strong></span>: If hash_func or equal_func throw.</p> -<p><span class="bold"><strong>Note</strong></span>: This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">></span> <a name="idm45971704010288-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Returns a range containing all elements with values equivalent to value. Returns std::make_pair(this->end(), this->end()) if no such elements exist.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(this->count(value)). Worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. </p> +<p><span class="bold"><strong>Note</strong></span>: This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">></span> <a name="idm54602-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="special">></span> - <a name="idm45971704005840-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span><span class="special">;</span></pre> + <a name="idm54606-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: "hash_func" must be a hash function that induces the same hash values as the stored hasher. The difference is that "hash_func" hashes the given key instead of the value_type.</p> <p>"equal_func" must be a equality function that induces the same equality as key_equal. The difference is that "equal_func" compares an arbitrary key with the contained values.</p> <p><span class="bold"><strong>Effects</strong></span>: Returns a range containing all elements with equivalent keys. Returns std::make_pair(this->end(), this->end()) if no such elements exist.</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case O(this->count(key, hash_func, equal_func)). Worst case O(this->size()).</p> <p><span class="bold"><strong>Throws</strong></span>: If hash_func or the equal_func throw.</p> -<p><span class="bold"><strong>Note</strong></span>: This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">></span> -<a name="idm45971703995600-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Returns a range containing all elements with values equivalent to value. Returns std::make_pair(this->end(), this->end()) if no such elements exist.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case O(this->count(value)). Worst case O(this->size()).</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hasher or the equality functor throws. </p> +<p><span class="bold"><strong>Note</strong></span>: This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">></span> +<a name="idm54630-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> key<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">,</span> <span class="keyword">typename</span> KeyEqual<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="special">></span> - <a name="idm45971703990864-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> + <a name="idm54634-bb"></a><span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> key<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">,</span> <span class="identifier">KeyEqual</span> equal_func<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: "hash_func" must be a hash function that induces the same hash values as the stored hasher. The difference is that "hash_func" hashes the given key instead of the value_type.</p> <p>"equal_func" must be a equality function that induces the same equality as key_equal. The difference is that "equal_func" compares an arbitrary key with the contained values.</p> <p><span class="bold"><strong>Effects</strong></span>: Returns a range containing all elements with equivalent keys. Returns std::make_pair(this->end(), this->end()) if no such elements exist.</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case O(this->count(key, hash_func, equal_func)). Worst case O(this->size()).</p> <p><span class="bold"><strong>Throws</strong></span>: If the hasher or equal_func throw.</p> -<p><span class="bold"><strong>Note</strong></span>: This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45971703980336-bb"></a><span class="identifier">iterator_to</span><span class="special">(</span><span class="identifier">reference</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: value must be an lvalue and shall be in a <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> of appropriate type. Otherwise the behavior is undefined.</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns: a valid iterator belonging to the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> that points to the value</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hash function throws. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45971703973376-bb"></a><span class="identifier">iterator_to</span><span class="special">(</span><span class="identifier">const_reference</span> value<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: value must be an lvalue and shall be in a <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> of appropriate type. Otherwise the behavior is undefined.</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns: a valid const_iterator belonging to the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> that points to the value</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: If the internal hash function throws. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">local_iterator</span> <a name="idm45971703966416-bb"></a><span class="identifier">local_iterator_to</span><span class="special">(</span><span class="identifier">reference</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: value must be an lvalue and shall be in a <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> of appropriate type. Otherwise the behavior is undefined.</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns: a valid local_iterator belonging to the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> that points to the value</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm45971703959488-bb"></a><span class="identifier">local_iterator_to</span><span class="special">(</span><span class="identifier">const_reference</span> value<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: value must be an lvalue and shall be in a <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> of appropriate type. Otherwise the behavior is undefined.</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns: a valid local_iterator belonging to the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> that points to the value</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Note</strong></span>: This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">iterator</span> <a name="idm54658-bb"></a><span class="identifier">iterator_to</span><span class="special">(</span><span class="identifier">reference</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm54662-bb"></a><span class="identifier">iterator_to</span><span class="special">(</span><span class="identifier">const_reference</span> value<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">local_iterator</span> <a name="idm54666-bb"></a><span class="identifier">local_iterator_to</span><span class="special">(</span><span class="identifier">reference</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm54670-bb"></a><span class="identifier">local_iterator_to</span><span class="special">(</span><span class="identifier">const_reference</span> value<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45971703952560-bb"></a><span class="identifier">bucket_count</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm54674-bb"></a><span class="identifier">bucket_count</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns the number of buckets passed in the constructor or the last rehash function.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45971703948704-bb"></a><span class="identifier">bucket_size</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm54683-bb"></a><span class="identifier">bucket_size</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: n is in the range [0, this->bucket_count()).</p> <p><span class="bold"><strong>Effects</strong></span>: Returns the number of elements in the nth bucket.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45971703943312-bb"></a><span class="identifier">bucket</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> k<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: Returns the index of the bucket in which elements with keys equivalent to k would be found, if any such element existed.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: If the hash functor throws.</p> -<p><span class="bold"><strong>Note</strong></span>: the return value is in the range [0, this->bucket_count()). </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">size_type</span> <a name="idm54696-bb"></a><span class="identifier">bucket</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> k<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> KeyType<span class="special">,</span> <span class="keyword">typename</span> KeyHasher<span class="special">></span> - <span class="identifier">size_type</span> <a name="idm45971703937808-bb"></a><span class="identifier">bucket</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> k<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> + <span class="identifier">size_type</span> <a name="idm54700-bb"></a><span class="identifier">bucket</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">KeyType</span> <span class="special">&</span> k<span class="special">,</span> <span class="identifier">KeyHasher</span> hash_func<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: "hash_func" must be a hash function that induces the same hash values as the stored hasher. The difference is that "hash_func" hashes the given key instead of the value_type.</p> <p><span class="bold"><strong>Effects</strong></span>: Returns the index of the bucket in which elements with keys equivalent to k would be found, if any such element existed.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> <p><span class="bold"><strong>Throws</strong></span>: If hash_func throws.</p> -<p><span class="bold"><strong>Note</strong></span>: the return value is in the range [0, this->bucket_count()). </p> +<p><span class="bold"><strong>Note</strong></span>: the return value is in the range [0, this->bucket_count()). </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">bucket_ptr</span> <a name="idm45971703929216-bb"></a><span class="identifier">bucket_pointer</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">bucket_ptr</span> <a name="idm54720-bb"></a><span class="identifier">bucket_pointer</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns the bucket array pointer passed in the constructor or the last rehash function.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="identifier">local_iterator</span> <a name="idm54729-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm54733-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm54737-bb"></a><span class="identifier">cbegin</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">local_iterator</span> <a name="idm54741-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm54745-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm54749-bb"></a><span class="identifier">cend</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">void</span> <a name="idm54753-bb"></a><span class="identifier">rehash</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span> new_bucket_traits<span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">local_iterator</span> <a name="idm45971703925344-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: n is in the range [0, this->bucket_count()).</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns a local_iterator pointing to the beginning of the sequence stored in the bucket n.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: [this->begin(n), this->end(n)) is a valid range containing all of the elements in the nth bucket. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm45971703918976-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: n is in the range [0, this->bucket_count()).</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns a const_local_iterator pointing to the beginning of the sequence stored in the bucket n.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: [this->begin(n), this->end(n)) is a valid range containing all of the elements in the nth bucket. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm45971703912608-bb"></a><span class="identifier">cbegin</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: n is in the range [0, this->bucket_count()).</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns a const_local_iterator pointing to the beginning of the sequence stored in the bucket n.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: [this->begin(n), this->end(n)) is a valid range containing all of the elements in the nth bucket. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">local_iterator</span> <a name="idm45971703906240-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: n is in the range [0, this->bucket_count()).</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns a local_iterator pointing to the end of the sequence stored in the bucket n.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: [this->begin(n), this->end(n)) is a valid range containing all of the elements in the nth bucket. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm45971703899888-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: n is in the range [0, this->bucket_count()).</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns a const_local_iterator pointing to the end of the sequence stored in the bucket n.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: [this->begin(n), this->end(n)) is a valid range containing all of the elements in the nth bucket. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="identifier">const_local_iterator</span> <a name="idm45971703893520-bb"></a><span class="identifier">cend</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: n is in the range [0, this->bucket_count()).</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns a const_local_iterator pointing to the end of the sequence stored in the bucket n.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: [this->begin(n), this->end(n)) is a valid range containing all of the elements in the nth bucket. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="idm45971703887152-bb"></a><span class="identifier">rehash</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span> new_bucket_traits<span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: new_bucket_traits can hold a pointer to a new bucket array or the same as the old bucket array with a different length. new_size is the length of the the array pointed by new_buckets. If new_bucket_traits.bucket_begin() == this->bucket_pointer() new_bucket_traits.bucket_count() can be bigger or smaller than this->bucket_count(). 'new_bucket_traits' copy constructor should not throw.</p> -<p><span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput">new_bucket_traits.bucket_begin() == this->bucket_pointer()</code> is false, unlinks values from the old bucket and inserts then in the new one according to the hash value of values.</p> -<p>If <code class="computeroutput">new_bucket_traits.bucket_begin() == this->bucket_pointer()</code> is true, the implementations avoids moving values as much as possible.</p> -<p>Bucket traits hold by *this is assigned from new_bucket_traits. If the container is configured as incremental<>, the split bucket is set to the new bucket_count().</p> -<p>If <code class="computeroutput"><a class="link" href="store_hash.html" title="Struct template store_hash">store_hash</a></code> option is true, this method does not use the hash function. If false, the implementation tries to minimize calls to the hash function (e.g. once for equivalent values if optimize_multikey<true> is true).</p> -<p>If rehash is successful updates the internal <code class="computeroutput"><a class="link" href="bucket_traits.html" title="Struct template bucket_traits">bucket_traits</a></code> with new_bucket_traits.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Average case linear in this->size(), worst case quadratic.</p> -<p><span class="bold"><strong>Throws</strong></span>: If the hasher functor throws. Basic guarantee. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="idm45971703877504-bb"></a><span class="identifier">full_rehash</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="idm54757-bb"></a><span class="identifier">full_rehash</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Note</strong></span>: This function is used when keys from inserted elements are changed (e.g. a language change when key is a string) but uniqueness and hash properties are preserved so a fast full rehash recovers invariants for *this without extracting and reinserting all elements again.</p> <p><span class="bold"><strong>Requires</strong></span>: Calls produced to the hash function should not alter the value uniqueness properties of already inserted elements. If hasher(key1) == hasher(key2) was true when elements were inserted, it shall be true during calls produced in the execution of this function.</p> <p>key_equal is not called inside this function so it is assumed that key_equal(value1, value2) should produce the same results as before for inserted elements.</p> <p><span class="bold"><strong>Effects</strong></span>: Reprocesses all values hold by *this, recalculating their hash values and redistributing them though the buckets.</p> <p>If <code class="computeroutput"><a class="link" href="store_hash.html" title="Struct template store_hash">store_hash</a></code> option is true, this method uses the hash function and updates the stored hash value.</p> <p><span class="bold"><strong>Complexity</strong></span>: Average case linear in this->size(), worst case quadratic.</p> -<p><span class="bold"><strong>Throws</strong></span>: If the hasher functor throws. Basic guarantee. </p> +<p><span class="bold"><strong>Throws</strong></span>: If the hasher functor throws. Basic guarantee. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45971703870096-bb"></a><span class="identifier">incremental_rehash</span><span class="special">(</span><span class="keyword">bool</span> grow <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">bool</span> <a name="idm54773-bb"></a><span class="identifier">incremental_rehash</span><span class="special">(</span><span class="keyword">bool</span> grow <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>:</p> <p><span class="bold"><strong>Effects</strong></span>:</p> <p><span class="bold"><strong>Complexity</strong></span>:</p> <p><span class="bold"><strong>Throws</strong></span>:</p> -<p><span class="bold"><strong>Note</strong></span>: this method is only available if incremental<true> option is activated. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45971703863840-bb"></a><span class="identifier">incremental_rehash</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span> new_bucket_traits<span class="special">)</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Effects</strong></span>: If new_bucket_traits.bucket_count() is not this->bucket_count()/2 or this->bucket_count()*2, or this->split_bucket() != new_bucket_traits.bucket_count() returns false and does nothing.</p> -<p>Otherwise, copy assigns new_bucket_traits to the internal <code class="computeroutput"><a class="link" href="bucket_traits.html" title="Struct template bucket_traits">bucket_traits</a></code> and transfers all the objects from old buckets to the new ones.</p> -<p><span class="bold"><strong>Complexity</strong></span>: Linear to size().</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> -<p><span class="bold"><strong>Note</strong></span>: this method is only available if incremental<true> option is activated. </p> +<p><span class="bold"><strong>Note</strong></span>: this method is only available if incremental<true> option is activated. </p> </li> +<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm54789-bb"></a><span class="identifier">incremental_rehash</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bucket_traits</span> <span class="special">&</span> new_bucket_traits<span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45971703857424-bb"></a><span class="identifier">split_count</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm54793-bb"></a><span class="identifier">split_count</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: incremental<> option must be set</p> <p><span class="bold"><strong>Effects</strong></span>: returns the current split count</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing </p> </li> </ol></div> </div> <div class="refsect2"> -<a name="id-1.3.20.42.44.5.4.12"></a><h3> -<a name="idm45971703822368-bb"></a><code class="computeroutput">unordered_multiset</code> public static functions</h3> +<a name="id-1.3.18.42.44.5.4.12"></a><h3> +<a name="idm54860-bb"></a><code class="computeroutput">unordered_multiset</code> public static functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">local_iterator</span> <a name="idm54861-bb"></a><span class="identifier">s_local_iterator_to</span><span class="special">(</span><span class="identifier">reference</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">static</span> <span class="identifier">const_local_iterator</span> +<a name="idm54865-bb"></a><span class="identifier">s_local_iterator_to</span><span class="special">(</span><span class="identifier">const_reference</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">local_iterator</span> <a name="idm45971703821808-bb"></a><span class="identifier">s_local_iterator_to</span><span class="special">(</span><span class="identifier">reference</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: value must be an lvalue and shall be in a <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> of appropriate type. Otherwise the behavior is undefined.</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns: a valid local_iterator belonging to the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> that points to the value</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: This static function is available only if the <span class="emphasis"><em>value traits</em></span> is stateless. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">const_local_iterator</span> -<a name="idm45971703813280-bb"></a><span class="identifier">s_local_iterator_to</span><span class="special">(</span><span class="identifier">const_reference</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p><span class="bold"><strong>Requires</strong></span>: value must be an lvalue and shall be in a <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> of appropriate type. Otherwise the behavior is undefined.</p> -<p><span class="bold"><strong>Effects</strong></span>: Returns: a valid local_iterator belonging to the <code class="computeroutput"><a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a></code> that points to the value</p> -<p><span class="bold"><strong>Complexity</strong></span>: Constant.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> -<p><span class="bold"><strong>Note</strong></span>: This static function is available only if the <span class="emphasis"><em>value traits</em></span> is stateless. </p> -</li> -<li class="listitem"> -<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">size_type</span> <a name="idm45971703804752-bb"></a><span class="identifier">suggested_upper_bucket_count</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">size_type</span> <a name="idm54869-bb"></a><span class="identifier">suggested_upper_bucket_count</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns the nearest new bucket count optimized for the container that is bigger or equal than n. This suggestion can be used to create bucket arrays with a size that will usually improve container's performance. If such value does not exist, the higher possible value is returned.</p> <p><span class="bold"><strong>Complexity</strong></span>: Amortized constant time.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">size_type</span> <a name="idm45971703799696-bb"></a><span class="identifier">suggested_lower_bucket_count</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">size_type</span> <a name="idm54880-bb"></a><span class="identifier">suggested_lower_bucket_count</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Returns the nearest new bucket count optimized for the container that is smaller or equal than n. This suggestion can be used to create bucket arrays with a size that will usually improve container's performance. If such value does not exist, the lowest possible value is returned.</p> <p><span class="bold"><strong>Complexity</strong></span>: Amortized constant time.</p> -<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> +<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> </ol></div> </div> </div> </div> -<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> -<td align="left"></td> -<td align="right"><div class="copyright-footer">Copyright © 2005 Olaf Krzikalla<br>Copyright © 2006-2015 Ion Gaztanaga<p> +<div class="copyright-footer">Copyright © 2005 Olaf Krzikalla<br>Copyright © 2006-2015 Ion Gaztanaga<p> Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) </p> -</div></td> -</tr></table> +</div> <hr> <div class="spirit-nav"> <a accesskey="p" href="make_unordered_set.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../intrusive/reference.html#header.boost.intrusive.unordered_set_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unordered_set.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> |