C++ именованные требования: LegacyContiguousIterator (с C++17)
LegacyContiguousIterator — это LegacyIterator, элементы которого, расположенные логически рядом, также физически расположены рядом в памяти.
Указатель на элемент массива удовлетворяет всем требованиям LegacyContiguousIterator.
Требования
Тип It удовлетворяет LegacyContiguousIterator, если
- Тип
Itудовлетворяет LegacyIterator
И, для каждого
-
a, итерируемого элемента типаIt -
n, целочисленного значения
такого, что
-
a + nявляется допустимым и итерируемым значением
тогда
-
*(a + n)эквивалентен*(std::addressof(*a) + n).
Стандартная библиотека
Следующие типы стандартной библиотеки являются LegacyContiguousIterators.
-
array::iterator. -
basic_string_view::iterator. -
basic_string::iterator. -
vector::iteratorдляvalue_typeкромеbool. - Тип результата
begin(valarray)иend(valarray).
Примечания
Указатели на сложные типы объектов также должны удовлетворять требованиям LegacyContiguousIterator.
| LegacyContiguousIterator заменён на концепцию | (с C++20) |
См. также
|
(C++20) | определяет, что random_access_iterator является непрерывным итератором, ссылаясь на элементы, расположенные непрерывно в памяти (концепция) |
| Библиотека итераторов | предоставляет определения для итераторов, свойств итераторов, адаптеров и вспомогательных функций |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/named_req/ContiguousIterator