std::copyable(3)

NAME
std::copyable - std::copyable

Synopsis
   Defined in header <concepts>
   template< class T >
   concept copyable =
       std::copy_constructible<T> &&
       std::movable<T> && (since C++20)
       std::assignable_from<T&, T&> &&
       std::assignable_from<T&, const T&> &&
       std::assignable_from<T&, const T>;
   The concept copyable<T> specifies that T is a movable object type that can also be
   copied (that is, it supports copy construction and copy assignment).

See also
   movable specifies that an object of a type can be moved and swapped
   (C++20) (concept)