# C++ named requirements: LegacyContiguousIterator

From cppreference.com
< cpp‎ | named req

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 type `It`
- `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)`

### See also

- Iterator library

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/named_req/ContiguousIterator&oldid=103916"