23
Containers library
[containers]
23.4
Associative containers
[associative]
23.4.1
General
[associative.general]
1
#
The header
<map>
defines the class templates
map
and
multimap
; the header
<set>
defines the class templates
set
and
multiset
.
2
#
The following exposition-only alias templates may appear in deduction guides for associative containers:
template
<
class
InputIterator
>
using
iter-value-type
=
iterator_traits
<
InputIterator
>
::
value_type;
//
exposition only
template
<
class
InputIterator
>
using
iter-key-type
=
remove_cvref_t
<
tuple_element_t
<
0
,
iter-value-type
<
InputIterator
>
>
>
;
//
exposition only
template
<
class
InputIterator
>
using
iter-mapped-type
=
remove_cvref_t
<
tuple_element_t
<
1
,
iter-value-type
<
InputIterator
>
>
>
;
//
exposition only
template
<
class
InputIterator
>
using
iter-to-alloc-type
=
pair
<
const
iter-key-type
<
InputIterator
>
,
iter-mapped-type
<
InputIterator
>
>
;
//
exposition only
template
<
ranges
::
input_
range
Range
>
using
range-key-type
=
remove_cvref_t
<
tuple_element_t
<
0
, ranges
::
range_value_t
<
Range
>
>
>
;
//
exposition only
template
<
ranges
::
input_
range
Range
>
using
range-mapped-type
=
remove_cvref_t
<
tuple_element_t
<
1
, ranges
::
range_value_t
<
Range
>
>
>
;
//
exposition only
template
<
ranges
::
input_
range
Range
>
using
range-to-alloc-type
=
pair
<
const
range-key-type
<
Range
>
,
range-mapped-type
<
Range
>
>
;
//
exposition only