std::experimental::ranges::Movable -
std::experimental::ranges::Movable
Defined in header <experimental/ranges/concepts>
template < class T >
concept bool Movable =
std::is_object<T>::value && (ranges TS)
MoveConstructible<T> &&
Assignable<T&, T> &&
Swappable<T>;
The concept Movable<T> specifies that T is an object type that can
moved (that is,
it can be move constructed, move assigned, and lvalues of type T can be
swapped).
There need not be any subsumption relationship between Movable<T> and
std::is_object<T>::value.
Copyable specifies that an object of a type can be copied, moved,
and swapped
(concept)