Namespaces
Variants

std:: indirectly_movable_storable

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
indirectly_movable_storable
(C++20)
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
Определено в заголовочном файле <iterator>
(начиная с C++20)

Концепт indirectly_movable_storable определяет отношение между типом indirectly_readable и типом indirectly_writable . В дополнение к indirectly_movable , этот концепт специфицирует, что перемещение из типа indirectly_readable может быть выполнено через промежуточный объект.

Семантические требования

In и Out модель std :: indirectly_movable_storable < In, Out > только если задано разыменовываемое значение i типа In :

  • После определения std:: iter_value_t < In > obj ( ranges:: iter_move ( i ) ) ; , obj равно значению, ранее обозначенному * i , и
  • если std:: iter_rvalue_reference_t < In > является типом rvalue-ссылки, * i переводится в допустимое, но неопределённое состояние после инициализации obj .

Сохранение равенства

Выражения, объявленные в requires выражениях концепций стандартной библиотеки, должны быть equality-preserving (если не указано иное).

Смотрите также

определяет, что значения могут быть перемещены из indirectly_readable типа в indirectly_writable тип
(концепт)
определяет, что значения могут быть скопированы из indirectly_readable типа в indirectly_writable тип и что копирование может быть выполнено через промежуточный объект
(концепт)