std::experimental::ranges:: MoveConstructible
|
Défini dans l'en-tête
<experimental/ranges/concepts>
|
||
|
template
<
class
T
>
concept
bool
MoveConstructible
=
|
(ranges TS) | |
Le concept
MoveConstructible
est satisfait si
T
est un type référence, ou s'il s'agit d'un type objet pour lequel un objet de ce type peut être construit à partir d'une rvalue de ce type dans des contextes d'initialisation directe et par copie, avec la sémantique habituelle.
Plus précisément, si
T
est un type d'objet, alors
MoveConstructible<T>
est satisfait uniquement si étant donné
-
rv, une rvalue de typeT, et -
u2, un objet distinct de typeTégal àrv,
les affirmations suivantes sont vraies :
-
Après la définition
T u
=
rv
;
,
uest égal àu2; -
T{rv}est égal àu2; et -
Si
Tn'est pas qualifié const, alors l'état résultant derv(après l'évaluation de la définition/expression dans l'un ou l'autre des points ci-dessus) est valide mais non spécifié ; sinon, il reste inchangé.
Voir aussi
|
(C++11)
(C++11)
(C++11)
|
vérifie si un type peut être construit à partir d'une référence rvalue
(modèle de classe) |