命名空间
变体
操作

operator==(std::layout_stride::mapping)

来自 cppreference.cn
< cpp‎ | 容器‎ | mdspan‎ | layout_stride‎ | mapping
 
 
 
 
 
template< class OtherMapping >

friend constexpr bool operator==( const mapping& lhs,

                                  const OtherMapping& rhs ) noexcept;
(C++23 起)

根据其底层范围和步幅,比较两个可能不同布局类型的布局映射。

如果以下所有条件均为 true,则布局映射 lhsrhs 相等

  • lhs.extents()rhs.extents() 都相等,
  • OFFSET(rhs) 等于 0,并且
  • 对于范围 [0lhs.extents().rank()) 中的每个秩索引 rlhs.stride(r) 等于 rhs.stride(r)

其中 OFFSET(rhs) 等于

  • rhs(),如果 rhs.extents().rank()0
  • 否则 0,如果多维索引空间 rhs.extents() 的大小为 0
  • 否则 rhs(z...),其中整数包 zrhs.extents() 中的一个多维索引,并且 z 的每个元素都等于 0

此重载仅在满足以下所有约束时参与重载决议

  • layout-mapping-alike <OtherMapping> 满足,
  • rank_ == OtherMapping::extents_type::rank()true,并且
  • OtherMapping::is_always_strided()true

rank_std::layout_stride::mapping 中定义的仅用于解释的静态成员常量。)

如果 OtherMapping 不满足 LayoutMapping 要求,则行为未定义。

目录

[编辑] 参数

lhs, rhs - 要比较其范围和步幅的布局映射

[编辑] 返回值

如果 lhsrhs 都如上述指定相等,则为 true,否则为 false

[编辑] 示例

[编辑] 另请参阅

将此 layout_left 的布局映射与其他映射进行比较
(函数模板) [编辑]
比较此 layout_right 的布局映射与另一个映射
(函数模板) [编辑]
比较两个 extents 在每个维度上的底层范围
(函数) [编辑]