Введение в стандартную библиотеку шаблонов C++. Описание, примеры использования, учебные задачи - страница 16



Сложность линейная (N сравнений).



Копирует в диапазон, начинающийся с result, n элементов диапазона, начинающегося с first.

Сложность линейная (n присваиваний).



Возвращает количество элементов в диапазоне [first, last), которые равны значению value.

Сложность линейная (N сравнений).



Возвращает количество элементов в диапазоне [first, last), для которых выражение pred(>*p) равно true.

Сложность линейная (N вызовов pred).



Возвращает true, если два диапазона содержат одни и те же элементы в одинаковом порядке. Первый диапазон – [first1, last1), второй начинается с first2 и имеет такую же длину; диапазоны могут перекрываться. Для сравнения используется предикат pred(>*p1, >*p2) или (по умолчанию) операция ==.

Сложность линейная (не более N>1 сравнений).



Проверяет, имеется ли в диапазоне [first, last) значение value, и возвращает пару итераторов, которые указывают на начало диапазона, содержащего value, и на элемент за концом этого диапазона (если значение не найдено, то оба итератора указывают на позицию в диапазоне, в которую можно вставить value, не нарушая порядка сортировки). Содержимое диапазона должно быть предварительно отсортировано в соответствии с порядком, задаваемым предикатом comp(>*p1, >*p2) или (по умолчанию) операцией <.

Сложность логарифмическая (не более 2>*log N + 1 сравнений).



Заполняет выходной диапазон [first, last) значениями value.

Сложность линейная (N присваиваний).



Заполняет выходной диапазон из n элементов, начиная с first, значениями value.

Сложность линейная (n присваиваний).



Возвращает итератор, указывающий на первое вхождение элемента value в диапазоне [first, last), или last, если элемент value отсутствует. Для сравнения элементов используется операция ==.

Сложность линейная (не более N сравнений).



Находит последнюю (самую правую) подпоследовательность [first2, last2) в диапазоне [first1, last1). Возвращает итератор, который указывает на начало найденной подпоследовательности, или last1, если подпоследовательность не найдена. Для сравнения элементов используется предикат pred(>*p1, >*p2) или (по умолчанию) операция ==.

Сложность линейная (не более N>1>*N>2 сравнений).



Находит первое вхождение любого элемента подпоследовательности [first2, last2) в диапазон [first1, last1); возвращает итератор, который указывает на найденный элемент, или last1, если элемент не найден. Для сравнения элементов используется предикат pred(>*p1, >*p2) или (по умолчанию) операция ==.

Сложность линейная (не более N>1>*N>2 сравнений).



Возвращает итератор, указывающий для диапазона [first, last) на первое вхождение элемента, для которого выражение pred(>*p) возвращает true; если требуемые элементы отсутствуют, то возвращает last.

Сложность линейная (не более N вызовов pred).



Возвращает итератор, указывающий для диапазона [first, last) на первое вхождение элемента, для которого выражение pred(>*p) возвращает false; если требуемые элементы отсутствуют, то возвращает last.

Сложность линейная (не более N вызовов pred).



Вызывает функциональный объект f (как f(>*p)) для всех элементов из диапазона [first, last) и возвращает этот же функциональный объект.

Сложность линейная (N вызовов f).



Заполняет диапазон [first, last), последовательно присваивая элементам диапазона результат вызова функционального объекта gen (как gen()).

Сложность линейная (N вызовов gen).



Заполняет последовательность, начинающуюся с позиции first, n элементами, полученными в результате вызова функционального объекта gen (как gen()).