std::indirectly_swappable
来自cppreference.com
<tbody>
</tbody>
| 在标头 <iterator> 定义
|
||
template< class I1, class I2 = I1 > concept indirectly_swappable = std::indirectly_readable<I1> && std::indirectly_readable<I2> && requires( const I1 i1, const I2 i2 ) { ranges::iter_swap(i1, i1); ranges::iter_swap(i1, i2); ranges::iter_swap(i2, i1); ranges::iter_swap(i2, i2); }; |
(C++20 起) | |
概念 indirectly_swappable 指定对于各自实现 std::indirectly_readable 的两个类型间的关系,其中能交换其所引用的类型。
语义要求
I1 与 I2 实现 indirectly_swappable 的条件为,其所蕴含的概念均得到实现。
相等性保持
标准库概念的 requires 表达式中声明的表达式都要求保持相等性(除非另外说明)。
参阅
(C++20) |
指定类型通过应用运算符 * 可读 (概念) |
(C++20) |
交换两个可解引用对象所引用的值 (定制点对象) |