Namespaces
Variants
Views
Actions

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

From cppreference.com
< cpp‎ | named req
Revision as of 12:02, 8 November 2022 by Space Mission (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
 
 
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.

Contents

[edit] 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

[edit] Standard library

The following standard library types are LegacyContiguousIterators.

[edit] 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)

[edit] See also

specifies that a random_access_iterator is a contiguous iterator, referring to elements that are contiguous in memory
(concept) [edit]
Iterator library provides definitions for iterators, iterator traits, adaptors, and utility functions