std:: indirectly_copyable_storable
|
Definiert im Header
<iterator>
|
||
|
template
<
class
In,
class
Out
>
concept indirectly_copyable_storable
=
|
(seit C++20) | |
Das
indirectly_copyable_storable
-Konzept spezifiziert die Beziehung zwischen einem
indirectly_readable
-Typ und einem
indirectly_writable
-Typ. Zusätzlich zu
indirectly_copyable
spezifiziert dieses Konzept, dass die Kopie vom
indirectly_readable
-Typ über ein Zwischenobjekt durchgeführt werden kann.
Semantische Anforderungen
In
und
Out
Modell
std
::
indirectly_copyable_storable
<
In, Out
>
nur wenn ein dereferenzierbarer Wert
i
vom Typ
In
gegeben ist:
-
Nach der Definition
std::
iter_value_t
<
In
>
obj
(
*
i
)
;
ist
objgleich dem Wert, der zuvor durch * i bezeichnet wurde, und -
falls
std::
iter_reference_t
<
In
>
ein Rvalue-Referenztyp ist, wird
*
i
nach der Initialisierung von
objin einen gültigen, aber unspezifizierten Zustand versetzt.
Gleichheitserhaltung
Ausdrücke, die in requires expressions der Standardbibliothek-Konzepte deklariert werden, müssen equality-preserving sein (sofern nicht anders angegeben).
Siehe auch
|
(C++20)
|
spezifiziert, dass Werte von einem
indirectly_readable
Typ zu einem
indirectly_writable
Typ kopiert werden können
(Konzept) |
|
(C++20)
|
spezifiziert, dass Werte von einem
indirectly_readable
Typ zu einem
indirectly_writable
Typ verschoben werden können und dass die Verschiebung über ein Zwischenobjekt erfolgen kann
(Konzept) |