C++ named requirements: LegacyContiguousIterator (since C++17)

From cppreference.com
C++ named requirements

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

And, for every

  • a , a dereferenceable iterator of type It
  • n , an integral value

such that

  • a + n is a valid and dereferenceable iterator value

then

Standard library

The following standard library types are LegacyContiguousIterator s .

Notes

Fancy pointer to object types are also required to satisfy LegacyContiguousIterator .

LegacyContiguousIterator is replaced with the contiguous_iterator concept: iterator types in the standard library that are required to satisfy LegacyContiguousIterator in C++17 are required to model contiguous_iterator in C++20.

(since C++20)

See also

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