Именованные требования C++: LayoutMappingPolicy (начиная с C++23)
LayoutMappingPolicy — это тип, используемый для задания политики компоновки std::mdspan. Он предоставляет шаблон псевдонима-члена, специализация которого является типом LayoutMapping.
Требования
Тип MP удовлетворяет требованиям LayoutMappingPolicy, если приведённые ниже требования к типу выполнены:
Обозначения
| Тип | Определение |
|---|---|
MP | класс политики отображения компоновки |
M | класс отображения компоновки |
E | специализация std::extents |
Требования к типу
-
MP::mapping<E> является допустимым выражением и обозначает тип
M, удовлетворяющий требованиям LayoutMapping. -
M::layout_type является допустимым выражением и обозначает тип
MP. -
M::extents_type является допустимым выражением и обозначает тип
E.
Стандартная библиотека
Следующие типы стандартной библиотеки удовлетворяют требованиям LayoutMappingPolicy:
|
(C++23) | политика отображения компоновки многомерного массива с порядком хранения по столбцам; крайний левый размер имеет шаг 1 (класс) |
|
(C++23) | политика отображения компоновки многомерного массива с порядком хранения по строкам; крайний правый размер имеет шаг 1 (класс) |
|
(C++23) | политика отображения компоновки с пользовательскими шагами (класс) |
|
(C++26) | политика отображения компоновки с порядком хранения по столбцам и шагом заполнения, который может быть больше или равен крайнему левому размеру (шаблон класса) |
|
(C++26) | политика отображения компоновки с порядком хранения по строкам и шагом заполнения, который может быть больше или равен крайнему правому размеру (шаблон класса) |
Определённые в пространстве имён std::linalg |
|
|---|---|
|
(C++26) |
std::mdspan политика отображения компоновки, переставляющая два крайних правых индекса, размера и шага любой политики отображения компоновки с уникальным отображением (шаблон класса) |
|
(C++26) |
std::mdspan политика отображения компоновки, представляющая квадратную матрицу, в которой хранятся только элементы одной треугольной части в упакованном непрерывном формате (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/LayoutMappingPolicy