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以降)

異なるレイアウトタイプを持つ可能性のある2つのレイアウトマッピングを、それらの基盤となるエクステントとストライドに基づいて比較します。

レイアウトマッピング lhs rhs は、以下の条件のすべてが true の場合に等しいと比較されます:

  • 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 - 比較するエクステントとストライドを持つレイアウトマッピング

戻り値

true lhs rhs が上記で指定された通りに等しい場合、 false がそれ以外の場合

関連項目

layout_left のレイアウトマッピングを他のマッピングと比較する
(関数テンプレート)
layout_right のレイアウトマッピングを他のマッピングと比較する
(関数テンプレート)
(C++23)
2つの extents の各次元における基盤となる範囲を比較する
(関数)