std:: move_constructible
From cppreference.net
|
Definido en el encabezado
<concepts>
|
||
|
template
<
class
T
>
concept move_constructible = std:: constructible_from < T, T > && std:: convertible_to < T, T > ; |
(desde C++20) | |
El concepto
move_constructible
se satisface si
T
es un tipo de referencia, o si es un tipo de objeto donde un objeto de ese tipo puede construirse a partir de un valor R de ese tipo en contextos de inicialización directa y copia, con la semántica habitual.
Requisitos semánticos
Si
T
es un tipo de objeto, entonces
move_constructible<T>
se modela solo si dado
-
rv, un valor r de tipoT, y -
u2, un objeto distinto de tipoTigual arv,
lo siguiente es cierto:
-
Después de la definición
T u
=
rv
;
,
ues igual au2; -
T(rv)es igual au2; y -
Si
Tno está calificado como const, entonces el estado resultante derv(después de que la definición/expresión se evalúe en cualquiera de los puntos anteriores) es válido pero no especificado; de lo contrario, permanece sin cambios.
Referencias
- Estándar C++23 (ISO/IEC 14882:2024):
-
-
18.4.13 Concepto
move_constructible[concept.moveconstructible]
-
18.4.13 Concepto
- Estándar C++20 (ISO/IEC 14882:2020):
-
-
18.4.13 Concepto
move_constructible[concept.moveconstructible]
-
18.4.13 Concepto
Véase también
|
(C++11)
(C++11)
(C++11)
|
verifica si un tipo puede ser construido desde una referencia a valor R
(plantilla de clase) |