Namespaces
Variants

deref-move

De es.cppreference.net
 
 
Biblioteca de algoritmos
Algoritmos restringidos y algoritmos sobre rangos (C++20)
Algoritmos restringidos, por ejemplo ranges::copy, ranges::sort, ...
Operaciones de secuencia no modificadoras    
Operaciones por lotes
(C++17)
Operaciones de búsqueda
Operaciones de secuencia modificadoras
Operaciones de copia
(C++11)
(C++11)
Operaciones de intercambio
Operaciones de transformación
Operaciones de generación
Operaciones de eliminación
Operaciones de cambio de orden
(hasta C++17)(C++11)
(C++20)(C++20)
Operaciones de muestreo
(C++17)

Ordenamiento y operaciones relacionadas
Operaciones de particionado
(C++11)    

Operaciones de ordenamiento
Operaciones de búsqueda binaria
(en rangos particionados)
Operaciones de conjunto (en rangos ordenados)
Operaciones de mezcla (en rangos ordenados)
Operaciones de montículo
Operaciones de mínimo/máximo
(C++11)
(C++17)
Operaciones de comparación lexicográfica
Operaciones de permutación


 
 
template< class I >
constexpr decltype(auto) /*deref-move*/( I& iter )
(desde C++17)
(solo exposición*)

Devuelve el resultado de desreferenciar iter como un valor r:

  • Si *iter es de un tipo de referencia lvalue, devuelve std::move(*iter).
  • En caso contrario, devuelve *iter directamente.

Parámetros

iter - el iterador del cual se moverá el objeto referido

Valor de retorno

Como se describe arriba.

Notas

Esta plantilla de función de solo exposición fue introducida por la resolución de LWG issue 3918. Se usa para evitar la construcción por movimiento innecesaria a partir del resultado de desreferenciar iter si el resultado ya es un valor r.

Véase también

mueve un rango de objetos a un área de memoria no inicializada
(plantilla de función & objeto función de algoritmo)
mueve un número de objetos a un área de memoria no inicializada
(plantilla de función & objeto función de algoritmo)