[container.intro.reqmts] (original) (raw)
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]
In [container.requirements.general],
- X denotes a container class containing objects of type T,
- a denotes a value of type X,
- b and c denote values of type (possibly const) X,
- i and j denote values of type (possibly const) X::iterator,
- u denotes an identifier,
- v denotes an lvalue of type (possibly const) X or an rvalue of type const X,
- s and t denote non-const lvalues of type X, and
- rv denotes a non-const rvalue of type X.
The following exposition-only concept is used in the definition of containers:template<class R, class T> concept container-compatible-range = ranges::input_range<R> && convertible_to<ranges::range_reference_t<R>, T>;