Classe de base des vues multi-dimensionnelles. Plus de détails...
#include <arcane/utils/MDSpan.h>
Types publics | |
using | value_type = DataType |
using | ExtentsType = Extents |
using | LayoutPolicyType = LayoutPolicy |
using | MDIndexType = typename Extents::MDIndexType |
using | ArrayExtentsWithOffsetType = ArrayExtentsWithOffset< Extents, LayoutPolicy > |
using | DynamicDimsType = typename Extents::DynamicDimsType |
using | RemovedFirstExtentsType = typename Extents::RemovedFirstExtentsType |
using | ArrayBoundsIndexType = typename Extents::MDIndexType |
using | IndexType = typename Extents::MDIndexType |
Fonctions membres publiques | |
constexpr ARCCORE_HOST_DEVICE | MDSpan (DataType *ptr, ArrayExtentsWithOffsetType extents) |
constexpr ARCCORE_HOST_DEVICE | MDSpan (DataType *ptr, const DynamicDimsType &dims) |
template<typename X , typename = std::enable_if_t<std::is_same_v<X, UnqualifiedValueType>>> | |
constexpr ARCCORE_HOST_DEVICE | MDSpan (const MDSpan< X, Extents > &rhs) |
constexpr ARCCORE_HOST_DEVICE DataType * | _internalData () |
constexpr ARCCORE_HOST_DEVICE const DataType * | _internalData () const |
ArrayExtents< Extents > | extents () const |
ArrayExtentsWithOffsetType | extentsWithOffset () const |
constexpr ARCCORE_HOST_DEVICE Int32 | extent0 () const |
Valeur de la première dimension. | |
constexpr ARCCORE_HOST_DEVICE Int32 | extent1 () const |
Valeur de la deuxième dimension. | |
constexpr ARCCORE_HOST_DEVICE Int32 | extent2 () const |
Valeur de la troisième dimension. | |
constexpr ARCCORE_HOST_DEVICE Int32 | extent3 () const |
Valeur de la quatrième dimension. | |
constexpr ARCCORE_HOST_DEVICE Int64 | offset (Int32 i, Int32 j, Int32 k, Int32 l) const |
Valeur pour l'élément i,j,k,l. | |
constexpr ARCCORE_HOST_DEVICE Int64 | offset (Int32 i, Int32 j, Int32 k) const |
Valeur pour l'élément i,j,k. | |
constexpr ARCCORE_HOST_DEVICE Int64 | offset (Int32 i, Int32 j) const |
Valeur pour l'élément i,j. | |
constexpr ARCCORE_HOST_DEVICE Int64 | offset (Int32 i) const |
Valeur pour l'élément i. | |
constexpr ARCCORE_HOST_DEVICE Int64 | offset (MDIndexType idx) const |
Valeur pour l'élément idx. | |
constexpr ARCCORE_HOST_DEVICE DataType & | operator() (Int32 i, Int32 j, Int32 k, Int32 l) const |
Valeur pour l'élément i,j,k,l. | |
ARCCORE_HOST_DEVICE DataType & | operator() (Int32 i, Int32 j, Int32 k) const |
Valeur pour l'élément i,j,k. | |
constexpr ARCCORE_HOST_DEVICE DataType & | operator() (Int32 i, Int32 j) const |
Valeur pour l'élément i,j. | |
constexpr ARCCORE_HOST_DEVICE DataType & | operator() (Int32 i) const |
Valeur pour l'élément i. | |
constexpr ARCCORE_HOST_DEVICE DataType | operator[] (Int32 i) const |
Valeur pour l'élément i. | |
constexpr ARCCORE_HOST_DEVICE DataType & | operator() (MDIndexType idx) const |
Valeur pour l'élément idx. | |
constexpr ARCCORE_HOST_DEVICE DataType * | ptrAt (Int32 i, Int32 j, Int32 k, Int32 l) const |
Pointeur sur la valeur pour l'élément i,j,k. | |
ARCCORE_HOST_DEVICE DataType * | ptrAt (Int32 i, Int32 j, Int32 k) const |
Pointeur sur la valeur pour l'élément i,j,k. | |
constexpr ARCCORE_HOST_DEVICE DataType * | ptrAt (Int32 i, Int32 j) const |
Pointeur sur la valeur pour l'élément i,j. | |
constexpr ARCCORE_HOST_DEVICE DataType * | ptrAt (Int32 i) const |
Pointeur sur la valeur pour l'élément i. | |
constexpr ARCCORE_HOST_DEVICE DataType * | ptrAt (MDIndexType idx) const |
Pointeur sur la valeur pour l'élément i. | |
ARCCORE_HOST_DEVICE MDSpan< DataType, RemovedFirstExtentsType, LayoutPolicy > | slice (Int32 i) const |
Retourne une vue de dimension (N-1) à partir de l'élément d'indice i. | |
constexpr ARCCORE_HOST_DEVICE MDSpan< const DataType, Extents, LayoutPolicy > | constSpan () const |
constexpr ARCCORE_HOST_DEVICE MDSpan< const DataType, Extents, LayoutPolicy > | constMDSpan () const |
constexpr ARCCORE_HOST_DEVICE 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 > |
Attributs privés | |
DataType * | m_ptr = nullptr |
ArrayExtentsWithOffsetType | m_extents |
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.
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ArrayBoundsIndexType = typename Extents::MDIndexType |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ArrayExtentsWithOffsetType = ArrayExtentsWithOffset<Extents, LayoutPolicy> |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::DynamicDimsType = typename Extents::DynamicDimsType |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ExtentsType = Extents |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::IndexType = typename Extents::MDIndexType |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::LayoutPolicyType = LayoutPolicy |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::MDIndexType = typename Extents::MDIndexType |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::RemovedFirstExtentsType = typename Extents::RemovedFirstExtentsType |
|
private |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::value_type = DataType |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Valeur de la première dimension.
Définition à la ligne 102 du fichier MDSpan.h.
Référencé par Arcane::NumArray< DataType, Extents, LayoutPolicy >::dim1Size(), et Arcane::NumArray< DataType, Extents, LayoutPolicy >::extent0().
|
inlineconstexpr |
Valeur de la deuxième dimension.
Définition à la ligne 104 du fichier MDSpan.h.
Référencé par Arcane::NumArray< DataType, Extents, LayoutPolicy >::dim2Size(), et Arcane::NumArray< DataType, Extents, LayoutPolicy >::extent1().
|
inlineconstexpr |
Valeur de la troisième dimension.
Définition à la ligne 106 du fichier MDSpan.h.
Référencé par Arcane::NumArray< DataType, Extents, LayoutPolicy >::dim3Size(), et Arcane::NumArray< DataType, Extents, LayoutPolicy >::extent2().
|
inlineconstexpr |
Valeur de la quatrième dimension.
Définition à la ligne 108 du fichier MDSpan.h.
Référencé par Arcane::NumArray< DataType, Extents, LayoutPolicy >::dim4Size(), et Arcane::NumArray< DataType, Extents, LayoutPolicy >::extent3().
|
inline |
|
inline |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Valeur pour l'élément i,j,k,l.
Définition à la ligne 114 du fichier MDSpan.h.
Référencé par Arcane::MDSpan< DataType, Extents, LayoutPolicy >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::operator[](), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ptrAt(), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ptrAt(), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ptrAt(), Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ptrAt(), et Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ptrAt().
|
inlineconstexpr |
|
inlineconstexpr |
Valeur pour l'élément i.
Définition à la ligne 155 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inlineconstexpr |
Valeur pour l'élément i,j.
Définition à la ligne 150 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inline |
Valeur pour l'élément i,j,k.
Définition à la ligne 145 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inlineconstexpr |
Valeur pour l'élément i,j,k,l.
Définition à la ligne 140 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inlineconstexpr |
Valeur pour l'élément idx.
Définition à la ligne 160 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inlineconstexpr |
Valeur pour l'élément i.
Définition à la ligne 157 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i.
Définition à la ligne 183 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i,j.
Définition à la ligne 178 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inline |
Pointeur sur la valeur pour l'élément i,j,k.
Définition à la ligne 173 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i,j,k.
Définition à la ligne 168 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
Référencé par Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator()(), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator()(), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator()(), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator()(), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator()(), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator()(), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator()(), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator()(), Arcane::MeshVectorMDVariableRefT< ItemType, DataType, Size, Extents >::operator()(), Arcane::MeshVectorMDVariableRefT< ItemType, DataType, Size, Extents >::operator()(), Arcane::MeshVectorMDVariableRefT< ItemType, DataType, Size, Extents >::operator()(), Arcane::MeshVectorMDVariableRefT< ItemType, DataType, Size, Extents >::operator()(), Arcane::MeshVectorMDVariableRefT< ItemType, DataType, Size, Extents >::operator()(), Arcane::MeshVectorMDVariableRefT< ItemType, DataType, Size, Extents >::operator()(), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator[](), Arcane::Accelerator::NumArrayView< Accessor, Extents, LayoutType >::operator[](), et Arcane::MDSpan< DataType, Extents, LayoutPolicy >::slice().
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i.
Définition à la ligne 186 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::offset().
|
inline |
Retourne une vue de dimension (N-1) à partir de l'élément d'indice i.
Par exemple:
Définition à la ligne 206 du fichier MDSpan.h.
Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::ptrAt().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
friend |
|
friend |
|
private |
|
private |