Namespaces
Variants

std::layout_left:: mapping

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

Die Klassenvorlage layout_left::mapping steuert, wie mehrdimensionale Indizes in spaltenweiser Anordnung auf einen eindimensionalen Wert abgebildet werden, der den Offset repräsentiert. Die Abbildung hat Stride 1 bei der äußersten linken Dimension, und die Strides nehmen von links nach rechts als Produkte der Dimensionen zu.

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 welche zur Kompilierzeit bekannt sind an. 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_left

Datenmitglieder

Mitglied Definition
extents_type extents_ (privat) das Extents-Objekt
( Nur-Darstellungs-Mitgliedsobjekt* )

Memberfunktionen

Konstruiert eine neue Mapping-Instanz
(öffentliche Elementfunktion)
operator=
(explizit voreingestellt)
weist ein Mapping zu
(öffentliche Elementfunktion)
Beobachter
liefert das Extents-Objekt
(öffentliche Elementfunktion)
gibt die erforderliche Größe des Mappings zurück
(öffentliche Elementfunktion)
bildet einen mehrdimensionalen Index auf einen Offset-Wert ab
(öffentliche Elementfunktion)
[static]
bestimmt, ob dieses Mapping eindeutig ist (jede Kombination von Indizes bildet auf ein anderes zugrundeliegendes Element ab)
(öffentliche statische Elementfunktion)
bestimmt, ob dieses Mapping erschöpfend ist (jedes zugrundeliegende Element kann mit einer Kombination von Indizes erreicht werden)
(öffentliche statische Elementfunktion)
[static]
bestimmt, ob dieses Mapping gestridet ist (in jeder Dimension überspringt das Inkrementieren eines Indexes jedes Mal die gleiche Anzahl zugrundeliegender Elemente)
(öffentliche statische Elementfunktion)
bestimmt, ob dieses Layout-Mapping immer eindeutig ist
(öffentliche statische Elementfunktion)
bestimmt, ob dieses Layout-Mapping immer erschöpfend ist
(öffentliche statische Elementfunktion)
bestimmt, ob dieses Layout-Mapping immer gestridet ist
(öffentliche statische Elementfunktion)
ermittelt die Schrittweite entlang der angegebenen Dimension
(öffentliche Elementfunktion)

Nicht-Member-Funktionen

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

Siehe auch

eine Layout-Abbildung von layout_right
(öffentliche Mitgliedsklassen-Template von std::layout_right )
eine Layout-Abbildung von layout_stride
(öffentliche Mitgliedsklassen-Template von std::layout_stride )