boost-react-native-bundle
Version:
Boost library as in https://sourceforge.net/projects/boost/files/boost/1.57.0/
212 lines (208 loc) • 101 kB
HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template flat_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="../../boost_container_header_reference.html#header.boost.container.flat_set_hpp" title="Header <boost/container/flat_set.hpp>">
<link rel="prev" href="flat_multimap.html" title="Class template flat_multimap">
<link rel="next" href="flat_multiset.html" title="Class template flat_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="flat_multimap.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_container_header_reference.html#header.boost.container.flat_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="flat_multiset.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.container.flat_set"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template flat_set</span></h2>
<p>boost::container::flat_set</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="../../boost_container_header_reference.html#header.boost.container.flat_set_hpp" title="Header <boost/container/flat_set.hpp>">boost/container/flat_set.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> Compare <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="identifier">Key</span><span class="special">></span><span class="special">,</span>
<span class="keyword">typename</span> Allocator <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">Key</span><span class="special">></span> <span class="special">></span>
<span class="keyword">class</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">Key</span> <a name="boost.container.flat_set.key_type"></a><span class="identifier">key_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Key</span> <a name="boost.container.flat_set.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Compare</span> <a name="boost.container.flat_set.key_compare"></a><span class="identifier">key_compare</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Compare</span> <a name="boost.container.flat_set.value_compare"></a><span class="identifier">value_compare</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">Allocator</span> <span class="special">></span> <a name="boost.container.flat_set.allocator_traits_type"></a><span class="identifier">allocator_traits_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">pointer</span> <a name="boost.container.flat_set.pointer"></a><span class="identifier">pointer</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">const_pointer</span> <a name="boost.container.flat_set.const_pointer"></a><span class="identifier">const_pointer</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">reference</span> <a name="boost.container.flat_set.reference"></a><span class="identifier">reference</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">const_reference</span> <a name="boost.container.flat_set.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">size_type</span> <a name="boost.container.flat_set.size_type"></a><span class="identifier">size_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">difference_type</span> <a name="boost.container.flat_set.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">Allocator</span> <a name="boost.container.flat_set.allocator_type"></a><span class="identifier">allocator_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.flat_set.stored_allocator_type"></a><span class="identifier">stored_allocator_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.flat_set.iterator"></a><span class="identifier">iterator</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.flat_set.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.flat_set.reverse_iterator"></a><span class="identifier">reverse_iterator</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.flat_set.const_reverse_iterator"></a><span class="identifier">const_reverse_iterator</span><span class="special">;</span>
<span class="comment">// <a class="link" href="flat_set.html#boost.container.flat_setconstruct-copy-destruct">construct/copy/destruct</a></span>
<span class="keyword">explicit</span> <a class="link" href="flat_set.html#idp37407936-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="flat_set.html#idp37410352-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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">explicit</span> <a class="link" href="flat_set.html#idp37414464-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_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>
<a class="link" href="flat_set.html#idp37417584-bb"><span class="identifier">flat_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="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">Compare</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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="flat_set.html#idp37424096-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><a class="link" href="ordered_unique_range_t.html" title="Struct ordered_unique_range_t">ordered_unique_range_t</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="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">Compare</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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="flat_set.html#idp37433200-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">value_type</span> <span class="special">></span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">Compare</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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="flat_set.html#idp37438208-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><a class="link" href="ordered_unique_range_t.html" title="Struct ordered_unique_range_t">ordered_unique_range_t</a><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">value_type</span> <span class="special">></span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">Compare</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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="flat_set.html#idp37445808-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="flat_set.html#idp37449072-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="flat_set.html#idp37453056-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="flat_set.html#idp37457040-bb"><span class="identifier">flat_set</span></a><span class="special">(</span><a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span> <a class="link" href="flat_set.html#idp37460944-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span> <a class="link" href="flat_set.html#idp37464784-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">propagate_on_container_move_assignment</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span> <a class="link" href="flat_set.html#idp37469040-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</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="comment">// <a class="link" href="flat_set.html#idp37200224-bb">public member functions</a></span>
<span class="identifier">allocator_type</span> <a class="link" href="flat_set.html#idp37200784-bb"><span class="identifier">get_allocator</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">stored_allocator_type</span> <span class="special">&</span> <a class="link" href="flat_set.html#idp37203792-bb"><span class="identifier">get_stored_allocator</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">const</span> <span class="identifier">stored_allocator_type</span> <span class="special">&</span> <a class="link" href="flat_set.html#idp37208480-bb"><span class="identifier">get_stored_allocator</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="flat_set.html#idp37213184-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="flat_set.html#idp37217024-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="flat_set.html#idp37220880-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="flat_set.html#idp37224704-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">reverse_iterator</span> <a class="link" href="flat_set.html#idp37228528-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">const_reverse_iterator</span> <a class="link" href="flat_set.html#idp37232384-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">reverse_iterator</span> <a class="link" href="flat_set.html#idp37236240-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">const_reverse_iterator</span> <a class="link" href="flat_set.html#idp37240096-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="flat_set.html#idp37243952-bb"><span class="identifier">cbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="flat_set.html#idp37247808-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">const_reverse_iterator</span> <a class="link" href="flat_set.html#idp37251632-bb"><span class="identifier">crbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">const_reverse_iterator</span> <a class="link" href="flat_set.html#idp37255488-bb"><span class="identifier">crend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="flat_set.html#idp37259344-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="flat_set.html#idp37263168-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="flat_set.html#idp37267008-bb"><span class="identifier">max_size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="flat_set.html#idp37270832-bb"><span class="identifier">capacity</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="flat_set.html#idp37274720-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="keyword">void</span> <a class="link" href="flat_set.html#idp37279344-bb"><span class="identifier">shrink_to_fit</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">class</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="flat_set.html#idp37282944-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">class</span><span class="special">...</span> Args<span class="special">></span> <span class="identifier">iterator</span> <a class="link" href="flat_set.html#idp37289600-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="flat_set.html#idp37296928-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</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="flat_set.html#idp37302384-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="flat_set.html#idp37307888-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="keyword">const</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="flat_set.html#idp37314032-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="flat_set.html#idp37320112-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="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="flat_set.html#idp37326992-bb"><span class="identifier">insert</span></a><span class="special">(</span><a class="link" href="ordered_unique_range_t.html" title="Struct ordered_unique_range_t">ordered_unique_range_t</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="keyword">void</span> <a class="link" href="flat_set.html#idp37334768-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</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">void</span> <a class="link" href="flat_set.html#idp37339264-bb"><span class="identifier">insert</span></a><span class="special">(</span><a class="link" href="ordered_unique_range_t.html" title="Struct ordered_unique_range_t">ordered_unique_range_t</a><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</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="identifier">iterator</span> <a class="link" href="flat_set.html#idp37345520-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="flat_set.html#idp37350800-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="flat_set.html#idp37355152-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="flat_set.html#idp37361024-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">void</span> <a class="link" href="flat_set.html#idp37365536-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">key_compare</span> <a class="link" href="flat_set.html#idp37369344-bb"><span class="identifier">key_comp</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">value_compare</span> <a class="link" href="flat_set.html#idp37372336-bb"><span class="identifier">value_comp</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="flat_set.html#idp37375344-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="flat_set.html#idp37378800-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">size_type</span> <a class="link" href="flat_set.html#idp37382544-bb"><span class="identifier">count</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="flat_set.html#idp37386208-bb"><span class="identifier">lower_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="flat_set.html#idp37389664-bb"><span class="identifier">lower_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">iterator</span> <a class="link" href="flat_set.html#idp37393408-bb"><span class="identifier">upper_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="identifier">const_iterator</span> <a class="link" href="flat_set.html#idp37396864-bb"><span class="identifier">upper_bound</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">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="flat_set.html#idp37400608-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="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="flat_set.html#idp37404336-bb"><span class="identifier">equal_range</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="flat_set.html#idp37472448-bb">friend functions</a></span>
<span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="flat_set.html#idp37473008-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="flat_set.html#idp37478000-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="flat_set.html#idp37482992-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="flat_set.html#idp37487984-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="flat_set.html#idp37492976-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="flat_set.html#idp37497984-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">friend</span> <span class="keyword">void</span> <a class="link" href="flat_set.html#idp37502992-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">,</span> <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp157851344"></a><h2>Description</h2>
<p><a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> is a Sorted Associative Container that stores objects of type Key. It is also a Unique Associative Container, meaning that no two elements are the same.</p>
<p><a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> is similar to std::set but it's implemented like an ordered vector. This means that inserting a new element into a <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> invalidates previous iterators and references</p>
<p>Erasing an element of a <a class="link" href="flat_set.html" title="Class template flat_set">flat_set</a> invalidates iterators and references pointing to elements that come after (their keys are bigger) the erased element.</p>
<p>This container provides random-access iterators.</p>
<p>
</p>
<div class="refsect2">
<a name="idp157856720"></a><h3>Template Parameters</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">typename</span> Key</pre>
<p>is the type to be inserted in the set, which is also the key_type </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">typename</span> Compare <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">less</span><span class="special"><</span><span class="identifier">Key</span><span class="special">></span></pre>
<p>is the comparison functor used to order keys </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">typename</span> Allocator <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">Key</span><span class="special">></span></pre>
<p>is the allocator to be used to allocate memory for this container </p>
</li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp157871968"></a><h3>
<a name="boost.container.flat_setconstruct-copy-destruct"></a><code class="computeroutput">flat_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="idp37407936-bb"></a><span class="identifier">flat_set</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p><span class="bold"><strong>Effects</strong></span>: Default constructs an empty container.</p>
<p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">explicit</span> <a name="idp37410352-bb"></a><span class="identifier">flat_set</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span> comp<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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><span class="bold"><strong>Effects</strong></span>: Constructs an empty container using the specified comparison object and allocator.</p>
<p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">explicit</span> <a name="idp37414464-bb"></a><span class="identifier">flat_set</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
<p><span class="bold"><strong>Effects</strong></span>: Constructs an empty container using the specified allocator.</p>
<p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
</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="idp37417584-bb"></a><span class="identifier">flat_set</span><span class="special">(</span><span class="identifier">InputIterator</span> first<span class="special">,</span> <span class="identifier">InputIterator</span> last<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span> comp <span class="special">=</span> <span class="identifier">Compare</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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><span class="bold"><strong>Effects</strong></span>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [first ,last ).</p>
<p><span class="bold"><strong>Complexity</strong></span>: Linear in N if the range [first ,last ) is already sorted using comp and otherwise N logN, where N is last - first. </p>
</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="idp37424096-bb"></a><span class="identifier">flat_set</span><span class="special">(</span><a class="link" href="ordered_unique_range_t.html" title="Struct ordered_unique_range_t">ordered_unique_range_t</a><span class="special">,</span> <span class="identifier">InputIterator</span> first<span class="special">,</span> <span class="identifier">InputIterator</span> last<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span> comp <span class="special">=</span> <span class="identifier">Compare</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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><span class="bold"><strong>Effects</strong></span>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the ordered unique range [first ,last). This function is more efficient than the normal range creation for ordered ranges.</p>
<p><span class="bold"><strong>Requires</strong></span>: [first ,last) must be ordered according to the predicate and must be unique values.</p>
<p><span class="bold"><strong>Complexity</strong></span>: Linear in N.</p>
<p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p>
</li>
<li class="listitem">
<pre class="literallayout"><a name="idp37433200-bb"></a><span class="identifier">flat_set</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">value_type</span> <span class="special">></span> il<span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">Compare</span> <span class="special">&</span> comp <span class="special">=</span> <span class="identifier">Compare</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
<span class="keyword">const</span> <span class="identifier">allocator_type</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><span class="bold"><strong>Effects</strong></span>: Constructs an empty container using the specified comparison object and allocator, and inserts elements from the range [il.begin(), il.end()).</p>
<p><spa