std::experimental::ranges:: CopyConstructible
|
Definiert im 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 ein
MoveConstructible
Objekttyp ist, bei dem ein Objekt dieses Typs aus einem (möglicherweise const) Lvalue oder const Rvalue dieses Typs sowohl in direkter als auch in Kopierinitialisierungskontexten mit der üblichen Semantik konstruiert werden kann (eine Kopie wird erstellt, wobei die Quelle unverändert bleibt).
Genauer gesagt, wenn
T
ein Objekttyp ist, dann ist
CopyConstructible<T>
nur dann erfüllt, wenn gegeben
-
v, ein Lvalue vom Typ (möglicherweise const )Toder ein Rvalue vom Typ const T ,
Folgendes trifft zu:
-
Nach der Definition
T u
=
v
;
ist
ugleichv; -
T
{
v
}
ist gleich
v.
Siehe auch
|
(C++11)
(C++11)
(C++11)
|
prüft, ob ein Typ einen Kopierkonstruktor besitzt
(Klassentemplate) |