[#BloombergLP-bdlc-FlatHashMap-2constructor-06c]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlc.adoc[bdlc]::xref:BloombergLP/bdlc/FlatHashMap.adoc[FlatHashMap]::FlatHashMap
:relfileprefix: ../../../
:mrdocs:

Create a map populated from the `&lsqb;first, last)&rsqb;` iterator range&period;

== Synopsis

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

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

== Description

Create a `FlatHashMap` 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 keys of 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 determine whether the keys of 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 has an equivalent key 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*
| allocator used to supply memory
|===


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