Namespaces
Variants

std::layout_stride::mapping<Extents>:: mapping-traits

From cppreference.net
static constexpr bool is_unique ( ) noexcept ;
(1) (начиная с C++23)
constexpr bool is_exhaustive ( ) const noexcept ;
(2) (начиная с C++23)
static constexpr bool is_strided ( ) noexcept ;
(3) (начиная с C++23)
static constexpr bool is_always_unique ( ) noexcept ;
(4) (начиная с C++23)
static constexpr bool is_always_exhaustive ( ) noexcept ;
(5) (начиная с C++23)
static constexpr bool is_always_strided ( ) noexcept ;
(6) (начиная с C++23)

Каждый экземпляр каждой специализации mapping является уникальным и страйдированным.

Отображение является исчерпывающим, если выполняется одно из следующих условий true :

  • rank_ равен 0 , или
  • существует перестановка p целых чисел в диапазоне [ 0 , rank_ ) такая, что:
  • stride ( p [ 0 ] ) равно 1 и
  • stride ( p [ i ] ) равно stride ( p [ i - 1 ] ) * extents ( ) . extent ( p [ i - 1 ] )
для всех i в диапазоне [ 1 , rank_ ) , где p [ i ] является i-м ым элементом p .

( rank_ — это статическая константа-член, предназначенная только для демонстрации, определённая в std :: layout_stride :: mapping .)

Смотрите LayoutMapping для семантики этих предикатных характеристик отображения.

Содержание

Параметры

(нет)

Возвращаемое значение

1,3-4,6) true
2) true если отображение является исчерпывающим (см. выше)
5) false

Пример

Смотрите также