Spec-Zone.ru › C++

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

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

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

Пример

См. также

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

Spec-Zone.ru

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