C++ named requirements: LegacyContiguousIterator (since C++17)
A LegacyContiguousIterator is a 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
Itsatisfies LegacyIterator
And, for every
-
a, a dereferenceable iterator of typeIt -
n, an integral value
such that
-
a + nis 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::iteratorandarray::const_iterator. -
basic_string_view::iterator. -
basic_string::iteratorandbasic_string::const_iterator. -
vector::iteratorandvector::const_iteratorforvalue_typeother thanbool. -
valarray::iteratorandvalarray::const_iterator.
Notes
Fancy pointer to object types are also required to satisfy LegacyContiguousIterator.
| LegacyContiguousIterator is replaced with the | (since C++20) |
See also
|
(C++20) | specifies that a random_access_iterator is a contiguous iterator, referring to elements that are contiguous in memory (concept) |
| Iterator library | provides definitions for iterators, iterator traits, adaptors, and utility functions |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/ContiguousIterator