Namensräume
Varianten
Aktionen

std::layout_left::mapping

Von cppreference.com
< cpp‎ | container‎ | mdspan‎ | layout left
 
 
 
 
 
Definiert in Header <mdspan>
template< class Extents >
class layout_left::mapping;
(seit C++23)

Die Klassenvorlage layout_left::mapping steuert, wie mehrdimensionale Indizes spaltenorientiert auf einen eindimensionalen Wert abgebildet werden, der den Offset repräsentiert. Die Abbildung hat einen Schritt von 1 an der äußersten linken Erweiterung, und die Schritte erhöhen sich von links nach rechts als Produkte der Erweiterungen.

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

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

Inhalt

[edit] 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.

[edit] Member-Typen

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

[edit] Datenmember

Mitglied Definition
extents_type extents_ (private) Das Extents-Objekt
((exposition-only member object*)

[edit] Member-Funktionen

konstruiert eine neue Abbildung
(public member function) [edit]
operator=
(explizit standardmäßig)
weist eine Abbildung zu
(public member function) [edit]
Observer
erhält das Extents-Objekt
(public member function) [edit]
gibt die erforderliche Größe der Abbildung zurück
(public member function) [edit]
bildet einen mehrdimensionalen Index auf einen Offset-Wert ab
(public member function) [edit]
[static]
bestimmt, ob diese Abbildung eindeutig ist (jede Kombination von Indizes wird auf ein anderes zugrunde liegendes Element abgebildet)
(public static member function) [edit]
bestimmt, ob diese Abbildung erschöpfend ist (jedes zugrunde liegende Element kann mit einer Kombination von Indizes zugegriffen werden)
(public static member function) [edit]
[static]
bestimmt, ob diese Abbildung gestuft ist (in jeder Dimension springt das Erhöhen eines Index jedes Mal über dieselbe Anzahl zugrunde liegender Elemente)
(public static member function) [edit]
bestimmt, ob diese Layout-Abbildung immer eindeutig ist
(public static member function) [edit]
bestimmt, ob diese Layout-Abbildung immer erschöpfend ist
(public static member function) [edit]
bestimmt, ob diese Layout-Abbildung immer gestuft ist
(public static member function) [edit]
erhält den Schritt entlang der angegebenen Dimension
(öffentliche Memberfunktion) [bearbeiten]

[edit] Nicht-Member-Funktionen

vergleicht diese Layout-Abbildung von layout_left mit einer anderen Abbildung
(function template) [edit]
berechnet das Mapping und den Daten-Handle-Offset, die für subdmspan verwendet werden
(public member function) [edit]

[edit] Siehe auch

ein Layout-Mapping von layout_right
(öffentliche Member-Klassenschablone von std::layout_right)[bearbeiten]
ein Layout-Mapping von layout_stride
(öffentliche Member-Klassenschablone von std::layout_stride)[bearbeiten]