[#absl-flat_hash_map]
= xref:absl.adoc[absl]::flat&lowbar;hash&lowbar;map
:relfileprefix: ../
:mrdocs:

An unordered associative container of unique keys and associated values, optimized for speed and memory footprint&period;

== Synopsis

Declared in `&lt;absl&sol;container&sol;flat&lowbar;hash&lowbar;map&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class K,
    class V,
    class Hash = &sol;&ast; implementation-defined &ast;&sol;::DefaultHash,
    class Eq = &sol;&ast; implementation-defined &ast;&sol;::DefaultEq,
    class Allocator = &sol;&ast; implementation-defined &ast;&sol;::DefaultAlloc&gt;
class flat&lowbar;hash&lowbar;map
    : public &sol;&ast; implementation-defined &ast;&sol;::InstantiateRawHashMap&lt;&sol;&ast; implementation-defined &ast;&sol;, Hash, Eq, Allocator&gt;::type
----

== Description

An `absl&colon;&colon;flat&lowbar;hash&lowbar;map&lt;K, V&gt;` is an unordered associative container which has been optimized for both speed and memory footprint in most common use cases&period; Its interface is similar to that of `std&colon;&colon;unordered&lowbar;map&lt;K, V&gt;`&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `&sol;&ast; implementation-defined &ast;&sol;::InstantiateRawHashMap&lt;&sol;&ast; implementation-defined &ast;&sol;, Hash, Eq, Allocator&gt;::type`
| 
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/flat_hash_map/2constructor.adoc[`flat&lowbar;hash&lowbar;map`]         [.small]#[constructor]#
| Constructs an empty `flat&lowbar;hash&lowbar;map`&period;
|===


== Using Declarations

[cols="1"]
|===
| Name
| xref:absl/flat_hash_map/_10using.adoc[`Unnamed using`] 
| xref:absl/flat_hash_map/at.adoc[`at`] 
| xref:absl/flat_hash_map/begin.adoc[`begin`] 
| xref:absl/flat_hash_map/bucket_count.adoc[`bucket&lowbar;count`] 
| xref:absl/flat_hash_map/capacity.adoc[`capacity`] 
| xref:absl/flat_hash_map/cbegin.adoc[`cbegin`] 
| xref:absl/flat_hash_map/cend.adoc[`cend`] 
| xref:absl/flat_hash_map/clear.adoc[`clear`] 
| xref:absl/flat_hash_map/contains.adoc[`contains`] 
| xref:absl/flat_hash_map/count.adoc[`count`] 
| xref:absl/flat_hash_map/emplace.adoc[`emplace`] 
| xref:absl/flat_hash_map/emplace_hint.adoc[`emplace&lowbar;hint`] 
| xref:absl/flat_hash_map/empty.adoc[`empty`] 
| xref:absl/flat_hash_map/end.adoc[`end`] 
| xref:absl/flat_hash_map/equal_range.adoc[`equal&lowbar;range`] 
| xref:absl/flat_hash_map/erase.adoc[`erase`] 
| xref:absl/flat_hash_map/extract.adoc[`extract`] 
| xref:absl/flat_hash_map/find.adoc[`find`] 
| xref:absl/flat_hash_map/get_allocator.adoc[`get&lowbar;allocator`] 
| xref:absl/flat_hash_map/hash_function.adoc[`hash&lowbar;function`] 
| xref:absl/flat_hash_map/insert.adoc[`insert`] 
| xref:absl/flat_hash_map/insert_or_assign.adoc[`insert&lowbar;or&lowbar;assign`] 
| xref:absl/flat_hash_map/key_eq.adoc[`key&lowbar;eq`] 
| xref:absl/flat_hash_map/load_factor.adoc[`load&lowbar;factor`] 
| xref:absl/flat_hash_map/max_load_factor.adoc[`max&lowbar;load&lowbar;factor`] 
| xref:absl/flat_hash_map/max_size.adoc[`max&lowbar;size`] 
| xref:absl/flat_hash_map/merge.adoc[`merge`] 
| xref:absl/flat_hash_map/operator[].adoc[`operator&lsqb;&rsqb;`] 
| xref:absl/flat_hash_map/rehash.adoc[`rehash`] 
| xref:absl/flat_hash_map/reserve.adoc[`reserve`] 
| xref:absl/flat_hash_map/size.adoc[`size`] 
| xref:absl/flat_hash_map/swap.adoc[`swap`] 
| xref:absl/flat_hash_map/try_emplace.adoc[`try&lowbar;emplace`] 
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/GetAllFlags.adoc[`GetAllFlags`]
| Returns current state of the Flags registry in a form of mapping from flag name to a flag reflection handle&period;
| xref:absl/erase_if-08b.adoc[`erase&lowbar;if`]
| Erases all elements that satisfy the predicate `pred` from the container `c`&period;
| xref:absl/swap-03.adoc[`swap`]
| Swaps the contents of two `flat&lowbar;hash&lowbar;map` containers&period;
|===


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