# std::experimental::ranges::Movable

From cppreference.com
< cpp‎ | experimental‎ | ranges

Defined in header `<experimental/ranges/concepts>` |  |
template< class T > concept bool Movable = std::is_object<T>::value && MoveConstructible<T> && Assignable<T&, T> && Swappable<T>; |  | (ranges TS)

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.

### See also

Copyable | specifies that an object of a type can be copied, moved, and swapped (concept)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/ranges/concepts/Movable&oldid=155306"