std::indirectly_movable_storable
| Definiert in Header <iterator> |
||
| template< class In, class Out > concept indirectly_movable_storable = |
(seit C++20) | |
Das Konzept indirectly_movable_storable spezifiziert die Beziehung zwischen einem indirectly_readable Typ und einem indirectly_writable Typ. Zusätzlich zu indirectly_movable spezifiziert dieses Konzept, dass die Verschiebung vom indirectly_readable Typ über ein Zwischenobjekt erfolgen kann.
[edit] Semantische Anforderungen
In und Out modellieren std::indirectly_movable_storable<In, Out> nur dann, wenn für einen dereferenzierbaren Wert i vom Typ In
- nach der Definition std::iter_value_t<In> obj(ranges::iter_move(i));,
objgleich dem Wert ist, der zuvor von *i bezeichnet wurde, und - wenn std::iter_rvalue_reference_t<In> ein rvalue-Referenztyp ist,
*inach der Initialisierung vonobjin einem gültigen, aber nicht spezifizierten Zustand ist.
[bearbeiten] Gleichheitserhaltung
Ausdrücke, die in requires-Ausdrücken der Standardbibliothekskonzepte deklariert sind, müssen gleichheitserhaltend sein (sofern nicht anders angegeben).
[edit] Siehe auch
| (C++20) |
spezifiziert, dass Werte von einem indirectly_readable Typ zu einem indirectly_writable Typ verschoben werden können(Konzept) |
| (C++20) |
spezifiziert, dass Werte von einem indirectly_readable Typ zu einem indirectly_writable Typ kopiert werden können und dass das Kopieren über ein Zwischenobjekt erfolgen kann(Konzept) |