operator==(std::layout_stride::mapping)
來自 cppreference.com
< cpp | 容器 | mdspan | layout_stride | mapping
template< class OtherMapping > friend constexpr bool operator==( const mapping& lhs, |
(C++23 起) | |
根據其底層範圍和步幅,比較兩個可能不同佈局型別的佈局對映。
如果以下所有條件均為 true,則佈局對映 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 在每個維度上的底層範圍(函式) |