boost-react-native-bundle
Version:
Boost library as in https://sourceforge.net/projects/boost/files/boost/1.57.0/
324 lines (313 loc) • 113 kB
HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template unordered_set</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_set_hpp" title="Header <boost/unordered_set.hpp>">
<link rel="prev" href="../unordered/reference.html" title="Reference">
<link rel="next" href="unordered_multiset.html" title="Class template unordered_multiset">
</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/reference.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../unordered/reference.html#header.boost.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_multiset.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.unordered_set"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template unordered_set</span></h2>
<p>boost::unordered_set —
An unordered associative container that stores unique values.
</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_set_hpp" title="Header <boost/unordered_set.hpp>">boost/unordered_set.hpp</a>>
</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Value<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">Value</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">Value</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">Value</span><span class="special">></span> <span class="special">></span>
<span class="keyword">class</span> <a class="link" href="unordered_set.html" title="Class template unordered_set">unordered_set</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// <a class="link" href="unordered_set.html#boost.unordered_settypes">types</a></span>
<span class="keyword">typedef</span> <span class="identifier">Value</span> <a name="boost.unordered_set.key_type"></a><span class="identifier">key_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Value</span> <a name="boost.unordered_set.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Hash</span> <a name="boost.unordered_set.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_set.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_set.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_set.html#boost.unordered_set.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_set.html#boost.unordered_set.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_set.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_set.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_set.html#boost.unordered_set.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_set.html#boost.unordered_set.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_set.html#boost.unordered_set.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_set.html#boost.unordered_set.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_set.html#boost.unordered_set.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_set.html#boost.unordered_set.const_local_iterator"><span class="identifier">const_local_iterator</span></a><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_set.html#boost.unordered_setconstruct-copy-destruct">construct/copy/destruct</a></span>
<span class="keyword">explicit</span> <a class="link" href="unordered_set.html#idp302733248-bb"><span class="identifier">unordered_set</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_set.html#idp216313968-bb"><span class="identifier">unordered_set</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_set.html#idp216328208-bb"><span class="identifier">unordered_set</span></a><span class="special">(</span><span class="identifier">unordered_set</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="unordered_set.html#idp216332688-bb"><span class="identifier">unordered_set</span></a><span class="special">(</span><span class="identifier">unordered_set</span> <span class="special">&&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="unordered_set.html#idp216338784-bb"><span class="identifier">unordered_set</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_set.html#idp104483536-bb"><span class="identifier">unordered_set</span></a><span class="special">(</span><span class="identifier">unordered_set</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_set.html#idp104488096-bb"><span class="special">~</span><span class="identifier">unordered_set</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">unordered_set</span><span class="special">&</span> <a class="link" href="unordered_set.html#idp104489408-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">unordered_set</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">unordered_set</span><span class="special">&</span> <a class="link" href="unordered_set.html#idp104495088-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">unordered_set</span> <span class="special">&&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">allocator_type</span> <a class="link" href="unordered_set.html#idp104501936-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_set.html#idp104503376-bb">size and capacity</a></span>
<span class="keyword">bool</span> <a class="link" href="unordered_set.html#idp104503936-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_set.html#idp104506560-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_set.html#idp104509792-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_set.html#idp104512384-bb">iterators</a></span>
<span class="identifier">iterator</span> <a class="link" href="unordered_set.html#idp104513504-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_set.html#idp104514080-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_set.html#idp313561568-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_set.html#idp313562464-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_set.html#idp313564208-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_set.html#idp313566240-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_set.html#idp313568368-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_set.html#idp313568928-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_set.html#idp313583536-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_set.html#idp214105296-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_set.html#idp214114896-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_set.html#idp214124496-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_set.html#idp312746320-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_set.html#idp312757584-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_set.html#idp312768688-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_set.html#idp312209600-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_set.html#idp312215920-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_set.html#idp312224896-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_set.html#idp312232560-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_set.html#idp312240224-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_set.html#idp304200752-bb"><span class="identifier">swap</span></a><span class="special">(</span><span class="identifier">unordered_set</span><span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="unordered_set.html#idp304208256-bb">observers</a></span>
<span class="identifier">hasher</span> <a class="link" href="unordered_set.html#idp304208816-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_set.html#idp304210672-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_set.html#idp304212688-bb">lookup</a></span>
<span class="identifier">iterator</span> <a class="link" href="unordered_set.html#idp304213808-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_set.html#idp304215872-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_set.html#idp304218208-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_set.html#idp304224752-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_set.html#idp312883504-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_set.html#idp312887984-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_set.html#idp312890064-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="comment">// <a class="link" href="unordered_set.html#idp312895712-bb">bucket interface</a></span>
<span class="identifier">size_type</span> <a class="link" href="unordered_set.html#idp312896272-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_set.html#idp312898608-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_set.html#idp312900912-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_set.html#idp312906352-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_set.html#idp312912032-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_set.html#idp312914096-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_set.html#idp304577184-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_set.html#idp304579248-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_set.html#idp304584688-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_set.html#idp304590240-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_set.html#idp304595792-bb">hash policy</a></span>
<span class="keyword">float</span> <a class="link" href="unordered_set.html#idp304596352-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_set.html#idp304598656-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_set.html#idp304600960-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_set.html#idp304604608-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_set.html#idp304609776-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_set.html#idp304614272-bb">Equality Comparisons</a></span>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Value<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_set.html#boost.unordered_set.operator==_idp304614832"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">unordered_set</span><span class="special"><</span><span class="identifier">Value</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_set</span><span class="special"><</span><span class="identifier">Value</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> Value<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_set.html#boost.unordered_set.operator!=_idp304626304"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">unordered_set</span><span class="special"><</span><span class="identifier">Value</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_set</span><span class="special"><</span><span class="identifier">Value</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_set.html#idp312243552-bb">swap</a></span>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Value<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_set.html#boost.unordered_set.swap_idp312244112"><span class="identifier">swap</span></a><span class="special">(</span><span class="identifier">unordered_set</span><span class="special"><</span><span class="identifier">Value</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_set</span><span class="special"><</span><span class="identifier">Value</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="idp517421760"></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>Value</em></span></td>
<td>
<code class="computeroutput">Value</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">Value</code>. It takes a single argument of type <code class="computeroutput">Value</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">Value</code>.
A binary function object that induces an equivalence relation on values of type <code class="computeroutput">Value</code>.
It takes two arguments of type <code class="computeroutput">Value</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="idp517436640"></a><h3>
<a name="boost.unordered_settypes"></a><code class="computeroutput">unordered_set</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_set.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_set.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_set.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_set.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_set.iterator"></a><span class="identifier">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>
<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_set.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_set.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_set.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="idp517488048"></a><h3>
<a name="boost.unordered_setconstruct-copy-destruct"></a><code class="computeroutput">unordered_set</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="idp302733248-bb"></a><span class="identifier">unordered_set</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_set.html#idp104506560-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="idp216313968-bb"></a><span class="identifier">unordered_set</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>
<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 and inserts the elements from [f, l) into it.</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">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"><a name="idp216328208-bb"></a><span class="identifier">unordered_set</span><span class="special">(</span><span class="identifier">unordered_set</span> <span class="keyword">const</span><span class="special">&</span><span class="special">)</span><span class="special">;</span></pre>
<p>The copy constructor. Copies the contained elements, hash function, predicate, maximum load factor and allocator.</p>
<p>If <code class="computeroutput">Allocator::select_on_container_copy_construction</code>
exists and has the right signature, the allocator will be
constructed from its result.</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">Requires:</span></p></td>
<td><p><code class="computeroutput">value_type</code> is copy constructible</p></td>
</tr></tbody>
</table></div>
</li>
<li class="listitem">
<pre class="literallayout"><a name="idp216332688-bb"></a><span class="identifier">unordered_set</span><span class="spe