Namespaces
Variants

std:: indirectly_copyable_storable

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
indirectly_copyable_storable
(C++20)
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
Definiert im Header <iterator>
(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 obj gleich 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 obj in 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

spezifiziert, dass Werte von einem indirectly_readable Typ zu einem indirectly_writable Typ kopiert werden können
(Konzept)
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)