Namensräume
Varianten
Aktionen

std::layout_stride::mapping

Von cppreference.com
 
 
 
 
 
Definiert in Header <mdspan>
template< class Extents >
class layout_stride::mapping;
(seit C++23)

Die Klassenschablone layout_stride::mapping steuert, wie mehrdimensionale Indizes mit benutzerdefinierten Strides 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 schlecht formuliert, wenn die Größe des mehrdimensionalen Indexraums Extents() nicht als Wert vom Typ Extents::index_type darstellbar ist, wenn Extents::rank_dynamic() 0 ist.

Inhalt

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

[bearbeiten] 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_stride

[bearbeiten] Member-Konstanten

Mitglied Definition
constexpr rank_type rank_ (private) [static] extents_type::rank()
((exposition-only static member constant*)

[bearbeiten] Datenmember

Mitglied Definition
extents_type extents_ (private) Das Extents-Objekt
((exposition-only member object*)
std::array<index_type, rank_> strides_ (private) das Array der Strides
((exposition-only member object*)

[bearbeiten] 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]
erhält das Array der Strides
(public member function) [bearbeiten]
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 member function) [bearbeiten]
[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]

[bearbeiten] Nicht-Member-Funktionen

vergleicht diese Layout-Abbildung von layout_stride 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]

[bearbeiten] Siehe auch

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