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 считаются равными, если все следующие условия 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
(функция)