std::experimental::ranges:: CopyConstructible
|
Defined in header
<experimental/ranges/concepts>
|
||
|
template
<
class
T
>
concept
bool
CopyConstructible
=
|
(ranges TS) | |
The concept
CopyConstructible
is satisfied if
T
is an lvalue reference type, or if it is a
MoveConstructible
object type where an object of that type can constructed from a (possibly const) lvalue or const rvalue of that type in both direct- and copy-initialization contexts with the usual semantics (a copy is constructed with the source unchanged).
More precisely, if
T
is an object type, then
CopyConstructible<T>
is satisfied only if given
-
v, an lvalue of type (possibly const )Tor an rvalue of type const T ,
the following are true:
-
After the definition
T u
=
v
;
,
uis equal tov; -
T
{
v
}
is equal to
v.
See also
|
(C++11)
(C++11)
(C++11)
|
checks if a type has a copy constructor
(class template) |