C++ named requirements: LegacyContiguousIterator
A LegacyContiguousIterator is a LegacyRandomAccessIterator whose logically adjacent elements are also physically adjacent in memory.
A pointer to an element of an array satisfies all requirements of LegacyContiguousIterator.
It satisfies LegacyContiguousIterator if
- The type
And, for every
a, a dereferenceable iterator of type
n, an integral value
- a + n is a valid and dereferenceable iterator value
- *(a + n) is equivalent to *(std::addressof(*a) + n).
 Standard library
The following standard library types are LegacyContiguousIterators.
- vector::iterator for value_type other than bool.
- The return type of begin(valarray) and end(valarray)
Fancy pointer to object types are also required to satisfy LegacyContiguousIterator.
LegacyContiguousIterator is partially replaced with the contiguous_iterator concept: iterator types in the standard library that are required to satisfy LegacyContiguousIterator in C++17 are also required to model
 See also
| specifies that a random_access_iterator is a contiguous iterator, referring to elements that are contiguous in memory |