Spec-Zone.ru › C++

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

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

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

См. также

mapping
отображение раскладки layout_right
(открытый шаблон класса-члена std::layout_right)
mapping
отображение раскладки 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

Spec-Zone.ru

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