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,l. | |
| 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 |
| constexpr auto | toSmallSpan () |
| Vue 1D ou 2D sur l'instance (seulement si rank == 1 ou rank == 2). | |
| constexpr auto | toSmallSpan () const |
| Vue 1D ou 2D constante sur l'instance (seulement si rank == 1 ou rank == 2). | |
| constexpr auto | toConstSmallSpan () const |
| Vue 1D ou 2D constante sur l'instance (seulement si rank == 1 ou rank == 2). | |
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 43 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ArrayBoundsIndexType = typename Extents::MDIndexType |
Définition à la ligne 68 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ArrayExtentsWithOffsetType = ArrayExtentsWithOffset<Extents, LayoutPolicy> |
Définition à la ligne 63 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 66 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::DataType = DataType_ |
Définition à la ligne 54 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::DynamicDimsType = typename Extents::DynamicDimsType |
Définition à la ligne 64 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ExtentIndexType = Extents::ExtentIndexType |
Définition à la ligne 59 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::Extents = Extents_ |
Définition à la ligne 55 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::ExtentsType = Extents |
Définition à la ligne 58 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::IndexType = typename Extents::MDIndexType |
Définition à la ligne 69 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::LayoutPolicy = LayoutPolicy_ |
Définition à la ligne 56 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::LayoutPolicyType = LayoutPolicy |
Définition à la ligne 60 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::LoopIndexType = MDIndexType |
Définition à la ligne 62 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::MDIndexType = typename Extents::MDIndexType |
Définition à la ligne 61 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::RemovedFirstExtentsType = typename Extents::RemovedFirstExtentsType |
Définition à la ligne 65 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
private |
Définition à la ligne 49 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
private |
Définition à la ligne 45 du fichier arccore/src/base/arccore/base/MDSpan.h.
| using Arcane::MDSpan< DataType_, Extents_, LayoutPolicy_ >::value_type = DataType |
Définition à la ligne 57 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 75 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 80 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 84 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 89 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 94 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 99 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 104 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 150 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 312 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 307 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Pointeur de base pour la mémoire allouée.
Définition à la ligne 145 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Pointeur de base pour la mémoire allouée.
Définition à la ligne 143 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur de la première dimension.
Définition à la ligne 166 du fichier arccore/src/base/arccore/base/MDSpan.h.
Référencé par Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::toConstSmallSpan(), et Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::toSmallSpan().
|
inlineconstexpr |
Valeur de la deuxième dimension.
Définition à la ligne 168 du fichier arccore/src/base/arccore/base/MDSpan.h.
Référencé par Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::toConstSmallSpan(), et Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::toSmallSpan().
|
inlineconstexpr |
Valeur de la troisième dimension.
Définition à la ligne 170 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur de la quatrième dimension.
Définition à la ligne 172 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inline |
Définition à la ligne 154 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inline |
Définition à la ligne 158 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i.
Définition à la ligne 197 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j.
Définition à la ligne 191 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j,k.
Définition à la ligne 184 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j,k,l.
Définition à la ligne 177 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 201 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i.
Définition à la ligne 228 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j.
Définition à la ligne 222 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j,k.
Définition à la ligne 216 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i,j,k,l.
Définition à la ligne 209 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément idx.
Définition à la ligne 241 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 123 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 130 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 109 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexprnoexcept |
Définition à la ligne 116 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Valeur pour l'élément i.
Définition à la ligne 234 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i.
Définition à la ligne 269 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i,j.
Définition à la ligne 263 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 256 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i,j,k,l.
Définition à la ligne 249 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 276 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 296 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 335 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 323 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 329 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Définition à la ligne 317 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Vue 1D ou 2D constante sur l'instance (seulement si rank == 1 ou rank == 2).
Définition à la ligne 361 du fichier arccore/src/base/arccore/base/MDSpan.h.
Référencé par Arcane::MDSpan< DataType, AddedFirstExtentsType, RightLayout >::toSmallSpan().
|
inlineconstexpr |
Vue 1D ou 2D sur l'instance (seulement si rank == 1 ou rank == 2).
Définition à la ligne 343 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
inlineconstexpr |
Vue 1D ou 2D constante sur l'instance (seulement si rank == 1 ou rank == 2).
Définition à la ligne 354 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 50 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
private |
Définition à la ligne 374 du fichier arccore/src/base/arccore/base/MDSpan.h.
|
private |
Définition à la ligne 373 du fichier arccore/src/base/arccore/base/MDSpan.h.