Spec-Zone.ru › C++

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 заменён на концепцию contiguous_iterator: типы итераторов в стандартной библиотеке, которые должны были удовлетворять LegacyContiguousIterator в C++17, должны моделировать contiguous_iterator в C++20.

(с C++20)

См. также

contiguous_iterator
(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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API