Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

The MPL Reference Manual: Forward Iterator

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Front Page / Iterators / Concepts / Forward Iterator

Forward Iterator

Description

А.Передний итераторiпредставляет собой тип, который представляет собой позиционную ссылку на элементпередней последовательности.. Он позволяет получить доступ к элементу посредством операции отсчета и обеспечивает способ получения итератора к следующему элементу в последовательности.

Definitions

  • Итератор может бытьсносным, что означаетотказ::type— четко выраженное выражение.
  • Итератор — этопрошедший конец, если он указывает за пределы последнего элемента последовательности; итераторы прошедшего конца не подлежат сносу.
  • Итераторiявляетсяинкрементируемым, если есть "next" итератор, то есть, еслиследующий::типвыражение хорошо определено; прошлые конечные итераторы не являются инкрементируемыми.
  • Два итератора в одну последовательностьэквивалентны, если они имеют одинаковый тип.
  • Итераторjдоступенот итератораi, если после рекурсивного примененияследующаяметафункцияiконечное число раз,iэквивалентнаj.
  • Нотацияi,j) относится кдиапазонуитераторов, начинающемуся сiи вплоть доj.
  • Диапазонi,jявляетсядопустимым диапазоном, еслиjдостижим отi.

Expression requirements

Expression Type Complexity
deref::type Любой тип Амортизированное постоянное время
::type Передний итератор Амортизированное постоянное время
i::категория Интегральная постоянная, конвертируемая вforward_iterator_tag Постоянное время

Expression semantics

typedef deref<i>::type j;
Precondition:i is dereferenceable
Semantics:j is identical to the type of the pointed element
typedef next<i>::type j;
Precondition:i is incrementable
Semantics:j is the next iterator in a sequence
Postcondition:j is dereferenceable or past-the-end
typedef i::category c;
Semantics:c is identical to the iterator's category tag

Invariants

Для любых передних итераторовiиjвсегда удерживаются следующие инварианты:

  • iиjэквивалентны, если и только если они указывают на один и тот же элемент.
  • Еслиiявляется уважительным, аjэквивалентенi, тоjтакже является уважительным.
  • Еслиiиjэквивалентны и заслуживают уважения, тоderef::typeиderef::typeидентичны.
  • Еслиiявляется инкрементным, аjэквивалентенi, тоjтакже является инкрементным.
  • Еслиiиjэквивалентны и инкрементируемы, тоследующая::typeиследующая::typeэквивалентны.

Статья The MPL Reference Manual: Forward Iterator раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:10:42/0.0066709518432617/0