Namensräume
Varianten
Aktionen

std::layout_stride::mapping<Extents>::mapping-traits

Von cppreference.com
< cpp‎ | container‎ | mdspan‎ | layout stride‎ | mapping
 
 
 
 
 
static constexpr bool is_unique() noexcept;
(1) (seit C++23)
constexpr bool is_exhaustive() const noexcept;
(2) (seit C++23)
static constexpr bool is_strided() noexcept;
(3) (seit C++23)
static constexpr bool is_always_unique() noexcept;
(4) (seit C++23)
static constexpr bool is_always_exhaustive() noexcept;
(5) (seit C++23)
static constexpr bool is_always_strided() noexcept;
(6) (seit C++23)

Jede Instanz jeder Spezialisierung von mapping ist eindeutig und gestreift.

Das Mapping ist erschöpfend, wenn eine der folgenden Bedingungen wahr ist.

  • rank_ ist 0, oder
  • es existiert eine Permutation p der ganzen Zahlen im Bereich [0rank_), so dass
  • stride(p[0]) gleich 1 ist und
  • stride(p[i]) gleich stride(p[i - 1]) * extents().extent(p[i - 1]) ist
für alle i im Bereich [1rank_), wobei p[i] das i-te Element von p ist.

(rank_ ist eine expositions-nur statische Member-Konstante, definiert in std::layout_stride::mapping.)

Siehe LayoutMapping für die Semantik dieser prädikativen Mapping-Traits.

Inhalt

[bearbeiten] Parameter

(keine)

[bearbeiten] Rückgabewert

1,3-4,6) wahr
2) wahr, wenn das Mapping erschöpfend ist (siehe oben)
5) falsch

[bearbeiten] Beispiel

[bearbeiten] Siehe auch