Spec-Zone.ru › C++

std::movable

Определён в заголовочном файле <concepts>
template< class T >
concept movable =
    std::is_object_v<T> &&
    std::move_constructible<T> &&
    std::assignable_from<T&, T> &&
    std::swappable<T>;
(начиная с C++20)

Концепт movable<T> задаёт, что T — это тип объекта, который можно перемещать (то есть его можно переместить конструированием, переместить присваиванием, а lvalue типа T можно менять местами).

Ссылки

  • Стандарт C++23 (ISO/IEC 14882:2024):
    • 18.6 Концепты объектов [concepts.object]
  • Стандарт C++20 (ISO/IEC 14882:2020):
    • 18.6 Концепты объектов [concepts.object]

См. также

copyable
(C++20)
задаёт, что объект типа можно копировать, перемещать и менять местами
(концепт)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/concepts/movable

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API