23
Containers library
[containers]
23.2
Requirements
[container.requirements]
23.2.2
General containers
[container.requirements.general]
23.2.2.1
Introduction
[container.intro.reqmts]
1
#
In
[container.
requirements.
general]
,
(1.1)
X
denotes a container class containing objects of type
T
,
(1.2)
a
denotes a value of type
X
,
(1.3)
b
and
c
denote values of type (possibly const)
X
,
(1.4)
i
and
j
denote values of type (possibly const)
X
::
iterator
,
(1.5)
u
denotes an identifier,
(1.6)
v
denotes an lvalue of type (possibly const)
X
or an rvalue of type
const
X
,
(1.7)
s
and
t
denote non-const lvalues of type
X
, and
(1.8)
rv
denotes a non-const rvalue of type
X
.
2
#
The following exposition-only concept is used in the definition of containers:
template
<
class
R,
class
T
>
concept
container-compatible-range
=
//
exposition only
ranges
::
input_
range
<
R
>
&
&
convertible_
to
<
ranges
::
range_reference_t
<
R
>
, T
>
;