operator==(std::layout_stride::mapping)
From cppreference.com
< cpp | container | mdspan | layout stride | mapping
| template< class OtherMapping > friend constexpr bool operator==( const mapping& lhs, |
(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のマッピングを他のマッピングと比較します。(function template) | |
layout_rightのこのレイアウトマッピングを他のマッピングと比較します。(function template) | |
| (C++23) |
2つの extents の各次元における基となる範囲を比較します。(function) |