Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
template_metaprogramming_ru.docx
Скачиваний:
12
Добавлен:
01.07.2025
Размер:
774 Кб
Скачать
☆

(Двунаправленная Последовательность)

Описание:

Двунаправленная последовательность - прямая последовательность, итераторная модель которой - двунаправленный итератор.

Уточнение:

Forward Sequence (прямая последовательность).

Требования к выражениям:

Дополняет требования, определенные для прямой последовательности, для любой двунаправленной последовательности s, должны быть действительными следующие выражения:

Выражение

Тип

Сложность

begin<s>::type

Bidirectional Iterator

Амортизированное постоянное время.

end<s>::type

Bidirectional Iterator

Амортизированное постоянное время.

back<s>::type

Любой тип

Амортизированное постоянное время.

Семантика выражений:

Поддерживает семантику прямой последовательности, добавляет отличные/не определенные выражения:

Выражения

Семантика

back<s>::type

Последний элемент последовательности.

Модели:

  • vector

  • range_c

Смотри также:

Sequences, Forward Sequence, Random Access Sequence, Bidirectional Iterator, begin / end, back

Random Access Sequence

(Последовательность произвольного доступа)

Описание:

Последовательность произвольного доступа - двунаправленная последовательность, итераторная модель которой - итератор произвольного доступа. Последовательность произвольного доступа гарантирует амортизированное постоянное времени доступа к произвольному элементу последовательности.

Уточнение:

Bidirectional sequence (двунаправленная последовательность).

Требования к выражениям:

Дополняет требования, определенные для двунаправленной последовательность, для любой последовательности произвольного доступа s, должны быть действительными следующие выражения:

Выражение

Тип

Сложность

begin<s>::type

Random Access Iterator

Амортизированное постоянное время.

end<s>::type

Random Access Iterator

Амортизированное постоянное время.

at<s,n>::type

Любой тип

Амортизированное постоянное время.

Семантика выражений:

Поддерживает семантику двунаправленной последовательности, добавляет отличные/не определенные выражения:

Выражения

Семантика

at<s,n>::type

n-ый элемент от начала последовательности s.

Модели:

  • vector

  • range_c

Смотри также:

Sequences, Bidirectional Sequence, Extensible Sequence, Random Access Iterator, begin / end, at

Extensible Sequence

(Расширенная последовательность)

Описание:

Расширенная последовательность - последовательность, которая поддерживает вставку и удаление элементов. Расширения независимы (ортогональны) от характеристик обхода последовательности.

Требования к выражениям:

Для любой расширенной последовательности s, ее итераторов pos и last, прямой последовательности r, и любого типа х, должны быть действительными следующие выражения:

Выражение

Тип

Сложность

insert<s,pos,x>::type

Extensible Sequence

Не определена

insert_range<s,pos,r>::type

Extensible Sequence

Не определена

erase<s,pos>::type

Extensible Sequence

Не определена

erase<s,pos,last>::type

Extensible Sequence

Не определена

clear<s>::type

Extensible Sequence

Постоянное время

Семантика выражений:

Выражения

Семантика

insert<s,pos,x>::type

Новая последовательность, концепцепт-идентичная последовательности s, состоящая из следующих элементов: [begin<s>::type, pos), x, [pos, end<s>::type);

insert_range<s,pos,r>::type

Новая последовательность, концепцепт-идентичная последовательности s, состоящая из следующих элементов: [begin<s>::type, pos), [begin<r>::type, end<r>::type),

[pos, end<s>::type);

erase<s,pos>::type

Новая последовательность, концепцепт-идентичная последовательности s, состоящая из следующих элементов: [begin<s>::type, pos), [next<pos>::type, end<s>::type);

erase<s,pos,last>::type

Новая последовательность, концепцепт-идентичная последовательности s, состоящая из следующих элементов: [begin<s>::type, pos), [last, end<s>::type);

clear<s>::type

Пустая (empty) последовательность, концепцепт-идентичная последовательности s;

Модели:

  • vector

  • list

Смотри также:

Sequences, Back Extensible Sequence, insert, insert_range, erase, clear

Front Extensible Sequence

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]