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 __host__ __device__ | MDSpan (DataType *ptr, ArrayExtentsWithOffsetType extents) |
constexpr __host__ __device__ | MDSpan (DataType *ptr, const DynamicDimsType &dims) |
template<typename X, typename = std::enable_if_t<std::is_same_v<X, UnqualifiedValueType>>> | |
constexpr __host__ __device__ | MDSpan (const MDSpan< X, Extents > &rhs) |
constexpr __host__ __device__ | MDSpan (SmallSpan< DataType > v) |
constexpr __host__ __device__ | MDSpan (SmallSpan< const DataType > v) |
constexpr __host__ __device__ ThatClass & | operator= (SmallSpan< DataType > v) |
constexpr __host__ __device__ ThatClass & | operator= (SmallSpan< const DataType > v) |
constexpr __host__ __device__ DataType * | _internalData () |
constexpr __host__ __device__ const DataType * | _internalData () const |
ArrayExtents< Extents > | extents () const |
ArrayExtentsWithOffsetType | extentsWithOffset () const |
constexpr __host__ __device__ Int32 | extent0 () const |
Valeur de la première dimension. | |
constexpr __host__ __device__ Int32 | extent1 () const |
Valeur de la deuxième dimension. | |
constexpr __host__ __device__ Int32 | extent2 () const |
Valeur de la troisième dimension. | |
constexpr __host__ __device__ Int32 | extent3 () const |
Valeur de la quatrième dimension. | |
constexpr __host__ __device__ Int64 | offset (Int32 i, Int32 j, Int32 k, Int32 l) const |
Valeur pour l'élément i,j,k,l. | |
constexpr __host__ __device__ Int64 | offset (Int32 i, Int32 j, Int32 k) const |
Valeur pour l'élément i,j,k. | |
constexpr __host__ __device__ Int64 | offset (Int32 i, Int32 j) const |
Valeur pour l'élément i,j. | |
constexpr __host__ __device__ Int64 | offset (Int32 i) const |
Valeur pour l'élément i. | |
constexpr __host__ __device__ Int64 | offset (MDIndexType idx) const |
Valeur pour l'élément idx. | |
constexpr __host__ __device__ DataType & | operator() (Int32 i, Int32 j, Int32 k, Int32 l) const |
Valeur pour l'élément i,j,k,l. | |
__host__ __device__ DataType & | operator() (Int32 i, Int32 j, Int32 k) const |
Valeur pour l'élément i,j,k. | |
constexpr __host__ __device__ DataType & | operator() (Int32 i, Int32 j) const |
Valeur pour l'élément i,j. | |
constexpr __host__ __device__ DataType & | operator() (Int32 i) const |
Valeur pour l'élément i. | |
constexpr __host__ __device__ DataType | operator[] (Int32 i) const |
Valeur pour l'élément i. | |
constexpr __host__ __device__ DataType & | operator() (MDIndexType idx) const |
Valeur pour l'élément idx. | |
constexpr __host__ __device__ DataType * | ptrAt (Int32 i, Int32 j, Int32 k, Int32 l) const |
Pointeur sur la valeur pour l'élément i,j,k. | |
__host__ __device__ DataType * | ptrAt (Int32 i, Int32 j, Int32 k) const |
Pointeur sur la valeur pour l'élément i,j,k. | |
constexpr __host__ __device__ DataType * | ptrAt (Int32 i, Int32 j) const |
Pointeur sur la valeur pour l'élément i,j. | |
constexpr __host__ __device__ DataType * | ptrAt (Int32 i) const |
Pointeur sur la valeur pour l'élément i. | |
constexpr __host__ __device__ DataType * | ptrAt (MDIndexType idx) const |
Pointeur sur la valeur pour l'élément i. | |
__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 __host__ __device__ MDSpan< const DataType, Extents, LayoutPolicy > | constSpan () const |
constexpr __host__ __device__ MDSpan< const DataType, Extents, LayoutPolicy > | constMDSpan () const |
constexpr __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> |
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.
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 |
|
private |
using Arcane::MDSpan< DataType, Extents, LayoutPolicy >::value_type = DataType |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inline |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Valeur pour l'élément i,j,k,l.
Définition à la ligne 135 du fichier MDSpan.h.
Référencé par Arcane::MDSpan< DataType, Extents, LayoutType >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutType >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutType >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutType >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutType >::operator()(), Arcane::MDSpan< DataType, Extents, LayoutType >::operator[](), Arcane::MDSpan< DataType, Extents, LayoutType >::ptrAt(), Arcane::MDSpan< DataType, Extents, LayoutType >::ptrAt(), Arcane::MDSpan< DataType, Extents, LayoutType >::ptrAt(), Arcane::MDSpan< DataType, Extents, LayoutType >::ptrAt(), et Arcane::MDSpan< DataType, Extents, LayoutType >::ptrAt().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inlineconstexpr |
Pointeur sur la valeur pour l'élément i,j,k.
Définition à la ligne 189 du fichier MDSpan.h.
Référencé par Arcane::MDSpan< DataType, Extents, LayoutType >::slice().
|
inlineconstexpr |
|
inline |
Retourne une vue de dimension (N-1) à partir de l'élément d'indice i.
Par exemple:
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
friend |
|
friend |
|
staticconstexprprivate |
|
private |
|
private |