C++ named requirements: LegacyContiguousIterator (since C++17)
From cppreference.com
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 typeItn, 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::iterator.
- basic_string_view::iterator.
- basic_string::iterator.
- vector::iterator for
value_typeother thanbool. - The return type of begin(valarray) and end(valarray).
Notes
Fancy pointer to object types are also required to satisfy LegacyContiguousIterator.
|
LegacyContiguousIterator is replaced with the |
(since C++20) |