std::experimental::ranges::CopyConstructible
Von cppreference.com
< cpp | experimental | ranges
| Definiert in Header <experimental/ranges/concepts> |
||
| template< class T > concept bool CopyConstructible = |
(Ranges TS) | |
Das Konzept CopyConstructible ist erfüllt, wenn T ein Lvalue-Referenztyp ist oder wenn es sich um einen MoveConstructible Objekttyp handelt, bei dem ein Objekt dieses Typs aus einem (möglicherweise const) Lvalue oder const Rvalue dieses Typs in direkten und Kopierinitialisierungskontexten mit den üblichen Semantiken konstruiert werden kann (eine Kopie wird konstruiert, wobei die Quelle unverändert bleibt).
Genauer gesagt, wenn T ein Objekttyp ist, dann ist CopyConstructible<T> nur dann erfüllt, wenn für
-
v, ein Lvalue vom Typ (möglicherweise const)Toder ein Rvalue vom Typ const T,
die folgenden Bedingungen erfüllt sind
- Nach der Definition T u = v;, gilt
ugleichv; - T{v} ist gleich
v.
[bearbeiten] Siehe auch
| (C++11)(C++11)(C++11) |
prüft, ob ein Typ einen Kopierkonstruktor hat (Klassenvorlage) |