std:: indirectly_copyable_storable
|
Défini dans l'en-tête
<iterator>
|
||
|
template
<
class
In,
class
Out
>
concept indirectly_copyable_storable
=
|
(depuis C++20) | |
Le concept
indirectly_copyable_storable
spécifie la relation entre un type
indirectly_readable
et un type
indirectly_writable
. En plus du concept
indirectly_copyable
, ce concept spécifie que la copie depuis le type
indirectly_readable
peut être effectuée via un objet intermédiaire.
Exigences sémantiques
In
et
Out
modèlent
std
::
indirectly_copyable_storable
<
In, Out
>
seulement si, étant donné une valeur déréférençable
i
de type
In
:
-
Après la définition
std::
iter_value_t
<
In
>
obj
(
*
i
)
;
,
objest égal à la valeur précédemment désignée par * i , et -
si
std::
iter_reference_t
<
In
>
est un type de référence rvalue,
*
i
est placé dans un état valide mais non spécifié après l'initialisation de
obj.
Préservation de l'égalité
Les expressions déclarées dans les requires expressions des concepts de la bibliothèque standard doivent être equality-preserving (sauf indication contraire).
Voir aussi
|
(C++20)
|
spécifie que les valeurs peuvent être copiées d'un type
indirectly_readable
vers un type
indirectly_writable
(concept) |
|
(C++20)
|
spécifie que les valeurs peuvent être déplacées d'un type
indirectly_readable
vers un type
indirectly_writable
et que le déplacement peut être effectué via un objet intermédiaire
(concept) |