Namensräume
Varianten
Aktionen

std::move_iterator<Iter>::base

Von cppreference.com
 
 
Iterator-Bibliothek
Iterator-Konzepte
Iterator-Primitive
Algorithmus-Konzepte und Hilfsprogramme
Indirekte aufrufbare Konzepte
Gemeinsame Algorithmus-Anforderungen
(C++20)
(C++20)
(C++20)
Dienstprogramme
(C++20)
Iterator-Adapter
Bereichszugriff
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
(1)
iterator_type base() const;
(constexpr seit C++17)
(bis C++20)
constexpr const iterator_type& base() const& noexcept;
(seit C++20)
constexpr iterator_type base() &&;
(2) (seit C++20)

Gibt den zugrundeliegenden Iterator zurück.

1) Gibt eine Kopie von(bis C++20)Referenz auf(seit C++20) den zugrundeliegenden Iterator zurück.
2) Gibt einen Iterator zurück, der aus dem zugrundeliegenden Iterator move-konstruiert wurde.

Inhalt

[bearbeiten] Rückgabewert

2) std::move(current )

[bearbeiten] Beispiel

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
 
int main()
{
    std::vector<int> v{0, 1, 2, 3, 4};
    std::move_iterator<std::vector<int>::reverse_iterator>
        m1{v.rbegin()},
        m2{v.rend()};
 
    std::copy(m1.base(), m2.base(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << '\n';
}

Ausgabe

4 3 2 1 0

[bearbeiten] Fehlerberichte

Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 3391 C++20 Überladung (1) gab eine Kopie des zugrundeliegenden Iterators zurück gibt eine Referenz zurück
LWG 3593 C++20 Überladung (1) war nicht noexcept wurde zu `noexcept` gemacht

[bearbeiten] Siehe auch

greift auf das dereferenzierte Element zu
(öffentliche Memberfunktion) [edit]