Inhaltsverzeichnis

move()

#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.

Parameter

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.

Ergebnis

Rückgabewert: Iterator auf das Ende des Zielbereiches bzw. {last, out + N} mit N = last - first als Struktur mit Elementen namens in, out.

Siehe auch

move_backward(), copy().

Beispiel

move.cpp
#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';	
}