std::copyable

Header: <concepts>

The concept copyable specifies that T is a movable object type that can also be copied (that is, it supports copy construction and copy assignment).

# Declarations

template< class T >
concept copyable =
std::copy_constructible<T> &&
std::movable<T> &&
std::assignable_from<T&, T&> &&
std::assignable_from<T&, const T&> &&
std::assignable_from<T&, const T>;

(since C++20)

# See also