operator==(std::layout_stride::mapping)
template< class OtherMapping >
friend constexpr bool operator==( const mapping& lhs,
const OtherMapping& rhs ) noexcept;
| (с C++23) |
Сравнивает два отображения компоновки, возможно, разных типов компоновки на основе их размеров и шагов.
Отображения компоновки lhs и rhs равны, если выполняются true все следующие условия:
- оба
lhs.extents()иrhs.extents()равны, -
OFFSET(rhs)равно0, и - для каждого индекса размерности
rв диапазоне[0,lhs.extents().rank()),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) | сравнивает размеры в каждом измерении двух extents (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/mdspan/layout_stride/mapping/operator%3D%3D