class template
<type_traits>
std::is_copy_assignable
template <class T> struct is_copy_assignable;
Is copy assignable
- integral_constant
- is_copy_assignable
Trait class that identifies whether T is a copy assignable type.
A copy assignable type is a type that can be assigned a value or reference of the same type. This includes scalar types and copy assignable classes.
A copy assignable class is a class that has its copy assignment operator defined (either the implicitly provided one or a custom defined one).
The
is_copy_assignable class inherits from integral_constant as being either true_type or false_type, depending on whether T is copy assignable.Template parameters
- T
- A complete type, or void (possible cv-qualified), or an array of unknown bound.
Member types
Inherited from integral_constant:| member type | definition |
|---|---|
| value_type | bool |
| type | either true_type or false_type |
Member constants
Inherited from integral_constant:| member constant | definition |
|---|---|
| value | either true or false |
Member functions
Inherited from integral_constant:- operator bool
- Returns value (public member function)
Example
|
|
Output:
is_copy_assignable: int: true A: true B: false
See also
- is_assignable
- Is assignable (class template)
- is_copy_constructible
- Is copy constructible (class template)
- is_trivially_copy_assignable
- Is trivially copy assignable (class template)
- is_nothrow_copy_assignable
- Is copy assignable throwing no exceptions (class template)