Namespaces
Variants

deref-move

Depuis fr.cppreference.net
 
 
Bibliothèque d'algorithmes
Algorithmes contraints et algorithmes sur les plages (C++20)
Algorithmes contraints, p.ex. ranges::copy, ranges::sort, ...
Opérations de séquence non modificatrices    
Opérations par lots
(C++17)
Opérations de recherche
Opérations de séquence modificatrices
Opérations de copie
(C++11)
(C++11)
Opérations d'échange
Opérations de transformation
Opérations de génération
Opérations de suppression
Opérations de changement d'ordre
(jusqu'à C++17)(C++11)
(C++20)(C++20)
Opérations d'échantillonnage
(C++17)

Opérations de tri et connexes
Opérations de partitionnement
(C++11)    

Opérations de tri
Opérations de recherche binaire
(sur plages partitionnées)
Opérations d'ensemble (sur plages triées)
Opérations de fusion (sur plages triées)
Opérations de tas (heap)
Opérations minimum/maximum
(C++11)
(C++17)
Opérations de comparaison lexicographique
Opérations de permutation


 
 
template< class I >
constexpr decltype(auto) /*deref-move*/( I& iter )
(depuis C++17)
(exposition uniquement*)

Retourne le résultat du déréférencement de iter en tant que rvalue :

  • Si *iter est d'un type de référence lvalue, retourne std::move(*iter).
  • Sinon retourne *iter directement.

Paramètres

iter - l'itérateur pour lequel l'objet référencé sera déplacé

Valeur de retour

Comme décrit ci-dessus.

Notes

Ce modèle de fonction d'exposition uniquement est introduit par la résolution du problème LWG 3918. Il est utilisé pour éviter la construction par déplacement inutile du résultat du déréférencement de iter si le résultat est déjà une rvalue.

Voir aussi

déplace une plage d'objets vers une zone mémoire non initialisée
(modèle de fonction & objet fonction d'algorithme)
déplace un nombre d'objets vers une zone mémoire non initialisée
(modèle de fonction & objet fonction d'algorithme)