C++ named requirements: LegacyContiguousIterator (since C++17)
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
C++ named requirements
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++17)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
LegacyContiguousIterator
(C++17)
(C++20)
(C++20)
(C++20)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++14)
(C++14)
(C++11)
(C++11)
(C++17)
(C++14)
(C++20)
(C++20)
(C++23)
(C++23)
(C++23)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
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.
[edit] 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).
[edit] Standard library
The following standard library types are LegacyContiguousIterators.
- array::iterator.
- basic_string_view::iterator.
- basic_string::iterator.
- vector::iterator for
value_type
other than bool. - The return type of begin(valarray) and end(valarray).
[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.
[edit] See also
(C++20)
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