# std::experimental::ranges::Movable

< cpp‎ | experimental‎ | ranges

定义于头文件 `<experimental/ranges/concepts>` |  |
template < class T > concept bool Movable = std::is_object<T>::value && ranges::MoveConstructible<T> && ranges::Assignable<T&, T> && ranges::Swappable<T>; |  | (范围 TS)

概念 `Movable<T>` 指定 `T` 是能移动（即移动构造、移动赋值且 `T` 的左值能交换）的对象类型。

`Movable<T>` 与 std::is_object<T>::value 间不需要任何蕴含关系。

### 参阅

Copyable | 指定该类型对象能被复制、移动和交换 (概念)