命名空间
变体
操作

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

来自 cppreference.cn
< cpp‎ | container‎ | mdspan‎ | layout stride‎ | mapping
 
 
 
 
 
template< class OtherMapping >

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

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

比较两个可能具有不同布局类型的布局映射,基于它们的基础范围和步幅。

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

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

其中 OFFSET(rhs) 等于

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

仅当满足以下所有约束时,此重载才参与重载解析

  • 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 的每个维度中的底层范围
(函数) [编辑]