Classe de base des vues multi-dimensionnelles. Plus de détails...
Types publics | |
| using | DataType = DataType_ |
| using | Extents = Extents_ |
| using | LayoutPolicy = LayoutPolicy_ |
| using | value_type = DataType |
| using | ExtentsType = Extents |
| using | ExtentIndexType = Extents::ExtentIndexType |
| using | LayoutPolicyType = LayoutPolicy |
| using | MDIndexType = typename Extents::MDIndexType |
| using | LoopIndexType = MDIndexType |
| using | ArrayExtentsWithOffsetType = ArrayExtentsWithOffset<Extents, LayoutPolicy> |
| using | DynamicDimsType = typename Extents::DynamicDimsType |
| using | RemovedFirstExtentsType = typename Extents::RemovedFirstExtentsType |
| using | ConstMDSpanType = MDSpan<const DataType, Extents, LayoutPolicy> |
| using | ArrayBoundsIndexType = typename Extents::MDIndexType |
| using | IndexType = typename Extents::MDIndexType |
Fonctions membres publiques | |
| constexpr | MDSpan (DataType *ptr, ArrayExtentsWithOffsetType extents) noexcept |
| constexpr | MDSpan (DataType *ptr, const DynamicDimsType &dims) noexcept |
| constexpr | MDSpan (const MDSpan< UnqualifiedValueType, Extents, LayoutPolicy > &rhs) noexcept |
| MDSpan (const MDSpan< DataType, Extents, LayoutPolicy > &rhs)=default | |
| constexpr | MDSpan (SmallSpan< DataType > v) noexcept |
| constexpr | MDSpan (ArrayView< UnqualifiedValueType > v) noexcept |
| constexpr | MDSpan (SmallSpan< UnqualifiedValueType > v) noexcept |
| constexpr | MDSpan (ConstArrayView< UnqualifiedValueType > v) noexcept |
| constexpr ThatClass & | operator= (SmallSpan< DataType > v) noexcept |
| constexpr ThatClass & | operator= (SmallSpan< UnqualifiedValueType > v) noexcept |
| constexpr ThatClass & | operator= (ArrayView< UnqualifiedValueType > v) noexcept |
| constexpr ThatClass & | operator= (ConstArrayView< UnqualifiedValueType > v) noexcept |
| MDSpan & | operator= (const MDSpan &v)=default |
| MDSpan & | operator= (MDSpan &&v) noexcept=default |
| constexpr DataType * | data () noexcept |
| Pointeur de base pour la mémoire allouée. | |
| constexpr const DataType * | data () const noexcept |
| Pointeur de base pour la mémoire allouée. | |
| constexpr DataType * | _internalData () |
| constexpr const DataType * | _internalData () const |
| ArrayExtents< Extents > | extents () const |
| ArrayExtentsWithOffsetType | extentsWithOffset () const |
| constexpr ExtentIndexType | extent0 () const |
| Valeur de la première dimension. | |
| constexpr ExtentIndexType | extent1 () const |
| Valeur de la deuxième dimension. | |
| constexpr ExtentIndexType | extent2 () const |
| Valeur de la troisième dimension. | |
| constexpr ExtentIndexType | extent3 () const |
| Valeur de la quatrième dimension. | |
| constexpr Int64 | offset (ExtentIndexType i, ExtentIndexType j, ExtentIndexType k, ExtentIndexType l) const |
| Valeur pour l'élément i,j,k,l. | |
| constexpr Int64 | offset (ExtentIndexType i, ExtentIndexType j, ExtentIndexType k) const |
| Valeur pour l'élément i,j,k. | |
| constexpr Int64 | offset (ExtentIndexType i, ExtentIndexType j) const |
| Valeur pour l'élément i,j. | |
| constexpr Int64 | offset (ExtentIndexType i) const |
| Valeur pour l'élément i. | |
| constexpr Int64 | offset (MDIndexType idx) const |
| Valeur pour l'élément idx. | |
| constexpr DataType & | operator() (ExtentIndexType i, ExtentIndexType j, ExtentIndexType k, ExtentIndexType l) const |
| Valeur pour l'élément i,j,k,l. | |
| constexpr DataType & | operator() (ExtentIndexType i, ExtentIndexType j, ExtentIndexType k) const |
| Valeur pour l'élément i,j,k. | |
| constexpr DataType & | operator() (ExtentIndexType i, ExtentIndexType j) const |
| Valeur pour l'élément i,j. | |
| constexpr DataType & | operator() (ExtentIndexType i) const |
| Valeur pour l'élément i. | |
| constexpr DataType | operator[] (ExtentIndexType i) const |
| Valeur pour l'élément i. | |
| constexpr DataType & | operator() (MDIndexType idx) const |
| Valeur pour l'élément idx. | |
| constexpr DataType * | ptrAt (ExtentIndexType i, ExtentIndexType j, ExtentIndexType k, ExtentIndexType l) const |
| Pointeur sur la valeur pour l'élément i,j,k. | |
| constexpr DataType * | ptrAt (ExtentIndexType i, ExtentIndexType j, ExtentIndexType k) const |
| Pointeur sur la valeur pour l'élément i,j,k. | |
| constexpr DataType * | ptrAt (ExtentIndexType i, ExtentIndexType j) const |
| Pointeur sur la valeur pour l'élément i,j. | |
| constexpr DataType * | ptrAt (ExtentIndexType i) const |
| Pointeur sur la valeur pour l'élément i. | |
| constexpr DataType * | ptrAt (MDIndexType idx) const |
| Pointeur sur la valeur pour l'élément i. | |
| __host__ __device__ MDSpan< DataType, RemovedFirstExtentsType, LayoutPolicy > | slice (ExtentIndexType i) const |
| Retourne une vue de dimension (N-1) à partir de l'élément d'indice i. | |
| constexpr MDSpan< const DataType, Extents, LayoutPolicy > | constSpan () const |
| constexpr MDSpan< const DataType, Extents, LayoutPolicy > | constMDSpan () const |
| constexpr Span< DataType > | to1DSpan () const |
| constexpr SmallSpan< DataType > | to1DSmallSpan () |
| constexpr SmallSpan< const DataType > | to1DSmallSpan () const |
| constexpr SmallSpan< const DataType > | to1DConstSmallSpan () const |
Types privés | |
| using | UnqualifiedValueType = std::remove_cv_t<DataType_> |
| using | ThatClass = MDSpan<DataType_, Extents_, LayoutPolicy_> |
Attributs privés | |
| DataType * | m_ptr = nullptr |
| ArrayExtentsWithOffsetType | m_extents |
Attributs privés statiques | |
| static constexpr bool | IsConst = std::is_const_v<DataType_> |
Amis | |
| class | NumArray< UnqualifiedValueType, Extents_, LayoutPolicy_ > |
| class | MDSpan< const UnqualifiedValueType, Extents_, LayoutPolicy_ > |
Classe de base des vues multi-dimensionnelles.
Cette classe s'inspire la classe std::mdspan en cours de définition (voir http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0009r12.html)
Cette classe est utilisée pour gérer les vues sur les tableaux tels que NumArray. Les méthodes de cette classe sont accessibles sur accélérateur.
Pour plus d'informations, se reporter à la page arcanedoc_core_types_numarray.
Définition à la ligne 42 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ArrayBoundsIndexType = typename Extents::MDIndexType |
Définition à la ligne 67 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ArrayExtentsWithOffsetType = ArrayExtentsWithOffset<Extents, LayoutPolicy> |
Définition à la ligne 62 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ConstMDSpanType = MDSpan<const DataType, Extents, LayoutPolicy> |
Définition à la ligne 65 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::DataType = DataType_ |
Définition à la ligne 53 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::DynamicDimsType = typename Extents::DynamicDimsType |
Définition à la ligne 63 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ExtentIndexType = Extents::ExtentIndexType |
Définition à la ligne 58 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::Extents = Extents_ |
Définition à la ligne 54 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ExtentsType = Extents |
Définition à la ligne 57 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::IndexType = typename Extents::MDIndexType |
Définition à la ligne 68 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::LayoutPolicy = LayoutPolicy_ |
Définition à la ligne 55 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::LayoutPolicyType = LayoutPolicy |
Définition à la ligne 59 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::LoopIndexType = MDIndexType |
Définition à la ligne 61 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::MDIndexType = typename Extents::MDIndexType |
Définition à la ligne 60 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::RemovedFirstExtentsType = typename Extents::RemovedFirstExtentsType |
Définition à la ligne 64 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
private |
Définition à la ligne 48 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
private |
Définition à la ligne 44 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::value_type = DataType |
Définition à la ligne 56 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 74 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 79 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 83 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 88 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 93 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 98 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 103 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 148 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 149 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 311 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 306 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Pointeur de base pour la mémoire allouée.
Définition à la ligne 144 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Pointeur de base pour la mémoire allouée.
Définition à la ligne 142 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur de la première dimension.
Définition à la ligne 165 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur de la deuxième dimension.
Définition à la ligne 167 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur de la troisième dimension.
Définition à la ligne 169 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur de la quatrième dimension.
Définition à la ligne 171 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inline |
Définition à la ligne 153 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inline |
Définition à la ligne 157 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i.
Définition à la ligne 196 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j.
Définition à la ligne 190 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j,k.
Définition à la ligne 183 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j,k,l.
Définition à la ligne 176 du fichier arccore/src/base/arccore/base/MDSpan.h.
Référencé par Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::operator()(), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::operator()(), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::operator()(), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::operator()(), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::operator()(), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::operator[](), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::ptrAt(), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::ptrAt(), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::ptrAt(), Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::ptrAt(), et Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::ptrAt().
|
inlineconstexpr |
Valeur pour l'élément idx.
Définition à la ligne 200 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i.
Définition à la ligne 227 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j.
Définition à la ligne 221 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j,k.
Définition à la ligne 215 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j,k,l.
Définition à la ligne 208 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément idx.
Définition à la ligne 240 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 122 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 129 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 108 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 115 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i.
Définition à la ligne 233 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i.
Définition à la ligne 268 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i,j.
Définition à la ligne 262 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i,j,k.
Définition à la ligne 255 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i,j,k.
Définition à la ligne 248 du fichier arccore/src/base/arccore/base/MDSpan.h.
Référencé par Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::slice().
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i.
Définition à la ligne 275 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inline |
Retourne une vue de dimension (N-1) à partir de l'élément d'indice i.
Par exemple :
Définition à la ligne 295 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 330 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 321 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 326 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 316 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
friend |
Définition à la ligne 1 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
friend |
Définition à la ligne 1 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
staticconstexprprivate |
Définition à la ligne 49 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
private |
Définition à la ligne 339 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
private |
Définition à la ligne 338 du fichier arccore/src/base/arccore/base/MDSpan.h.