#include
<algorithm>
Out move (In first, In last, Out result) Out move (Exec pol, In first, In last, Out result) [last, res] = ranges::move (Range r, Out result) [last, res] = ranges::move (In first, In last, Out result)
Verschiebt die Elemente e
des Bereiches [first,last) nach [result,…).
Für alle Elemente wird std::move(e)
aus <utility> aufgerufen.
Die Elemente des Quellbereichs enthalten danach zwar gültige, aber nicht notwendig ihre alten Werte.
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 das Ende des Zielbereiches bzw. {last, out + 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> quelle = { "Dieser", "Text", "wird", "verschoben." }; std::vector<std::string> ziel; std::move(begin(quelle), end(quelle), std::back_inserter(ziel)); for(auto e : quelle) std::cout << e << '.'; std::cout << " --> "; for(auto e : ziel) std::cout << e << ' '; std::cout << '\n'; }