Difference between revisions of "cpp/named req/ContiguousIterator"
From cppreference.com
(Undoing revisions. Contiguous iterators don't need to be random access iterators, e.g. operator!= doesn't need to be defined) |
m (T. Canens moved page cpp/concept/ContiguousIterator to cpp/named req/ContiguousIterator without leaving a redirect: Text replace - "cpp/concept" to "cpp/named req") |
Revision as of 13:45, 15 June 2018
Template:cpp/concept/title Template:cpp/concept/navbar
A ContiguousIterator
is an Template:concept whose logically adjacent elements are also physically adjacent in memory.
A pointer to an element of an array satisfies all requirements of ContiguousIterator
.
Requirements
The type It
satisfies ContiguousIterator
if
- The type
It
satisfies Template:concept
And, for every
-
a
, a dereferenceable iterator of typeIt
-
n
, an integral value
such that
- a + n is a valid and dereferenceable iterator value
then
- *(a + n) is equivalent to *(std::addressof(*a) + n).
Standard library
The following standard library types are Template:concepts.
- array::iterator.
- basic_string_view::iterator.
- vector::iterator for value_type other than bool.
- The return type of begin(valarray) and end(valarray)