[flat.multimap.cons]

# 23 Containers library [[containers]](./#containers)

## 23.6 Container adaptors [[container.adaptors]](container.adaptors#flat.multimap.cons)

### 23.6.9 Class template flat_multimap [[flat.multimap]](flat.multimap#cons)

#### 23.6.9.3 Constructors [flat.multimap.cons]

[ð](#lib:flat_multimap,constructor)

`constexpr flat_multimap(key_container_type key_cont, mapped_container_type mapped_cont,
                        const key_compare& comp = key_compare());
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L18586)

*Effects*: Initializes*c*.keys with std​::​move(key_cont),*c*.values with std​::​move(mapped_cont), and*compare* with comp;
sorts the range [begin(), end()) with respect to value_comp()[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L18594)

*Complexity*: Linear in N if the container arguments are already sorted
with respect to value_comp() and otherwise NlogN,
where N is the value of key_cont.size() before this call[.](#2.sentence-1)

[ð](#lib:flat_multimap,constructor_)

`constexpr flat_multimap(sorted_equivalent_t, key_container_type key_cont,
                        mapped_container_type mapped_cont,
                        const key_compare& comp = key_compare());
`

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L18609)

*Effects*: Initializes*c*.keys with std​::​move(key_cont),*c*.values with std​::​move(mapped_cont), and*compare* with comp[.](#3.sentence-1)

[4](#4)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L18616)

*Complexity*: Constant[.](#4.sentence-1)
