std:: indirectly_movable_storable
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<iterator>
|
||
|
template
<
class
In,
class
Out
>
concept indirectly_movable_storable
=
|
(depuis C++20) | |
Le concept
indirectly_movable_storable
spécifie la relation entre un type
indirectly_readable
et un type
indirectly_writable
. En plus du concept
indirectly_movable
, ce concept spécifie que le déplacement depuis le type
indirectly_readable
peut être effectué via un objet intermédiaire.
Exigences sémantiques
In
et
Out
modèlent
std
::
indirectly_movable_storable
<
In, Out
>
uniquement si on leur donne une valeur déréférençable
i
de type
In
:
-
Après la définition
std::
iter_value_t
<
In
>
obj
(
ranges::
iter_move
(
i
)
)
;
,
objest égal à la valeur précédemment désignée par * i , et -
si
std::
iter_rvalue_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 déplacées d'un type
indirectly_readable
vers un type
indirectly_writable
(concept) |
|
(C++20)
|
spécifie que les valeurs peuvent être copiées d'un type
indirectly_readable
vers un type
indirectly_writable
et que la copie peut être effectuée via un objet intermédiaire
(concept) |