Namespaces
Variants

std::layout_stride:: mapping

From cppreference.net
Definiert im Header <mdspan>
template < class Extents >
class layout_stride :: mapping ;
(seit C++23)

Die Klassenvorlage layout_stride::mapping steuert, wie mehrdimensionale Indizes mit benutzerdefinierten Schritten auf einen eindimensionalen Wert abgebildet werden, der den Offset repräsentiert.

Jede Spezialisierung von mapping ist ein LayoutMapping und ein TriviallyCopyable Typ, der regular erfüllt.

Das Programm ist fehlerhaft, wenn die Größe des mehrdimensionalen Indexraums Extents ( ) nicht als Wert des Typs Extents :: index_type darstellbar ist, wenn Extents :: rank_dynamic ( ) gleich 0 ist.

Inhaltsverzeichnis

Template-Parameter

Extents - gibt die Anzahl der Dimensionen, ihre Größen und an, welche zur Kompilierzeit bekannt sind. Muss eine Spezialisierung von std::extents sein.

Mitgliedertypen

Mitgliedertyp Definition
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_stride

Member-Konstanten

Mitglied Definition
constexpr rank_type rank_ (privat) [statisch] extents_type :: rank ( )
( Nur zur Darstellung verwendete statische Mitgliedskonstante* )

Datenmitglieder

Member Definition
extents_type extents_ (privat) das Extents-Objekt
( Nur-Darstellungs-Memberobjekt* )
std:: array < index_type, rank_ > strides_ (privat) das Array von Strides
( Nur-Darstellungs-Memberobjekt* )

Memberfunktionen

konstruiert eine neue Abbildung
(öffentliche Elementfunktion)
operator=
(explizit voreingestellt)
weist eine Abbildung zu
(öffentliche Elementfunktion)
Beobachter
erhält das Extent-Objekt
(öffentliche Elementfunktion)
erhält das Array von Strides
(öffentliche Elementfunktion)
gibt die erforderliche Größe der Abbildung zurück
(öffentliche Elementfunktion)
bildet einen multidimensionalen Index auf einen Offset-Wert ab
(öffentliche Elementfunktion)
[static]
bestimmt, ob diese Abbildung eindeutig ist (jede Kombination von Indizes bildet auf ein anderes zugrundeliegendes Element ab)
(öffentliche statische Elementfunktion)
bestimmt, ob diese Abbildung erschöpfend ist (jedes zugrundeliegende Element kann mit einer Kombination von Indizes erreicht werden)
(öffentliche Elementfunktion)
[static]
bestimmt, ob diese Abbildung gestridet ist (in jeder Dimension überspringt das Inkrementieren eines Index jedes Mal die gleiche Anzahl zugrundeliegender Elemente)
(öffentliche statische Elementfunktion)
bestimmt, ob diese Layout-Abbildung immer eindeutig ist
(öffentliche statische Elementfunktion)
bestimmt, ob diese Layout-Abbildung immer erschöpfend ist
(öffentliche statische Elementfunktion)
bestimmt, ob diese Layout-Abbildung immer gestridet ist
(öffentliche statische Elementfunktion)
erhält den Stride entlang der angegebenen Dimension
(öffentliche Elementfunktion)

Nicht-Member-Funktionen

vergleicht dieses Layout-Mapping von layout_stride mit anderem Mapping
(Funktions-Template)
berechnet das Mapping und den Data-Handle-Offset für subdmspan
(öffentliche Elementfunktion)

Siehe auch

eine Layout-Zuordnung von layout_left
(öffentliche Mitgliedsklassen-Template von std::layout_left )
eine Layout-Zuordnung von layout_right
(öffentliche Mitgliedsklassen-Template von std::layout_right )