[map.cons] (original) (raw)

23 Containers library [containers]

23.4 Associative containers [associative]

23.4.3 Class template map [map]

23.4.3.2 Constructors, copy, and assignment [map.cons]

constexpr explicit map(const Compare& comp, const Allocator& = Allocator());

Effects: Constructs an emptymapusing the specified comparison object and allocator.

template<class InputIterator> constexpr map(InputIterator first, InputIterator last,const Compare& comp = Compare(), const Allocator& = Allocator());

Effects: Constructs an emptymapusing the specified comparison object and allocator, and inserts elements from the range [first, last).

Complexity: Linear in N if the range [first, last) is already sorted with respect to compand otherwise , where Nis last - first.

template<[_container-compatible-range_](container.intro.reqmts#concept:container-compatible-range "23.2.2.1 Introduction [container.intro.reqmts]")<value_type> R> constexpr map(from_range_t, R&& rg, const Compare& comp = Compare(),const Allocator& = Allocator());

Effects: Constructs an empty mapusing the specified comparison object and allocator, and inserts elements from the range rg.

Complexity: Linear in N if rg is already sorted with respect to comp and otherwise , where N is ranges​::​distance(rg).