std::experimental::ranges::Movable

< cpp‎ | experimental‎ | ranges
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

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