Namespaces
Variants

std::layout_stride:: mapping

From cppreference.net
Défini dans l'en-tête <mdspan>
template < class Extents >
class layout_stride :: mapping ;
(depuis C++23)

Le modèle de classe layout_stride::mapping contrôle la manière dont les indices multidimensionnels sont mappés avec des strides définis par l'utilisateur vers une valeur unidimensionnelle représentant le décalage.

Chaque spécialisation de mapping est un LayoutMapping et un type TriviallyCopyable qui satisfait le concept regular .

Le programme est mal formé si la taille de l'espace d'index multidimensionnel Extents ( ) n'est pas représentable comme une valeur de type Extents :: index_type lorsque Extents :: rank_dynamic ( ) est 0 .

Table des matières

Paramètres du modèle

Extents - spécifie le nombre de dimensions, leurs tailles, et celles qui sont connues à la compilation. Doit être une spécialisation de std::extents .

Types membres

Type de membre Définition
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

Constantes membres

Membre Définition
constexpr rank_type rank_ (privé) [statique] extents_type :: rank ( )
( constante de membre statique d'exposition uniquement* )

Membres de données

Membre Définition
extents_type extents_ (privé) l'objet d'étendues
( objet membre d'exposition uniquement* )
std:: array < index_type, rank_ > strides_ (privé) le tableau de pas
( objet membre d'exposition uniquement* )

Fonctions membres

construit un nouveau mapping
(fonction membre publique)
operator=
(explicitement par défaut)
assigne un mapping
(fonction membre publique)
Observateurs
obtient l'objet extents
(fonction membre publique)
obtient le tableau de strides
(fonction membre publique)
retourne la taille requise du mapping
(fonction membre publique)
mappe un index multidimensionnel en une valeur d'offset
(fonction membre publique)
[static]
détermine si ce mapping est unique (chaque combinaison d'indices mappe vers un élément sous-jacent différent)
(fonction membre statique publique)
détermine si ce mapping est exhaustif (chaque élément sous-jacent peut être accédé avec une certaine combinaison d'indices)
(fonction membre publique)
[static]
détermine si ce mapping est strided (dans chaque dimension, incrémenter un index saute le même nombre d'éléments sous-jacents à chaque fois)
(fonction membre statique publique)
détermine si ce layout mapping est toujours unique
(fonction membre statique publique)
détermine si ce layout mapping est toujours exhaustif
(fonction membre statique publique)
détermine si ce layout mapping est toujours strided
(fonction membre statique publique)
obtient le stride le long de la dimension spécifiée
(fonction membre publique)

Fonctions non membres

compare cette disposition de mappage de layout_stride avec un autre mappage
(modèle de fonction)
calcule le mappage et le décalage du gestionnaire de données utilisé pour subdmspan
(fonction membre publique)

Voir aussi

un mapping de disposition de layout_left
(classe template membre public de std::layout_left )
un mapping de disposition de layout_right
(classe template membre public de std::layout_right )