std::move_backward
Материал из cppreference.com
| Заголовочный файл <algorithm>
|
||
| template< class BidirIt1, class BidirIt2 > BidirIt2 move_backward( BidirIt1 first, BidirIt1 last, BidirIt2 d_last ); |
||
Перемещает элементы из диапазона [first, last) в другой диапазон, кончающийся в d_last. Элементы перемещаются в обратном порядке (последний элемент перемещается первым), но их относительный порядок сохраняется.
Содержание |
[править] Параметры
| first, last | - | диапазон элементов для перемещения |
| d_last | - | конец целевого диапазона. Если d_last находится внутри [first, last), следует использовать std::move вместо std::move_backward.
|
| Требования, накладываемые на типы | ||
-BidirIt1 должен соответствовать требованиям BidirectionalIterator.
| ||
-BidirIt2 должен соответствовать требованиям BidirectionalIterator.
| ||
[править] Возвращаемое значение
Итератор в целевом диапазоне, указывающий на последний перемещённый элемент.
[править] Сложность
Ровно last - first присваиваний перемещения.
[править] Возможная реализация
template< class BidirIt1, class BidirIt2 > BidirIt2 move_backward(BidirIt1 first, BidirIt1 last, BidirIt2 d_last) { while (first != last) { *(--d_last) = std::move(*(--last)); } return d_last; } |
[править] Пример
| Этот раздел не завершён Причина: нет примера |
[править] См. также
| (C++11) |
перемещает диапазон элементов в новое место Original: moves a range of elements to a new location The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон функции) |