std::layout_right::mapping
Определён в заголовочном файле <mdspan> | ||
|---|---|---|
template< class Extents > class layout_right::mapping; | (начиная с C++23) |
Шаблон класса layout_right::mapping управляет отображением многомерных индексов в одномерное значение смещения в построчном порядке. Для крайнего правого измерения шаг равен 1, а шаги увеличиваются справа налево как произведения размеров измерений.
Каждая специализация 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_right |
Члены-данные
| Член | Определение |
|---|---|
extents_type extents_ (закрытый) | объект размеров (объект-член, используемый только для экспозиции*) |
Функции-члены
| создаёт новое отображение (открытая функция-член) |
|
|
operator=
(явно заданная по умолчанию) | присваивает отображение (открытая функция-член) |
Наблюдатели |
|
| получает объект размеров (открытая функция-член) |
|
| возвращает требуемый размер отображения (открытая функция-член) |
|
| отображает многомерный индекс в значение смещения (открытая функция-член) |
|
|
[статическая] | определяет, является ли это отображение уникальным (каждое сочетание индексов отображается на отдельный базовый элемент) (открытая статическая функция-член) |
|
[статическая] | определяет, является ли это отображение исчерпывающим (к каждому базовому элементу можно обратиться с помощью некоторого сочетания индексов) (открытая статическая функция-член) |
|
[статическая] | определяет, является ли это отображение страйдовым (в каждом измерении увеличение индекса каждый раз пропускает одинаковое количество базовых элементов) (открытая статическая функция-член) |
|
[статическая] | определяет, всегда ли это отображение макета является уникальным (открытая статическая функция-член) |
|
[статическая] | определяет, всегда ли это отображение макета является исчерпывающим (открытая статическая функция-член) |
|
[статическая] | определяет, всегда ли это отображение макета является страйдовым (открытая статическая функция-член) |
| получает шаг вдоль указанного измерения (открытая функция-член) |
|
Функции, не являющиеся членами
сравнивает это отображение макета layout_right с другим отображением (шаблон функции) |
|
|
(C++26) | вычисляет отображение и смещение дескриптора данных, используемые для subdmspan (открытая функция-член) |
Пример
См. также
отображение макета layout_left(открытый шаблон класса-члена std::layout_left) |
|
отображение макета layout_stride(открытый шаблон класса-члена std::layout_stride) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/mdspan/layout_right/mapping