# std::Copyable

From cppreference.com
< cpp‎ | concepts

Defined in header `<concepts>` |  |
template <class T> concept Copyable = std:: CopyConstructible <T> && std:: Movable <T> && std:: Assignable <T&, const T&>; |  | (since C++20)

The concept `Copyable<T>` specifies that `T` is an `Movable` object type that can also copied (that is, it supports copy construction and copy assignment).

### Notes

It is intended that `Copyable<T>` also requires std:: Assignable <T&, const T> (assignment from const rvalue) and std:: Assignable <T&, T&> (assignment from non-const lvalue) to be satisfied.

### See also

Movable (C++20) | specifies that an object of a type can be moved and swapped (concept)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/concepts/Copyable&oldid=104886"