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]
См. также
|
(C++20) | задаёт, что объект типа можно копировать, перемещать и менять местами (концепт) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/concepts/movable