std::movable(3)

NAME
std::movable - std::movable

Synopsis
   Defined in header <concepts>
   template< class T >
   concept movable =
       std::is_object_v<T> && (since C++20)
       std::move_constructible<T> &&
       std::assignable_from<T&, T> &&
       std::swappable<T>;
   The concept movable<T> specifies that T is an object type that can be moved (that
   is, it can be move constructed, move assigned, and lvalues of type T can be
   swapped).

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