std::move_constructible

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)

# See also