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=
(явно задан по умолчанию) | присваивает отображение (открытая функция-член) |
Наблюдатели |
|
| получает объект экстентов (открытая функция-член) |
|
| получает массив шагов (открытая функция-член) |
|
| возвращает требуемый размер отображения (открытая функция-член) |
|
| отображает многомерный индекс в значение смещения (открытая функция-член) |
|
|
[статический] | определяет, является ли это отображение уникальным (каждая комбинация индексов отображается на отдельный базовый элемент) (открытая статическая функция-член) |
| определяет, является ли это отображение полным (к каждому базовому элементу можно обратиться с помощью некоторой комбинации индексов) (открытая функция-член) |
|
|
[статический] | определяет, является ли это отображение пошаговым (в каждом измерении увеличение индекса каждый раз пропускает одинаковое количество базовых элементов) (открытая статическая функция-член) |
|
[статический] | определяет, всегда ли это отображение макета уникально (открытая статическая функция-член) |
|
[статический] | определяет, всегда ли это отображение макета является полным (открытая статическая функция-член) |
|
[статический] | определяет, всегда ли это отображение макета является пошаговым (открытая статическая функция-член) |
| получает шаг в указанном измерении (открытая функция-член) |
|
Функции, не являющиеся членами
сравнивает это отображение макета layout_stride с другим отображением (шаблон функции) |
|
|
(C++26) | вычисляет отображение и смещение дескриптора данных, используемые для subdmspan (открытая функция-член) |
См. также
отображение макета layout_left(открытый шаблон класса-члена std::layout_left) |
|
отображение макета 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