Namespaces
Variants

std::ranges:: iter_move

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)
Definiert im Header <iterator>
inline namespace /* unspecified */ {

inline constexpr /* unspecified */ iter_move = /* unspecified */ ;

}
(seit C++20)
(Anpassungspunktobjekt)
Aufrufsignatur
template < class T >

requires /* siehe unten */

constexpr decltype ( auto ) iter_move ( T && t ) noexcept ( /* siehe unten */ ) ;
(seit C++20)

Erhält einen Rvalue-Referenz oder einen Prvalue-Temporärwert von einem gegebenen Iterator.

Ein ranges :: iter_move ( t ) ist ausdrucksäquivalent zu:

  1. iter_move ( t ) , falls t einen Klassen- oder Aufzählungstyp besitzt und der Ausdruck wohlgeformt ist, wenn er als nicht ausgewerteter Operand behandelt wird, wobei die Überladungsauflösung von iter_move nur mit den Kandidaten durchgeführt wird, die durch argumentabhängige Suche gefunden wurden.
  2. Andernfalls std :: move ( * t ) , falls * t wohlgeformt ist und ein L-Wert darstellt.
  3. Andernfalls * t , falls * t wohlgeformt ist und ein R-Wert darstellt.

In allen anderen Fällen ist ein Aufruf von ranges::iter_move fehlerhaft, was zu einem Substitutionsfehler führen kann, wenn ranges :: iter_move ( e ) im unmittelbaren Kontext einer Template-Instanziierung erscheint.

Wenn ranges :: iter_move ( e ) nicht gleich * e ist, ist das Programm fehlerhaft, keine Diagnose erforderlich.

Customization Point Objects

Der Name ranges::iter_move bezeichnet ein Customization Point Object , welches ein konstantes Funktionsobjekt eines literalen semiregular Klassentyps ist. Weitere Details finden Sie unter CustomizationPointObject .

Beispiel

Siehe auch

(C++20)
wandelt das Ergebnis der Dereferenzierung des angepassten zugrundeliegenden Iterators in seinen zugehörigen Rvalue-Referenztyp um
(Funktion)
(C++20)
wandelt das Ergebnis der Dereferenzierung des zugrundeliegenden Iterators in seinen zugehörigen Rvalue-Referenztyp um
(Funktion)