Spec-Zone.ru › C++

std::layout_stride::mapping

Определён в заголовочном файле <mdspan>
template< class Extents >
class layout_stride::mapping;
(начиная с C++23)

Шаблон класса layout_stride::mapping управляет отображением многомерных индексов с пользовательскими шагами на одномерное значение, представляющее смещение.

Каждая специализация mapping является типом LayoutMapping и TriviallyCopyable, удовлетворяющим требованиям regular.

Программа некорректна, если размер многомерного пространства индексов Extents() нельзя представить значением типа Extents::index_type, когда Extents::rank_dynamic() равно 0.

Параметры шаблона

Extents - задаёт количество измерений, их размеры и то, какие из них известны во время компиляции. Должен быть специализацией std::extents.

Типы-члены

Тип-член Определение
extents_type Extents
index_type extents_type::index_type
size_type extents_type::size_type
rank_type extents_type::rank_type
layout_type std::layout_stride

Константы-члены

Член Определение
constexprrank_type rank_ (закрытый) [статический] extents_type::rank()
(статическая константа-член, используемая только для иллюстрации*)

Члены-данные

Член Определение
extents_type extents_ (закрытый) объект экстентов
(объект-член, используемый только для иллюстрации*)
std::array<index_type,rank_> strides_ (закрытый) массив шагов
(объект-член, используемый только для иллюстрации*)

Функции-члены

(конструктор)
создаёт новое отображение
(открытая функция-член)
operator=
(явно задан по умолчанию)
присваивает отображение
(открытая функция-член)
Наблюдатели
extents
получает объект экстентов
(открытая функция-член)
strides
получает массив шагов
(открытая функция-член)
required_span_size
возвращает требуемый размер отображения
(открытая функция-член)
operator()
отображает многомерный индекс в значение смещения
(открытая функция-член)
is_unique
[статический]
определяет, является ли это отображение уникальным (каждая комбинация индексов отображается на отдельный базовый элемент)
(открытая статическая функция-член)
is_exhaustive
определяет, является ли это отображение полным (к каждому базовому элементу можно обратиться с помощью некоторой комбинации индексов)
(открытая функция-член)
is_strided
[статический]
определяет, является ли это отображение пошаговым (в каждом измерении увеличение индекса каждый раз пропускает одинаковое количество базовых элементов)
(открытая статическая функция-член)
is_always_unique
[статический]
определяет, всегда ли это отображение макета уникально
(открытая статическая функция-член)
is_always_exhaustive
[статический]
определяет, всегда ли это отображение макета является полным
(открытая статическая функция-член)
is_always_strided
[статический]
определяет, всегда ли это отображение макета является пошаговым
(открытая статическая функция-член)
stride
получает шаг в указанном измерении
(открытая функция-член)

Функции, не являющиеся членами

operator==
сравнивает это отображение макета layout_stride с другим отображением
(шаблон функции)
submdspan_mapping(std::layout_stride::mapping)
(C++26)
вычисляет отображение и смещение дескриптора данных, используемые для subdmspan
(открытая функция-член)

См. также

mapping
отображение макета layout_left
(открытый шаблон класса-члена std::layout_left)
mapping
отображение макета layout_right
(открытый шаблон класса-члена std::layout_right)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/mdspan/layout_stride/mapping

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API