[#absl-btree_multimap]
= xref:absl.adoc[absl]::btree&lowbar;multimap
:relfileprefix: ../
:mrdocs:

An ordered associative container of keys and associated values that allows equivalent keys&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename Key,
    typename Value,
    typename Compare = std::less&lt;Key&gt;,
    typename Alloc = std::allocator&lt;std::pair&lt;Key const, Value&gt;&gt;&gt;
class btree&lowbar;multimap
    : public &sol;&ast; implementation-defined &ast;&sol;::btree&lowbar;multimap&lowbar;container&lt;&sol;&ast; implementation-defined &ast;&sol;::btree&lt;&sol;&ast; implementation-defined &ast;&sol;&gt;&gt;
----

== Description

An `absl&colon;&colon;btree&lowbar;multimap&lt;K, V&gt;` is an ordered associative container of keys and associated values designed to be a more efficient replacement for `std&colon;&colon;multimap` (in most cases)&period; Unlike `absl&colon;&colon;btree&lowbar;map`, a B&hyphen;tree multimap allows multiple elements with equivalent keys&period;

Keys are sorted using an (optional) comparison function, which defaults to `std&colon;&colon;less&lt;K&gt;`&period;

An `absl&colon;&colon;btree&lowbar;multimap&lt;K, V&gt;` uses a default allocator of `std&colon;&colon;allocator&lt;std&colon;&colon;pair&lt;const K, V&gt;&gt;` to allocate (and deallocate) nodes, and construct and destruct values within those nodes&period; You may instead specify a custom allocator `A` (which in turn requires specifying a custom comparator `C`) as in `absl&colon;&colon;btree&lowbar;multimap&lt;K, V, C, A&gt;`&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `&sol;&ast; implementation-defined &ast;&sol;::btree&lowbar;multimap&lowbar;container&lt;&sol;&ast; implementation-defined &ast;&sol;::btree&lt;&sol;&ast; implementation-defined &ast;&sol;&gt;&gt;`
| 
|===

== Type Aliases

[cols="1"]
|===
| Name
| xref:absl/btree_multimap/mapped_type.adoc[`mapped&lowbar;type`] 
|===


== Member Functions

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


== Using Declarations

[cols="1"]
|===
| Name
| xref:absl/btree_multimap/_10using.adoc[`Unnamed using`] 
| xref:absl/btree_multimap/begin.adoc[`begin`] 
| xref:absl/btree_multimap/cbegin.adoc[`cbegin`] 
| xref:absl/btree_multimap/cend.adoc[`cend`] 
| xref:absl/btree_multimap/clear.adoc[`clear`] 
| xref:absl/btree_multimap/contains.adoc[`contains`] 
| xref:absl/btree_multimap/count.adoc[`count`] 
| xref:absl/btree_multimap/emplace.adoc[`emplace`] 
| xref:absl/btree_multimap/emplace_hint.adoc[`emplace&lowbar;hint`] 
| xref:absl/btree_multimap/empty.adoc[`empty`] 
| xref:absl/btree_multimap/end.adoc[`end`] 
| xref:absl/btree_multimap/equal_range.adoc[`equal&lowbar;range`] 
| xref:absl/btree_multimap/erase.adoc[`erase`] 
| xref:absl/btree_multimap/extract.adoc[`extract`] 
| xref:absl/btree_multimap/extract_and_get_next.adoc[`extract&lowbar;and&lowbar;get&lowbar;next`] 
| xref:absl/btree_multimap/find.adoc[`find`] 
| xref:absl/btree_multimap/get_allocator.adoc[`get&lowbar;allocator`] 
| xref:absl/btree_multimap/insert.adoc[`insert`] 
| xref:absl/btree_multimap/key_comp.adoc[`key&lowbar;comp`] 
| xref:absl/btree_multimap/lower_bound.adoc[`lower&lowbar;bound`] 
| xref:absl/btree_multimap/max_size.adoc[`max&lowbar;size`] 
| xref:absl/btree_multimap/merge.adoc[`merge`] 
| xref:absl/btree_multimap/size.adoc[`size`] 
| xref:absl/btree_multimap/swap.adoc[`swap`] 
| xref:absl/btree_multimap/upper_bound.adoc[`upper&lowbar;bound`] 
| xref:absl/btree_multimap/value_comp.adoc[`value&lowbar;comp`] 
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/erase_if-0ff.adoc[`erase&lowbar;if`]
| Erases all elements that satisfy the predicate `pred` from the container&period;
| xref:absl/swap-000.adoc[`swap`]
| Swaps the contents of two `absl&colon;&colon;btree&lowbar;multimap` containers&period;
|===


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