C++ concepts: ContiguousIterator
From cppreference.com
A ContiguousIterator
is an Iterator
whose logically adjacent elements are also physically adjacent in memory.
A pointer to an element of an array satisfies all requirements of ContiguousIterator
.
[edit] Requirements
The type It
satisfies ContiguousIterator
if
- The type
It
satisfiesIterator
And, given
-
a
, a dereferenceable iterator of typeIt
-
n
, an integral value
Then
- a + n is valid
- If a + n results in a dereferenceable iterator of type
It
, then *(a + n) is equivalent to *(std::addressof(*a) + n).
[edit] Standard library
The following standard library types are ContiguousIterator
s.
- array::iterator.
- basic_string_view::iterator.
- vector::iterator for value_type other than bool.
- The return type of begin(valarray) and end(valarray)