Namespaces
Variants

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

From cppreference.net
Défini dans l'en-tête <mdspan>
template < class IndexType, std:: size_t ... Extents >
class extents ;
(1) (depuis C++23)
template < class IndexType, std:: size_t Rank >
using dextents = /* voir ci-dessous */
(2) (depuis C++23)
template < std:: size_t Rank, class IndexType = std:: size_t >
using dims = std :: dextents < IndexType, Rank > ;
(3) (depuis C++26)
1) Représente un espace d'index multidimensionnel de rang égal à sizeof... ( Extents ) .
2) Un alias template pratique pour un extents entièrement dynamique. Soit d désignant std:: dynamic_extent , chaque spécialisation de dextents < IndexType, Rank > est équivalente à extents < IndexType /*, d, d, ..., d*/ < (c'est-à-dire que d est répété un total de Rank fois).
3) Un alias template pratique pour un extents entièrement dynamique avec std:: size_t comme type d'index par défaut.

Chaque spécialisation de extents modélise regular et est TriviallyCopyable .

Table des matières

Paramètres du modèle

IndexType - le type de chaque dimension non dynamique Extents . Doit être un type entier signé ou non signé. Sinon, le programme est mal formé
Extents - représente l'étendue (taille d'un intervalle entier) pour chaque rang d'index. Chaque élément est soit égal à std:: dynamic_extent (dans ce cas, il représente une étendue dynamique et la taille de l'étendue sera déterminée dynamiquement), soit peut être représenté comme une valeur de type IndexType (alors il représente une étendue statique et la taille de l'étendue est simplement sa valeur), sinon le programme est mal formé
Rank - désigne le rang d'un extents entièrement dynamique

Types membres

Type de membre Définition
index_type IndexType
size_type std:: make_unsigned_t < index_type >
rank_type std::size_t

Membres de données

Nom du membre Définition
std:: array < index_type, rank_dynamic ( ) > dynamic-extents (privé) Un tableau qui stocke la taille de chaque dimension dynamique.
( objet membre d'exposition uniquement* )

Fonctions membres

construit un extents
(fonction membre publique)
Observateurs
[static]
retourne le rang statique d'un extents
(fonction membre statique publique)
retourne le rang dynamique d'un extents
(fonction membre statique publique)
retourne la taille d'étendue statique d'un extents à un certain index de rang
(fonction membre statique publique)
retourne la taille d'étendue dynamique d'un extents à un certain index de rang
(fonction membre publique)
Aides
retourne le produit des tailles d'étendue dans l'intervalle [ 0 , i )
( fonction membre d'exposition uniquement* )
retourne le produit des tailles d'étendue dans l'intervalle [ i + 1 , rank ( ) )
( fonction membre d'exposition uniquement* )
convertit l'entrée en un type entier
( fonction membre d'exposition uniquement* )
retourne le nombre d'étendues dynamiques en dessous d'un certain index de rang
( fonction membre d'exposition uniquement* )
retourne le nombre r tel que dans l'intervalle [ 0 , r + 1 ) il y a exactement i + 1 étendues dynamiques pour un certain argument i
( fonction membre d'exposition uniquement* )

Fonctions non membres

(C++23)
compare les dimensions sous-jacentes dans chaque dimension de deux extents
(fonction)

Guides de déduction (C++23)

Exemple

Voir aussi

(C++11)
obtient le nombre de dimensions d'un type tableau
(modèle de classe)
(C++11)
obtient la taille d'un type tableau selon une dimension spécifiée
(modèle de classe)