Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >

Vue pour un tableau 2D. Plus de détails...

#include <arccore/base/Span2.h>

+ Graphe d'héritage de Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >:
+ Graphe de collaboration de Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >:

Types publics

using ElementType = T
 
using element_type = ElementType
 
using value_type = typename std::remove_cv< ElementType >::type
 
using index_type = SizeType
 
using difference_type = SizeType
 
using size_type = SizeType
 
using pointer = ElementType *
 
using const_pointer = typename std::add_const< ElementType * >::type
 
using reference = ElementType &
 
using const_reference = const ElementType &
 
using view_type = typename detail::View2TypeT< ElementType >::view_type
 
template<typename X >
using is_same_const_type = std::enable_if_t< std::is_same_v< X, T >||std::is_same_v< std::add_const_t< X >, T > >
 Indique si on peut convertir un 'X' ou 'const X' en un 'T'.
 

Fonctions membres publiques

__host__ __device__ Span2Impl (pointer ptr, SizeType dim1_size, SizeType dim2_size)
 Créé une vue 2D de dimension [dim1_size][dim2_size].
 
__host__ __device__ Span2Impl ()
 Créé une vue 2D vide.
 
template<typename X , typename = std::enable_if_t<std::is_same_v<X,value_type>>>
 Span2Impl (const ConstArray2View< X > &from)
 
template<typename X , typename = std::enable_if_t<std::is_same_v<X,value_type>>>
__host__ __device__ Span2Impl (const Span2< X > &from)
 
constexpr __host__ __device__ SizeType dim1Size () const
 Nombre d'éléments de la première dimension.
 
constexpr __host__ __device__ SizeType dim2Size () const
 Nombre d'éléments de la deuxième dimension.
 
constexpr __host__ __device__ SizeType totalNbElement () const
 Nombre total d'éléments.
 
constexpr __host__ __device__ SpanImpl< ElementType, SizeType > operator[] (SizeType i) const
 
constexpr __host__ __device__ SpanImpl< ElementType, SizeType > operator() (SizeType i) const
 
constexpr __host__ __device__ reference operator() (SizeType i, SizeType j) const
 
constexpr __host__ __device__ ElementType item (SizeType i, SizeType j) const
 Valeur de l'élément [i][j].
 
constexpr __host__ __device__ ElementType setItem (SizeType i, SizeType j, const ElementType &value)
 Positionne l'élément [i][j] à value.
 
constexpr view_type smallView ()
 Vue constante sur cette vue.
 
constexpr ConstArrayView< value_type > constSmallView () const
 Vue constante sur cette vue.
 
constexpr ElementType * unguardedBasePointer ()
 Pointeur sur la mémoire allouée.
 
constexpr __host__ __device__ ElementType * data ()
 Pointeur sur la mémoire allouée.
 
constexpr __host__ __device__ const ElementType * data () const
 Pointeur sur la mémoire allouée.
 

Attributs protégés

ElementType * m_ptr
 
SizeType m_dim1_size
 
SizeType m_dim2_size
 

Amis

template<typename X , SizeType XExtent1, SizeType XExtent2, typename = std::enable_if_t<std::is_same_v<X,value_type>>>
bool operator== (const ThatClass &lhs, const Span2Impl< X, SizeType, XExtent1, XExtent2 > &rhs)
 Opérateur d'égalité (valide si T est const mais pas X)
 
template<typename X , SizeType XExtent1, SizeType XExtent2, typename = std::enable_if_t<std::is_same_v<X,value_type>>>
bool operator!= (const ThatClass &lhs, const Span2Impl< X, SizeType, XExtent1, XExtent2 > &rhs)
 Opérateur d'inégalité (valide si T est const mais pas X)
 
template<SizeType XExtent1, SizeType XExtent2>
bool operator== (const ThatClass &lhs, const Span2Impl< T, SizeType, XExtent1, XExtent2 > &rhs)
 Opérateur d'égalité
 
template<SizeType XExtent1, SizeType XExtent2>
bool operator!= (const ThatClass &lhs, const Span2Impl< T, SizeType, XExtent1, XExtent2 > &rhs)
 Opérateur d'inégalité
 

Description détaillée

template<typename T, typename SizeType, SizeType Extent1, SizeType Extent2>
class Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >

Vue pour un tableau 2D.

Comme toute vue, une instance de cette classe n'est valide que tant que le conteneur dont elle est issue ne change pas de nombre d'éléments. La vue est non modifiable si l'argument template est de type 'const T'. Cette classe permet d'accéder et d'utiliser un tableau d'éléments du type T de la même manière qu'un tableau C standard. SizeType est le type utilisé pour conserver le nombre d'éléments du tableau. Cela peut être 'Int32' ou 'Int64'.

Définition à la ligne 63 du fichier Span2.h.

Documentation des définitions de type membres

◆ const_pointer

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::const_pointer = typename std::add_const<ElementType*>::type

Définition à la ligne 76 du fichier Span2.h.

◆ const_reference

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::const_reference = const ElementType&

Définition à la ligne 78 du fichier Span2.h.

◆ difference_type

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::difference_type = SizeType

Définition à la ligne 73 du fichier Span2.h.

◆ element_type

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::element_type = ElementType

Définition à la ligne 70 du fichier Span2.h.

◆ ElementType

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::ElementType = T

Définition à la ligne 69 du fichier Span2.h.

◆ index_type

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::index_type = SizeType

Définition à la ligne 72 du fichier Span2.h.

◆ is_same_const_type

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
template<typename X >
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::is_same_const_type = std::enable_if_t<std::is_same_v<X,T> || std::is_same_v<std::add_const_t<X>,T> >

Indique si on peut convertir un 'X' ou 'const X' en un 'T'.

Définition à la ligne 83 du fichier Span2.h.

◆ pointer

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::pointer = ElementType*

Définition à la ligne 75 du fichier Span2.h.

◆ reference

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::reference = ElementType&

Définition à la ligne 77 du fichier Span2.h.

◆ size_type

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::size_type = SizeType

Définition à la ligne 74 du fichier Span2.h.

◆ value_type

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::value_type = typename std::remove_cv<ElementType>::type

Définition à la ligne 71 du fichier Span2.h.

◆ view_type

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
using Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::view_type = typename detail::View2TypeT<ElementType>::view_type

Définition à la ligne 79 du fichier Span2.h.

Documentation des constructeurs et destructeur

◆ Span2Impl() [1/4]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
__host__ __device__ Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::Span2Impl ( pointer  ptr,
SizeType  dim1_size,
SizeType  dim2_size 
)
inline

Créé une vue 2D de dimension [dim1_size][dim2_size].

Définition à la ligne 88 du fichier Span2.h.

◆ Span2Impl() [2/4]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
__host__ __device__ Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::Span2Impl ( )
inline

Créé une vue 2D vide.

Définition à la ligne 91 du fichier Span2.h.

◆ Span2Impl() [3/4]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
template<typename X , typename = std::enable_if_t<std::is_same_v<X,value_type>>>
Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::Span2Impl ( const ConstArray2View< X > &  from)
inline

Définition à la ligne 95 du fichier Span2.h.

◆ Span2Impl() [4/4]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
template<typename X , typename = std::enable_if_t<std::is_same_v<X,value_type>>>
__host__ __device__ Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::Span2Impl ( const Span2< X > &  from)
inline

Définition à la ligne 99 du fichier Span2.h.

Documentation des fonctions membres

◆ constSmallView()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr ConstArrayView< value_type > Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::constSmallView ( ) const
inlineconstexpr

Vue constante sur cette vue.

Définition à la ligne 168 du fichier Span2.h.

Références Arccore::arccoreCheckArraySize().

◆ data() [1/2]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ ElementType * Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::data ( )
inlineconstexpr

Pointeur sur la mémoire allouée.

Définition à la ligne 181 du fichier Span2.h.

◆ data() [2/2]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ const ElementType * Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::data ( ) const
inlineconstexpr

Pointeur sur la mémoire allouée.

Définition à la ligne 184 du fichier Span2.h.

◆ dim1Size()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ SizeType Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::dim1Size ( ) const
inlineconstexpr

Nombre d'éléments de la première dimension.

Définition à la ligne 105 du fichier Span2.h.

Référencé par Arcane::ValueChecker::areEqualArray().

◆ dim2Size()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ SizeType Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::dim2Size ( ) const
inlineconstexpr

Nombre d'éléments de la deuxième dimension.

Définition à la ligne 107 du fichier Span2.h.

◆ item()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ ElementType Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::item ( SizeType  i,
SizeType  j 
) const
inlineconstexpr

Valeur de l'élément [i][j].

Définition à la ligne 140 du fichier Span2.h.

◆ operator()() [1/2]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ SpanImpl< ElementType, SizeType > Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::operator() ( SizeType  i) const
inlineconstexpr

Définition à la ligne 119 du fichier Span2.h.

◆ operator()() [2/2]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ reference Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::operator() ( SizeType  i,
SizeType  j 
) const
inlineconstexpr

Définition à la ligne 125 du fichier Span2.h.

◆ operator[]()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ SpanImpl< ElementType, SizeType > Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::operator[] ( SizeType  i) const
inlineconstexpr

Définition à la ligne 113 du fichier Span2.h.

◆ setItem()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ ElementType Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::setItem ( SizeType  i,
SizeType  j,
const ElementType &  value 
)
inlineconstexpr

Positionne l'élément [i][j] à value.

Définition à la ligne 147 du fichier Span2.h.

◆ smallView()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr view_type Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::smallView ( )
inlineconstexpr

Vue constante sur cette vue.

Définition à la ligne 158 du fichier Span2.h.

Références Arccore::arccoreCheckArraySize().

◆ totalNbElement()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr __host__ __device__ SizeType Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::totalNbElement ( ) const
inlineconstexpr

Nombre total d'éléments.

Définition à la ligne 109 du fichier Span2.h.

◆ unguardedBasePointer()

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
constexpr ElementType * Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::unguardedBasePointer ( )
inlineconstexpr

Pointeur sur la mémoire allouée.

Définition à la ligne 178 du fichier Span2.h.

Documentation des fonctions amies et associées

◆ operator!= [1/2]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
template<SizeType XExtent1, SizeType XExtent2>
bool operator!= ( const ThatClass &  lhs,
const Span2Impl< T, SizeType, XExtent1, XExtent2 > &  rhs 
)
friend

Opérateur d'inégalité

Définition à la ligne 208 du fichier Span2.h.

◆ operator!= [2/2]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
template<typename X , SizeType XExtent1, SizeType XExtent2, typename = std::enable_if_t<std::is_same_v<X,value_type>>>
bool operator!= ( const ThatClass &  lhs,
const Span2Impl< X, SizeType, XExtent1, XExtent2 > &  rhs 
)
friend

Opérateur d'inégalité (valide si T est const mais pas X)

Définition à la ligne 196 du fichier Span2.h.

◆ operator== [1/2]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
template<SizeType XExtent1, SizeType XExtent2>
bool operator== ( const ThatClass &  lhs,
const Span2Impl< T, SizeType, XExtent1, XExtent2 > &  rhs 
)
friend

Opérateur d'égalité

Définition à la ligne 202 du fichier Span2.h.

◆ operator== [2/2]

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
template<typename X , SizeType XExtent1, SizeType XExtent2, typename = std::enable_if_t<std::is_same_v<X,value_type>>>
bool operator== ( const ThatClass &  lhs,
const Span2Impl< X, SizeType, XExtent1, XExtent2 > &  rhs 
)
friend

Opérateur d'égalité (valide si T est const mais pas X)

Définition à la ligne 190 du fichier Span2.h.

Documentation des données membres

◆ m_dim1_size

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
SizeType Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::m_dim1_size
protected

Définition à la ligne 216 du fichier Span2.h.

◆ m_dim2_size

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
SizeType Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::m_dim2_size
protected

Définition à la ligne 217 du fichier Span2.h.

◆ m_ptr

template<typename T , typename SizeType , SizeType Extent1, SizeType Extent2>
ElementType* Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::m_ptr
protected

Définition à la ligne 215 du fichier Span2.h.


La documentation de cette classe a été générée à partir des fichiers suivants :