std::move_constructible
Min standard notice:
Header: <concepts>
The concept move_constructible is satisfied if T is a reference type, or if it is an object type where an object of that type can be constructed from an rvalue of that type in both direct- and copy-initialization contexts, with the usual semantics.
# Declarations
template< class T >
concept move_constructible = std::constructible_from<T, T> && std::convertible_to<T, T>;
(since C++20)