std::layout_stride::mapping<Extents>::свойства отображения
static constexpr bool is_unique() noexcept; | (1) | (с C++23) |
constexpr bool is_exhaustive() const noexcept; | (2) | (с C++23) |
static constexpr bool is_strided() noexcept; | (3) | (с C++23) |
static constexpr bool is_always_unique() noexcept; | (4) | (с C++23) |
static constexpr bool is_always_exhaustive() noexcept; | (5) | (с C++23) |
static constexpr bool is_always_strided() noexcept; | (6) | (с C++23) |
Каждый экземпляр каждой специализации mapping является уникальным и страйдовым.
Отображение является исчерпывающим, если выполняется одно из следующих условий true:
-
rank_равно0, или - существует перестановка
pцелых чисел в диапазоне[0,rank_), такая что:
-
stride(p[0])равно1, и -
stride(p[i])равноstride(p[i - 1]) * extents().extent(p[i - 1])
-
- для всех
iв[1,rank_), гдеp[i]является i-м элементомp.
(rank_ — статическая константа-член, определённая только для описания в std::layout_stride::mapping.)
Семантика этих предикатных свойств отображения описана в разделе LayoutMapping.
Параметры
(нет)
Возвращаемое значение
1,3-4,6)
true
2)
true, если отображение является исчерпывающим (см. выше)
5)
false
Пример
См. также
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/mdspan/layout_stride/mapping/mapping_traits