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) |
|
[static]
|
retourne le rang dynamique d'un
extents
(fonction membre statique publique) |
|
[static]
|
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* ) |
|
|
(privé)
|
retourne le nombre d'étendues dynamiques en dessous d'un certain index de rang
( fonction membre d'exposition uniquement* ) |
|
(privé)
|
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
|
Cette section est incomplète
Raison : aucun 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) |