boost-react-native-bundle
Version:
Boost library as in https://sourceforge.net/projects/boost/files/boost/1.57.0/
302 lines (290 loc) • 120 kB
HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template unordered_map</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../unordered/reference.html#header.boost.unordered_map_hpp" title="Header <boost/unordered_map.hpp>">
<link rel="prev" href="unordered_multiset.html" title="Class template unordered_multiset">
<link rel="next" href="unordered_multimap.html" title="Class template unordered_multimap">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
<td align="center"><a href="../../../index.html">Home</a></td>
<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="unordered_multiset.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unordered/reference.html#header.boost.unordered_map_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_multimap.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.unordered_map"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template unordered_map</span></h2>
<p>boost::unordered_map —
An unordered associative container that associates unique keys with another value.
</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="../unordered/reference.html#header.boost.unordered_map_hpp" title="Header <boost/unordered_map.hpp>">boost/unordered_map.hpp</a>>
</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Mapped<span class="special">,</span> <span class="keyword">typename</span> Hash <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash</span><span class="special"><</span><span class="identifier">Key</span><span class="special">></span><span class="special">,</span>
<span class="keyword">typename</span> Pred <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">equal_to</span><span class="special"><</span><span class="identifier">Key</span><span class="special">></span><span class="special">,</span>
<span class="keyword">typename</span> Alloc <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</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">Key</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Mapped</span><span class="special">>></span> <span class="special">></span>
<span class="keyword">class</span> <a class="link" href="unordered_map.html" title="Class template unordered_map">unordered_map</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// <a class="link" href="unordered_map.html#boost.unordered_maptypes">types</a></span>
<span class="keyword">typedef</span> <span class="identifier">Key</span> <a name="boost.unordered_map.key_type"></a><span class="identifier">key_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">Key</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Mapped</span><span class="special">></span> <a name="boost.unordered_map.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Mapped</span> <a name="boost.unordered_map.mapped_type"></a><span class="identifier">mapped_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Hash</span> <a name="boost.unordered_map.hasher"></a><span class="identifier">hasher</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Pred</span> <a name="boost.unordered_map.key_equal"></a><span class="identifier">key_equal</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Alloc</span> <a name="boost.unordered_map.allocator_type"></a><span class="identifier">allocator_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">allocator_type</span><span class="special">::</span><span class="identifier">pointer</span> <a class="link" href="unordered_map.html#boost.unordered_map.pointer"><span class="identifier">pointer</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">allocator_type</span><span class="special">::</span><span class="identifier">const_pointer</span> <a class="link" href="unordered_map.html#boost.unordered_map.const_pointer"><span class="identifier">const_pointer</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">value_type</span><span class="special">&</span> <a name="boost.unordered_map.reference"></a><span class="identifier">reference</span><span class="special">;</span> <span class="comment">// lvalue of value_type.</span>
<span class="keyword">typedef</span> <span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span> <a name="boost.unordered_map.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span> <span class="comment">// const lvalue of value_type.</span>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a class="link" href="unordered_map.html#boost.unordered_map.size_type"><span class="identifier">size_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a class="link" href="unordered_map.html#boost.unordered_map.difference_type"><span class="identifier">difference_type</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a class="link" href="unordered_map.html#boost.unordered_map.iterator"><span class="identifier">iterator</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a class="link" href="unordered_map.html#boost.unordered_map.const_iterator"><span class="identifier">const_iterator</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a class="link" href="unordered_map.html#boost.unordered_map.local_iterator"><span class="identifier">local_iterator</span></a><span class="special">;</span>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a class="link" href="unordered_map.html#boost.unordered_map.const_local_iterator"><span class="identifier">const_local_iterator</span></a><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#boost.unordered_mapconstruct-copy-destruct">construct/copy/destruct</a></span>
<span class="keyword">explicit</span> <a class="link" href="unordered_map.html#idp304975248-bb"><span class="identifier">unordered_map</span></a><span class="special">(</span><span class="identifier">size_type</span> <span class="special">=</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span><span class="special">,</span>
<span class="identifier">hasher</span> <span class="keyword">const</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="identifier">key_equal</span> <span class="keyword">const</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="identifier">allocator_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">=</span> <span class="identifier">allocator_type</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> InputIterator<span class="special">></span>
<a class="link" href="unordered_map.html#idp222771392-bb"><span class="identifier">unordered_map</span></a><span class="special">(</span><span class="identifier">InputIterator</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">,</span>
<span class="identifier">size_type</span> <span class="special">=</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span><span class="special">,</span>
<span class="identifier">hasher</span> <span class="keyword">const</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="identifier">key_equal</span> <span class="keyword">const</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="identifier">allocator_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="unordered_map.html#idp222785744-bb"><span class="identifier">unordered_map</span></a><span class="special">(</span><span class="identifier">unordered_map</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="unordered_map.html#idp222790224-bb"><span class="identifier">unordered_map</span></a><span class="special">(</span><span class="identifier">unordered_map</span> <span class="special">&&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="unordered_map.html#idp222796320-bb"><span class="identifier">unordered_map</span></a><span class="special">(</span><span class="identifier">Allocator</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="unordered_map.html#idp222799520-bb"><span class="identifier">unordered_map</span></a><span class="special">(</span><span class="identifier">unordered_map</span> <span class="keyword">const</span><span class="special">&</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="unordered_map.html#idp222804192-bb"><span class="special">~</span><span class="identifier">unordered_map</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">unordered_map</span><span class="special">&</span> <a class="link" href="unordered_map.html#idp222805600-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">unordered_map</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">unordered_map</span><span class="special">&</span> <a class="link" href="unordered_map.html#idp222811280-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">unordered_map</span> <span class="special">&&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">allocator_type</span> <a class="link" href="unordered_map.html#idp222818128-bb"><span class="identifier">get_allocator</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#idp222819568-bb">size and capacity</a></span>
<span class="keyword">bool</span> <a class="link" href="unordered_map.html#idp222820128-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="unordered_map.html#idp222822752-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="unordered_map.html#idp222825984-bb"><span class="identifier">max_size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#idp222828576-bb">iterators</a></span>
<span class="identifier">iterator</span> <a class="link" href="unordered_map.html#idp222829696-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="unordered_map.html#idp222830272-bb"><span class="identifier">begin</span></a><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_map.html#idp222832416-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="unordered_map.html#idp222833312-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="unordered_map.html#idp222835152-bb"><span class="identifier">cbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="unordered_map.html#idp222837184-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#idp222839312-bb">modifiers</a></span>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> Args<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="keyword">bool</span><span class="special">></span> <a class="link" href="unordered_map.html#idp222839872-bb"><span class="identifier">emplace</span></a><span class="special">(</span><span class="identifier">Args</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><span class="special">...</span> Args<span class="special">></span> <span class="identifier">iterator</span> <a class="link" href="unordered_map.html#idp314023856-bb"><span class="identifier">emplace_hint</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&&</span><span class="special">...</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">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span> <a class="link" href="unordered_map.html#idp314040416-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</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">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">></span> <a class="link" href="unordered_map.html#idp314050016-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">value_type</span><span class="special">&&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="unordered_map.html#idp314059616-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="unordered_map.html#idp314070992-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">value_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> InputIterator<span class="special">></span> <span class="keyword">void</span> <a class="link" href="unordered_map.html#idp314082528-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">InputIterator</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="unordered_map.html#idp219224656-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="identifier">size_type</span> <a class="link" href="unordered_map.html#idp219232688-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="unordered_map.html#idp219239008-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="special">;</span>
<span class="keyword">void</span> <a class="link" href="unordered_map.html#idp219247984-bb"><span class="identifier">quick_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_map.html#idp219255648-bb"><span class="identifier">erase_return_void</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_map.html#idp219263312-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="unordered_map.html#idp219267616-bb"><span class="identifier">swap</span></a><span class="special">(</span><span class="identifier">unordered_map</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#idp219275120-bb">observers</a></span>
<span class="identifier">hasher</span> <a class="link" href="unordered_map.html#idp219275680-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_map.html#idp219277536-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="comment">// <a class="link" href="unordered_map.html#idp219279552-bb">lookup</a></span>
<span class="identifier">iterator</span> <a class="link" href="unordered_map.html#idp219280672-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="unordered_map.html#idp219282736-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</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> CompatibleKey<span class="special">,</span> <span class="keyword">typename</span> CompatibleHash<span class="special">,</span>
<span class="keyword">typename</span> CompatiblePredicate<span class="special">></span>
<span class="identifier">iterator</span> <a class="link" href="unordered_map.html#idp219285072-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="identifier">CompatibleKey</span> <span class="keyword">const</span><span class="special">&</span><span class="special">,</span> <span class="identifier">CompatibleHash</span> <span class="keyword">const</span><span class="special">&</span><span class="special">,</span>
<span class="identifier">CompatiblePredicate</span> <span class="keyword">const</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> CompatibleKey<span class="special">,</span> <span class="keyword">typename</span> CompatibleHash<span class="special">,</span>
<span class="keyword">typename</span> CompatiblePredicate<span class="special">></span>
<span class="identifier">const_iterator</span>
<a class="link" href="unordered_map.html#idp219291616-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="identifier">CompatibleKey</span> <span class="keyword">const</span><span class="special">&</span><span class="special">,</span> <span class="identifier">CompatibleHash</span> <span class="keyword">const</span><span class="special">&</span><span class="special">,</span>
<span class="identifier">CompatiblePredicate</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="unordered_map.html#idp213144768-bb"><span class="identifier">count</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</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_map.html#idp213149248-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</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_map.html#idp213151328-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">mapped_type</span><span class="special">&</span> <a class="link" href="unordered_map.html#idp213156816-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">Mapped</span><span class="special">&</span> <a class="link" href="unordered_map.html#idp213166096-bb"><span class="identifier">at</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">Mapped</span> <span class="keyword">const</span><span class="special">&</span> <a class="link" href="unordered_map.html#idp213167520-bb"><span class="identifier">at</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#idp213173120-bb">bucket interface</a></span>
<span class="identifier">size_type</span> <a class="link" href="unordered_map.html#idp213173680-bb"><span class="identifier">bucket_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="unordered_map.html#idp213176016-bb"><span class="identifier">max_bucket_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="unordered_map.html#idp213178320-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="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="unordered_map.html#idp213183760-bb"><span class="identifier">bucket</span></a><span class="special">(</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">local_iterator</span> <a class="link" href="unordered_map.html#idp213189520-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_local_iterator</span> <a class="link" href="unordered_map.html#idp213191584-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="special">;</span>
<span class="identifier">local_iterator</span> <a class="link" href="unordered_map.html#idp213197664-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_local_iterator</span> <a class="link" href="unordered_map.html#idp213199728-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="special">;</span>
<span class="identifier">const_local_iterator</span> <a class="link" href="unordered_map.html#idp213205264-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="special">;</span>
<span class="identifier">const_local_iterator</span> <a class="link" href="unordered_map.html#idp213210912-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#idp213216464-bb">hash policy</a></span>
<span class="keyword">float</span> <a class="link" href="unordered_map.html#idp213217024-bb"><span class="identifier">load_factor</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="keyword">float</span> <a class="link" href="unordered_map.html#idp300598064-bb"><span class="identifier">max_load_factor</span></a><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_map.html#idp300600256-bb"><span class="identifier">max_load_factor</span></a><span class="special">(</span><span class="keyword">float</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="unordered_map.html#idp300603904-bb"><span class="identifier">rehash</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="unordered_map.html#idp300609168-bb"><span class="identifier">reserve</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#idp300613664-bb">Equality Comparisons</a></span>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Mapped<span class="special">,</span> <span class="keyword">typename</span> Hash<span class="special">,</span> <span class="keyword">typename</span> Pred<span class="special">,</span>
<span class="keyword">typename</span> Alloc<span class="special">></span>
<span class="keyword">bool</span> <a class="link" href="unordered_map.html#boost.unordered_map.operator==_idp300614224"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">unordered_map</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Mapped</span><span class="special">,</span> <span class="identifier">Hash</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">,</span> <span class="identifier">Alloc</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">,</span>
<span class="identifier">unordered_map</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Mapped</span><span class="special">,</span> <span class="identifier">Hash</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">,</span> <span class="identifier">Alloc</span><span class="special">></span> <span class="keyword">const</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> Key<span class="special">,</span> <span class="keyword">typename</span> Mapped<span class="special">,</span> <span class="keyword">typename</span> Hash<span class="special">,</span> <span class="keyword">typename</span> Pred<span class="special">,</span>
<span class="keyword">typename</span> Alloc<span class="special">></span>
<span class="keyword">bool</span> <a class="link" href="unordered_map.html#boost.unordered_map.operator!=_idp300626416"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">unordered_map</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Mapped</span><span class="special">,</span> <span class="identifier">Hash</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">,</span> <span class="identifier">Alloc</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">,</span>
<span class="identifier">unordered_map</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Mapped</span><span class="special">,</span> <span class="identifier">Hash</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">,</span> <span class="identifier">Alloc</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_map.html#idp300638768-bb">swap</a></span>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Mapped<span class="special">,</span> <span class="keyword">typename</span> Hash<span class="special">,</span> <span class="keyword">typename</span> Pred<span class="special">,</span>
<span class="keyword">typename</span> Alloc<span class="special">></span>
<span class="keyword">void</span> <a class="link" href="unordered_map.html#boost.unordered_map.swap_idp300639328"><span class="identifier">swap</span></a><span class="special">(</span><span class="identifier">unordered_map</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Mapped</span><span class="special">,</span> <span class="identifier">Hash</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">,</span> <span class="identifier">Alloc</span><span class="special">></span><span class="special">&</span><span class="special">,</span>
<span class="identifier">unordered_map</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Mapped</span><span class="special">,</span> <span class="identifier">Hash</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">,</span> <span class="identifier">Alloc</span><span class="special">></span><span class="special">&</span><span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp520351136"></a><h2>Description</h2>
<p><span class="bold"><strong>Template Parameters</strong></span>
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td><span class="emphasis"><em>Key</em></span></td>
<td>
<code class="computeroutput">Key</code> must be <code class="computeroutput">Erasable</code> from the container
(i.e. <code class="computeroutput">allocator_traits</code> can <code class="computeroutput">destroy</code> it).
</td>
</tr>
<tr>
<td><span class="emphasis"><em>Mapped</em></span></td>
<td>
<code class="computeroutput">Mapped</code> must be <code class="computeroutput">Erasable</code> from the container
(i.e. <code class="computeroutput">allocator_traits</code> can <code class="computeroutput">destroy</code> it).
</td>
</tr>
<tr>
<td><span class="emphasis"><em>Hash</em></span></td>
<td>A unary function object type that acts a hash function for a <code class="computeroutput">Key</code>. It takes a single argument of type <code class="computeroutput">Key</code> and returns a value of type std::size_t.</td>
</tr>
<tr>
<td><span class="emphasis"><em>Pred</em></span></td>
<td>A binary function object that implements an equivalence relation on values of type <code class="computeroutput">Key</code>.
A binary function object that induces an equivalence relation on values of type <code class="computeroutput">Key</code>.
It takes two arguments of type <code class="computeroutput">Key</code> and returns a value of type bool.</td>
</tr>
<tr>
<td><span class="emphasis"><em>Alloc</em></span></td>
<td>An allocator whose value type is the same as the container's value type.</td>
</tr>
</tbody>
</table></div>
<p>The elements are organized into buckets. Keys with the same hash code are stored in the same bucket.</p>
<p>The number of buckets can be automatically increased by a call to insert, or as the result of calling rehash.</p>
<div class="refsect2">
<a name="idp520369840"></a><h3>
<a name="boost.unordered_maptypes"></a><code class="computeroutput">unordered_map</code>
public
types</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<p>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">allocator_type</span><span class="special">::</span><span class="identifier">pointer</span> <a name="boost.unordered_map.pointer"></a><span class="identifier">pointer</span><span class="special">;</span></p>
<p>
<code class="computeroutput">value_type*</code> if
<code class="computeroutput">allocator_type::pointer</code> is not defined.
</p>
</li>
<li class="listitem">
<p>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">allocator_type</span><span class="special">::</span><span class="identifier">const_pointer</span> <a name="boost.unordered_map.const_pointer"></a><span class="identifier">const_pointer</span><span class="special">;</span></p>
<p>
<code class="computeroutput">boost::pointer_to_other<pointer, value_type>::type</code>
if <code class="computeroutput">allocator_type::const_pointer</code> is not defined.
</p>
</li>
<li class="listitem">
<p>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a name="boost.unordered_map.size_type"></a><span class="identifier">size_type</span><span class="special">;</span></p>
<p>An unsigned integral type.</p>
<p>size_type can represent any non-negative value of difference_type.</p>
</li>
<li class="listitem">
<p>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a name="boost.unordered_map.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span></p>
<p>A signed integral type.</p>
<p>Is identical to the difference type of iterator and const_iterator.</p>
</li>
<li class="listitem">
<p>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a name="boost.unordered_map.iterator"></a><span class="identifier">iterator</span><span class="special">;</span></p>
<p>An iterator whose value type is value_type. </p>
<p>The iterator category is at least a forward iterator.</p>
<p>Convertible to const_iterator.</p>
</li>
<li class="listitem">
<p>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a name="boost.unordered_map.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span></p>
<p>A constant iterator whose value type is value_type. </p>
<p>The iterator category is at least a forward iterator.</p>
</li>
<li class="listitem">
<p>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a name="boost.unordered_map.local_iterator"></a><span class="identifier">local_iterator</span><span class="special">;</span></p>
<p>An iterator with the same value type, difference type and pointer and reference type as iterator.</p>
<p>A local_iterator object can be used to iterate through a single bucket.</p>
</li>
<li class="listitem">
<p>
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span> <a name="boost.unordered_map.const_local_iterator"></a><span class="identifier">const_local_iterator</span><span class="special">;</span></p>
<p>A constant iterator with the same value type, difference type and pointer and reference type as const_iterator.</p>
<p>A const_local_iterator object can be used to iterate through a single bucket.</p>
</li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp520421264"></a><h3>
<a name="boost.unordered_mapconstruct-copy-destruct"></a><code class="computeroutput">unordered_map</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="idp304975248-bb"></a><span class="identifier">unordered_map</span><span class="special">(</span><span class="identifier">size_type</span> n <span class="special">=</span> <span class="emphasis"><em><span class="identifier">implementation</span><span class="special">-</span><span class="identifier">defined</span></em></span><span class="special">,</span>
<span class="identifier">hasher</span> <span class="keyword">const</span><span class="special">&</span> hf <span class="special">=</span> <span class="identifier">hasher</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">key_equal</span> <span class="keyword">const</span><span class="special">&</span> eq <span class="special">=</span> <span class="identifier">key_equal</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="identifier">allocator_type</span> <span class="keyword">const</span><span class="special">&</span> a <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>
<p>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0.</p>
<div class="variablelist"><table border="0" class="variablelist compact">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">Postconditions:</span></p></td>
<td><code class="computeroutput"><a class="link" href="unordered_map.html#idp222822752-bb">size</a>() == 0</code></td>
</tr>
<tr>
<td><p><span class="term">Requires:</span></p></td>
<td><p>If the defaults are used, <code class="computeroutput">hasher</code>, <code class="computeroutput">key_equal</code> and
<code class="computeroutput">allocator_type</code> need to be <code class="computeroutput">DefaultConstructible</code>.
</p></td>
</tr>
</tbody>
</table></div>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIterator<span class="special">></span>
<a name="idp222771392-bb"></a><span class="identifier">unordered_map</span><span class="special">(</span><span class="identifier">InputIterator</span> f<span class="special">,</span> <span class="identifier">InputIterator</span> l<span class="special">,</span>