[#absl-node_hash_set]
= xref:absl.adoc[absl]::node&lowbar;hash&lowbar;set
:relfileprefix: ../
:mrdocs:

An unordered associative container of unique keys that provides pointer stability for its elements&period;

== Synopsis

Declared in `&lt;absl&sol;container&sol;node&lowbar;hash&lowbar;set&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class T,
    class Hash = &sol;&ast; implementation-defined &ast;&sol;::DefaultHash,
    class Eq = &sol;&ast; implementation-defined &ast;&sol;::DefaultEq,
    class Alloc = &sol;&ast; implementation-defined &ast;&sol;::DefaultAlloc&gt;
class node&lowbar;hash&lowbar;set
    : public &sol;&ast; implementation-defined &ast;&sol;::InstantiateRawHashSet&lt;&sol;&ast; implementation-defined &ast;&sol;, Hash, Eq, Alloc&gt;::type
----

== Description

An `absl&colon;&colon;node&lowbar;hash&lowbar;set&lt;T&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;set&lt;T&gt;`, and unlike `absl&colon;&colon;flat&lowbar;hash&lowbar;set` it guarantees pointer stability of its elements&period;

== Base Classes

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

== Member Functions

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


== Using Declarations

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


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/erase_if-0f7.adoc[`erase&lowbar;if`]
| Erases all elements that satisfy the predicate `pred` from the container `c`&period;
| xref:absl/swap-0fd.adoc[`swap`]
| Swaps the contents of two `node&lowbar;hash&lowbar;set` containers&period;
|===


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