[#BloombergLP-bdlc-FlatHashSet-2constructor-0b]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlc.adoc[bdlc]::xref:BloombergLP/bdlc/FlatHashSet.adoc[FlatHashSet]::FlatHashSet
:relfileprefix: ../../../
:mrdocs:

Create a set populated from the specified iterator range&period;

== Synopsis

Declared in `&lt;bdlc&lowbar;flathashset&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class INPUT&lowbar;ITERATOR&gt;
FlatHashSet(
    INPUT&lowbar;ITERATOR first,
    INPUT&lowbar;ITERATOR last,
    xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0);
----

== Description

Create a `FlatHashSet` object initialized by insertion of the values from the input iterator range specified by `first` through `last` (including `first`, excluding `last`)&period; Optionally specify a `capacity` indicating the minimum initial size of the underlying array of entries of this container&period; If `capacity` is not supplied or is 0, no memory is allocated&period; Optionally specify a `hash` functor used to generate hash values associated with the elements in this container&period; If `hash` is not supplied, a default&hyphen;constructed object of the (template parameter) type `HASH` is used&period; Optionally specify an equality functor `equal` used to verify that two elements are equivalent&period; If `equal` is not supplied, a default&hyphen;constructed object of the (template parameter) type `EQUAL` is used&period; Optionally specify a `basicAllocator` used to supply memory&period; If `basicAllocator` is not supplied or is 0, the currently installed default allocator is used&period; The behavior is undefined unless `first` and `last` refer to a sequence of valid values where `first` is at a position at or before `last`&period; Note that if a member of the input sequence is equivalent to an earlier member, the later member will not be inserted&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *first*
| beginning of the input range
| *last*
| end of the input range (exclusive)
| *basicAllocator*
| memory allocator&semi; null uses the default
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
