std::layout_left::mapping
Определён в заголовочном файле <mdspan> | ||
|---|---|---|
template< class Extents > class layout_left::mapping; | (начиная с C++23) |
Шаблон класса layout_left::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_left |
Члены-данные
| Член | Определение |
|---|---|
extents_type extents_ (закрытый) | объект экстентов (член-объект только для описания) |
Функции-члены
| создаёт новое отображение (открытая функция-член) |
|
|
operator=
(явно используемая реализация по умолчанию) | присваивает отображение (открытая функция-член) |
Наблюдатели |
|
| получает объект экстентов (открытая функция-член) |
|
| возвращает требуемый размер отображения (открытая функция-член) |
|
| отображает многомерный индекс в значение смещения (открытая функция-член) |
|
|
[статический] | определяет, является ли это отображение уникальным (каждая комбинация индексов отображается на отдельный базовый элемент) (открытая статическая функция-член) |
|
[статический] | определяет, является ли это отображение исчерпывающим (к каждому базовому элементу можно обратиться с помощью некоторой комбинации индексов) (открытая статическая функция-член) |
|
[статический] | определяет, является ли это отображение страйдированным (в каждом измерении увеличение индекса каждый раз пропускает одно и то же число базовых элементов) (открытая статическая функция-член) |
|
[статический] | определяет, всегда ли это отображение раскладки является уникальным (открытая статическая функция-член) |
|
[статический] | определяет, всегда ли это отображение раскладки является исчерпывающим (открытая статическая функция-член) |
|
[статический] | определяет, всегда ли это отображение раскладки является страйдированным (открытая статическая функция-член) |
| получает шаг вдоль указанного измерения (открытая функция-член) |
|
Функции, не являющиеся членами
сравнивает это отображение раскладки layout_left с другим отображением (шаблон функции) |
|
|
(C++26) | вычисляет отображение и смещение дескриптора данных, используемые для subdmspan (открытая функция-член) |
См. также
отображение раскладки layout_right(открытый шаблон класса-члена std::layout_right) |
|
отображение раскладки 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_left/mapping