extra/boost/boost_1_77_0/libs/utility/CopyConstructible.html
A type is Copy Constructible if it is possible to copy objects of that type.
| T | is type that is a model of Copy Constructible | | t | is an object of type T | | u | is an object of type const T |
| Name | Expression | Return type | Semantics |
|---|---|---|---|
| Copy constructor | T(t) | T | t is equivalent to T(t) |
| Copy constructor |
T(u)
| T | u is equivalent to T(u) | | Destructor |
t.~T()
| T | | | Address Operator |
&t
| T* | denotes the address of t | | Address Operator |
&u
| T* | denotes the address of u |
template <class T>
struct CopyConstructibleConcept
{
void constraints() {
T a(b); // require copy constructor
T* ptr = &a; // require address of operator
const_constraints(a);
ignore_unused_variable_warning(ptr);
}
void const_constraints(const T& a) {
T c(a); // require const copy constructor
const T* ptr = &a; // require const address of operator
ignore_unused_variable_warning(c);
ignore_unused_variable_warning(ptr);
}
T b;
};
Default Constructible and Assignable
Revised 05 December, 2006
| Copyright © 2000 | Jeremy Siek, Univ.of Notre Dame ([email protected]) |
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)