std::indirectly_movable_storable

< cpp‎ | iterator
在标头 <iterator> 定义
template< class In, class Out >

concept indirectly_movable_storable =
    std::indirectly_movable<In, Out> &&
    std::indirectly_writable<Out, std::iter_value_t<In>> &&
    std::movable<std::iter_value_t<In>> &&
    std::constructible_from<std::iter_value_t<In>, std::iter_rvalue_reference_t<In>> &&

    std::assignable_from<std::iter_value_t<In>&, std::iter_rvalue_reference_t<In>>;
(C++20 起)

indirectly_movable_storable 概念指定 indirectly_readableindirectly_writable 类型间的关系。在 indirectly_movable 之外,此概念还指定可以通过中间对象进行从 indirectly_readable 类型的移动。

语义要求

给定 In 类型的可解引用值 i,仅当满足以下条件,InOut 实现 std::indirectly_movable_storable<In, Out>

相等性保持

标准库概念的 requires 表达式中声明的表达式都要求保持相等性(除非另外说明)。

参阅

指定可从 indirectly_readable 类型移动值给 indirectly_writable 类型
(概念)
指定可从 indirectly_readable 类型复制值给 indirectly_writable 类型,且该复制可以通过中间对象进行
(概念)