Namespaces
Variants

std::move_iterator<Iter>:: move_iterator

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
move_iterator ( ) ;
(1) (constexpr seit C++17)
explicit move_iterator ( iterator_type x ) ;
(2) (constexpr seit C++17)
template < class U >
move_iterator ( const move_iterator < U > & other ) ;
(3) (constexpr seit C++17)

Konstruiert einen neuen move_iterator .

Überladung current
(1) wertinitialisiert
(2) initialisiert mit x (bis C++20) std :: move ( x ) (seit C++20)
(3) initialisiert mit other. current
3) Der konvertierende Konstruktor.

Falls U nicht konvertierbar zu Iter ist, ist das Programm fehlerhaft.

(bis C++20)

Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn std:: is_same_v < U, Iter > false ist und std:: convertible_to < const U & , Iter > modelliert wird.

(seit C++20)

Inhaltsverzeichnis

Parameter

x - zu adaptierender Iterator
other - zu kopierender Iterator-Adapter

Beispiel

Fehlerberichte

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

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 3435 C++20 Überladung ( 3 ) war nicht eingeschränkt eingeschränkt

Siehe auch

weist einen anderen move_iterator zu
(öffentliche Elementfunktion)
erstellt einen std::move_iterator mit vom Argument abgeleitetem Typ
(Funktionstemplate)