std::rotate_copy
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <algorithm>
|
||
template< class ForwardIt, class OutputIt > OutputIt rotate_copy( ForwardIt first, ForwardIt n_first, ForwardIt last, OutputIt d_first ); |
||
Копирует элементы из диапазона [first, last) в диапазон, начинающийся с d_first, таким образом, что элемент n_first становится первым элементом в новом диапазоне, а n_first-1 — последним.
Параметры
[first, last)
|
— | два итератора задающих диапазон элементов для копирования |
| n_first | — | элемент, который должен стать первым в новом диапазоне |
| d_first | — | начало целевого диапазона |
| Требования к типам | ||
-ForwardIt должен соответствовать требованиям ForwardIterator.
| ||
-OutputIt должен соответствовать требованиям OutputIterator.
| ||
Возвращаемое значение
Output-итератор на элемент, следующий за последним скопированным.
Возможная реализация
template<class ForwardIt, class OutputIt>
OutputIt rotate_copy(ForwardIt first, ForwardIt n_first,
ForwardIt last, OutputIt d_first)
{
d_first = std::copy(n_first, last, d_first);
return std::copy(first, n_first, d_first);
}
|
Пример
| Этот раздел не завершён Причина: нет примера |
Сложность
Линейная по расстоянию между first и last.
См. также
| вращает порядок элементов в диапазоне (шаблон функции) |