Namespaces
Variants

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

From cppreference.net
template < class OtherMapping >

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

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

基于底层维度和步长,比较两个可能具有不同布局类型的布局映射。

布局映射 lhs rhs 在满足以下所有条件时被视为相等:

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

其中 OFFSET ( rhs ) 等于:

  • rhs ( ) ,若 rhs. extents ( ) . rank ( ) 0
  • 否则为 0 ,若多维索引空间 rhs. extents ( ) 的大小为 0
  • 否则为 rhs ( z... ) ,其中整数包 z rhs. 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 - 待比较范围与步长的布局映射对象

返回值

如果 lhs rhs 均符合上述相等条件,则为 true ,否则为 false

示例

参见

比较 layout_left 的布局映射与其他映射
(函数模板)
比较 layout_right 的布局映射与其他映射
(函数模板)
(C++23)
比较两个 extents 在各维度上的底层范围
(函数)