std::layout_right::mapping
Von cppreference.com
< cpp | container | mdspan | layout right
| Definiert in Header <mdspan> |
||
| template< class Extents > class layout_right::mapping; |
(seit C++23) | |
Die Klassenschablone layout_right::mapping steuert, wie mehrdimensionale Indizes zeilenmajorartig in einen eindimensionalen Wert abgebildet werden, der den Offset darstellt. Das Mapping hat einen Schrittfaktor von 1 am rechtesten Extent und die Schrittfaktoren erhöhen sich von rechts nach links als Produkte der Extents.
Jede Spezialisierung von mapping ist ein LayoutMapping und ein TriviallyCopyable Typ, der regular erfüllt.
Das Programm ist schlecht geformt, 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.
Inhalt |
[bearbeiten] Schablonenparameter
| Extents | - | gibt die Anzahl der Dimensionen, ihre Größen und welche zur Kompilierzeit bekannt sind, an. Muss eine Spezialisierung von std::extents sein. |
[bearbeiten] Mitgliedstypen
| Member-Name | 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_right |
[bearbeiten] Datenmember
| Mitglied | Definition |
extents_type extents_ (private) |
Das Extents-Objekt ((exposition-only member object*) |
[bearbeiten] Mitgliedsfunktionen
| konstruiert eine neue Abbildung (public member function) | |
| operator= (explizit standardmäßig) |
weist eine Abbildung zu (public member function) |
Observer | |
| erhält das Extents-Objekt (public member function) | |
| gibt die erforderliche Größe der Abbildung zurück (public member function) | |
| bildet einen mehrdimensionalen Index auf einen Offset-Wert ab (public member function) | |
| [static] |
bestimmt, ob diese Abbildung eindeutig ist (jede Kombination von Indizes wird auf ein anderes zugrunde liegendes Element abgebildet) (public static member function) |
| [static] |
bestimmt, ob diese Abbildung erschöpfend ist (jedes zugrunde liegende Element kann mit einer Kombination von Indizes zugegriffen werden) (public static member function) |
| [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) |
| [static] |
bestimmt, ob diese Layout-Abbildung immer eindeutig ist (public static member function) |
| [static] |
bestimmt, ob diese Layout-Abbildung immer erschöpfend ist (public static member function) |
| [static] |
bestimmt, ob diese Layout-Abbildung immer gestuft ist (public static member function) |
| erhält den Schritt entlang der angegebenen Dimension (öffentliche Memberfunktion) | |
[bearbeiten] Nicht-Mitgliedsfunktionen
vergleicht diese Layout-Abbildung von layout_right mit einer anderen Abbildung(function template) | |
berechnet das Mapping und den Daten-Handle-Offset, die für subdmspan verwendet werden(public member function) |
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| ein Layout-Mapping von layout_left (öffentliche Member-Klassenschablone von std::layout_left) | |
| ein Layout-Mapping von layout_stride (öffentliche Member-Klassenschablone von std::layout_stride) |