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 an movable object type that can also
   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)