#include
<algorithm>
[last, res] = ranges::move_backward (Range r, Bi2 result) [last, res] = ranges::move_backward (Bi first, Bi last, Bi2 result)
Verschiebt die Elemente des Bereiches [first,last) nach [result - (last-first),result).
first | Anfang des Quellbereiches |
last | Ende des Quellbereiches |
result | Anfang des Zielbereiches |
pol | parallele Ausführungsart |
Der Anfang des Zielbereichs sollte nicht im Quellbereich liegen, dann wäre move_backward() einzusetzen.
Rückgabewert: Iterator auf den Anfang des Zielbereiches, also das zuletzt kopierte Element bzw. {last, result-N}
mit N=last-first
als Struktur mit Elementen namens in, out
.
#include <algorithm> #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> text = { "Dieser", "Text", "wird", "verschoben." }; for(auto e : text) std::cout << e << ' '; std::move_backward(begin(text), end(text)-1, end(text)); std::cout << " --> "; for(auto e : text) std::cout << e << ' '; std::cout << '\n'; }