Namespaces
Variants

std:: extents, std:: dextents, std:: dims

From cppreference.net
Definiert im Header <mdspan>
template < class IndexType, std:: size_t ... Extents >
class extents ;
(1) (seit C++23)
template < class IndexType, std:: size_t Rank >
using dextents = /* siehe unten */
(2) (seit C++23)
template < std:: size_t Rank, class IndexType = std:: size_t >
using dims = std :: dextents < IndexType, Rank > ;
(3) (seit C++26)
1) Repräsentiert einen mehrdimensionalen Indexraum mit einem Rang gleich sizeof... ( Extents ) .
2) Ein praktisches Alias-Template für eine vollständig dynamische extents . Sei d für std:: dynamic_extent , jede Spezialisierung davon dextents < IndexType, Rank > ist äquivalent zu extents < IndexType /*, d, d, ..., d*/ > (d.h. d wird insgesamt Rank Mal wiederholt).
3) Eine praktische Alias-Vorlage für eine vollständig dynamische extents mit std:: size_t als Standard-Indextyp.

Jede Spezialisierung von extents modelliert regular und ist TriviallyCopyable .

Inhaltsverzeichnis

Template-Parameter

IndexType - der Typ jedes nicht-dynamischen Extents . Soll ein vorzeichenbehafteter oder vorzeichenloser Ganzzahltyp sein. Andernfalls ist das Programm fehlerhaft
Extents - repräsentiert die Extent (Größe eines ganzzahligen Intervalls) für jeden Rangindex. Jedes Element davon ist entweder gleich std:: dynamic_extent (in diesem Fall repräsentiert es einen dynamischen Extent und die Extent-Größe wird dynamisch bestimmt), oder ist als Wert vom Typ IndexType darstellbar (dann repräsentiert es einen statischen Extent und die Extent-Größe ist genau sein Wert), andernfalls ist das Programm fehlerhaft
Rank - bezeichnet den Rang eines vollständig dynamischen extents

Mitgliedertypen

Mitgliedertyp Definition
index_type IndexType
size_type std:: make_unsigned_t < index_type >
rank_type std::size_t

Datenmitglieder

Mitgliedername Definition
std:: array < index_type, rank_dynamic ( ) > dynamic-extents (privat) Ein Array, das die Größe jedes dynamischen Extents speichert.
( Nur zur Darstellung verwendetes Mitgliedsobjekt* )

Memberfunktionen

konstruiert ein extents
(öffentliche Member-Funktion)
Beobachter
[static]
gibt den statischen Rang eines extents zurück
(öffentliche statische Member-Funktion)
gibt den dynamischen Rang eines extents zurück
(öffentliche statische Member-Funktion)
gibt die statische Extent-Größe eines extents an einem bestimmten Rang-Index zurück
(öffentliche statische Member-Funktion)
gibt die dynamische Extent-Größe eines extents an einem bestimmten Rang-Index zurück
(öffentliche Member-Funktion)
Hilfsfunktionen
gibt das Produkt der Extent-Größen im Bereich [ 0 , i ) zurück
( Nur zur Darstellung verwendete Member-Funktion* )
gibt das Produkt der Extent-Größen im Bereich [ i + 1 , rank ( ) ) zurück
( Nur zur Darstellung verwendete Member-Funktion* )
konvertiert die Eingabe in einen Integer-Typ
( Nur zur Darstellung verwendete Member-Funktion* )
gibt die Anzahl der dynamischen Extents unter einem bestimmten Rang-Index zurück
( Nur zur Darstellung verwendete Member-Funktion* )
gibt die Zahl r zurück, so dass im Bereich [ 0 , r + 1 ) genau i + 1 dynamische Extents für ein bestimmtes Argument i vorhanden sind
( Nur zur Darstellung verwendete Member-Funktion* )

Nicht-Member-Funktionen

(C++23)
vergleicht die zugrundeliegenden Extents in jeder Dimension von zwei extents
(Funktion)

Ableitungsleitfäden (C++23)

Beispiel

Siehe auch

(C++11)
ermittelt die Anzahl der Dimensionen eines Array-Typs
(Klassen-Template)
(C++11)
ermittelt die Größe eines Array-Typs entlang einer bestimmten Dimension
(Klassen-Template)