Difference between revisions of "cpp/named req/ContiguousIterator"
From cppreference.com
m (Text replace - "{{concept" to "{{named req") |
(named req/core) |
||
Line 2: | Line 2: | ||
{{cpp/named req/navbar}} | {{cpp/named req/navbar}} | ||
− | A {{ | + | A {{named req|ContiguousIterator}} is an {{named req|Iterator}} whose logically adjacent elements are also physically adjacent in memory. |
− | A pointer to an element of an array satisfies all requirements of {{ | + | A pointer to an element of an array satisfies all requirements of {{named req/core|ContiguousIterator}}. |
===Requirements=== | ===Requirements=== | ||
− | The type {{tt|It}} satisfies {{ | + | The type {{tt|It}} satisfies {{named req/core|ContiguousIterator}} if |
* The type {{tt|It}} satisfies {{named req|Iterator}} | * The type {{tt|It}} satisfies {{named req|Iterator}} |
Revision as of 01:24, 17 June 2018
A LegacyContiguousIterator is an LegacyIterator whose logically adjacent elements are also physically adjacent in memory.
A pointer to an element of an array satisfies all requirements of LegacyContiguousIterator.
Requirements
The type It
satisfies LegacyContiguousIterator if
- The type
It
satisfies LegacyIterator
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 LegacyContiguousIterators.
- array::iterator.
- basic_string_view::iterator.
- vector::iterator for value_type other than bool.
- The return type of begin(valarray) and end(valarray)