std:: indirectly_copyable_storable
|
Определено в заголовке
<iterator>
|
||
|
template
<
class
In,
class
Out
>
concept indirectly_copyable_storable
=
|
(начиная с C++20) | |
Концепт
indirectly_copyable_storable
определяет отношение между типом
indirectly_readable
и типом
indirectly_writable
. В дополнение к
indirectly_copyable
, этот концепт специфицирует, что копирование из типа
indirectly_readable
может быть выполнено через промежуточный объект.
Семантические требования
In
и
Out
модель
std
::
indirectly_copyable_storable
<
In, Out
>
только если задано разыменовываемое значение
i
типа
In
:
-
После определения
std::
iter_value_t
<
In
>
obj
(
*
i
)
;
,
objравен значению, ранее обозначенному * i , и -
если
std::
iter_reference_t
<
In
>
является типом rvalue-ссылки,
*
i
переводится в допустимое, но неопределённое состояние после инициализации
obj.
Сохранение равенства
Выражения, объявленные в requires выражениях концепций стандартной библиотеки, должны быть equality-preserving (если не указано иное).
Смотрите также
|
(C++20)
|
определяет, что значения могут быть скопированы из
indirectly_readable
типа в
indirectly_writable
тип
(концепт) |
|
(C++20)
|
определяет, что значения могут быть перемещены из
indirectly_readable
типа в
indirectly_writable
тип и что перемещение может быть выполнено через промежуточный объект
(концепт) |