Inhaltsverzeichnis

move_backward()

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

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 den Anfang des Zielbereiches, also das zuletzt kopierte Element bzw. {last, result-N} mit N=last-first als Struktur mit Elementen namens in, out.

Siehe auch

move(), copy_backward().

Beispiel

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