Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::MultiArray2< DataType >

Classe de base des tableau 2D à taille multiple. Plus de détails...

#include <arcane/utils/MultiArray2.h>

+ Graphe d'héritage de Arcane::MultiArray2< DataType >:
+ Graphe de collaboration de Arcane::MultiArray2< DataType >:

Types publics

typedef UniqueArray< DataType >::ConstReferenceType ConstReferenceType
 

Fonctions membres publiques

 MultiArray2 (IntegerConstArrayView sizes)
 
ArrayView< DataType > operator[] (Integer i)
 
ConstArrayView< DataType > operator[] (Integer i) const
 
Integer totalNbElement () const
 Nombre total d'éléments.
 
void clear ()
 Supprime les éléments du tableau.
 
MultiArray2< DataType > clone ()
 Clone le tableau.
 
void fill (const DataType &v)
 Remplit les éléments du tableau avec la valeur v.
 
DataType & at (Integer i, Integer j)
 
void setAt (Integer i, Integer j, ConstReferenceType v)
 
Integer dim1Size () const
 Nombre d'éléments suivant la première dimension.
 
IntegerConstArrayView dim2Sizes () const
 Tableau du nombre d'éléments suivant la deuxième dimension.
 
 operator MultiArray2View< DataType > ()
 Opérateur de conversion vers une vue modifiable.
 
 operator ConstMultiArray2View< DataType > () const
 Opérateur de conversion vers une vue constante.
 
MultiArray2View< DataType > view ()
 Vue modifiable du tableau.
 
ConstMultiArray2View< DataType > constView () const
 Vue constante du tableau.
 
ArrayView< DataType > viewAsArray ()
 Vue du tableau sous forme de tableau 1D.
 
ConstArrayView< DataType > viewAsArray () const
 Vue du tableau sous forme de tableau 1D.
 
void resize (IntegerConstArrayView new_sizes)
 Retaille le tableau avec comme nouvelles tailles new_sizes.
 

Fonctions membres protégées

 MultiArray2 (const MultiArray2< DataType > &rhs, bool do_clone)
 Constructeur de recopie. Méthode temporaire à supprimer une fois le constructeur et opérateur de recopie supprimé.
 
 MultiArray2 (ConstMultiArray2View< DataType > aview)
 
ConstArrayView< DataType > _value (Integer i) const
 
void _resize (IntegerConstArrayView ar)
 
void _copy (const MultiArray2< DataType > &rhs, bool do_clone)
 
void _copy (ConstMultiArray2View< DataType > aview)
 

Fonctions membres privées

 MultiArray2 (const MultiArray2< DataType > &rhs)
 
void operator= (const MultiArray2< DataType > &rhs)
 

Attributs privés

SharedArray< DataType > m_buffer
 Valeurs.
 
SharedArray< Integer > m_indexes
 Tableau des indices dans m_buffer du premièr élément de la deuxième dimension.
 
SharedArray< Integer > m_sizes
 Tableau des tailles de la deuxième dimension.
 

Description détaillée

template<typename DataType>
class Arcane::MultiArray2< DataType >

Classe de base des tableau 2D à taille multiple.

Cette classe gère les tableaux 2D dont le nombre d'éléments de la deuxième dimension est variable. Par exemple:

UniqueArray<Int32> sizes(3); // Tableau avec 3 éléments
sizes[0] = 1; sizes[1] = 2; sizes[2] = 4;
// Construit le tableau avec sizes comme tailles
info() << " size=" << v.dim1Size(); // affiche 3
info() << " size[0]=" << v[0].size(); // affiche 1
info() << " size[1]=" << v[1].size(); // affiche 2
info() << " size[2]=" << v[2].size(); // affiche 4
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120

Il est possible de redimensionner (via la méthode resize()) le tableau tout en conservant ses valeurs mais pour des raisons de performance, ces redimensionnements se font sur tout le tableau (il n'est pas possible de redimensionner uniquement pour un seul élément, par exemple v[5].resize(3)).

Comme pour Array et Array2, les instances de cette classe ne sont pas copiables ni assignables. Pour obtenir cette fonctionnalité, il faut utiliser la classe SharedMultiArray2 pour une sémantique par référence ou UniqueMultiArray2 pour une sémantique par valeur.

Définition à la ligne 56 du fichier MultiArray2.h.

Documentation des définitions de type membres

◆ ConstReferenceType

template<typename DataType >
typedef UniqueArray<DataType>::ConstReferenceType Arcane::MultiArray2< DataType >::ConstReferenceType

Définition à la ligne 59 du fichier MultiArray2.h.

Documentation des constructeurs et destructeur

◆ MultiArray2() [1/4]

template<typename DataType >
Arcane::MultiArray2< DataType >::MultiArray2 ( )
inline

Définition à la ligne 61 du fichier MultiArray2.h.

◆ MultiArray2() [2/4]

template<typename DataType >
Arcane::MultiArray2< DataType >::MultiArray2 ( IntegerConstArrayView  sizes)
inline

Définition à la ligne 62 du fichier MultiArray2.h.

◆ MultiArray2() [3/4]

template<typename DataType >
Arcane::MultiArray2< DataType >::MultiArray2 ( const MultiArray2< DataType > &  rhs,
bool  do_clone 
)
inlineprotected

Constructeur de recopie. Méthode temporaire à supprimer une fois le constructeur et opérateur de recopie supprimé.

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

◆ MultiArray2() [4/4]

template<typename DataType >
Arcane::MultiArray2< DataType >::MultiArray2 ( ConstMultiArray2View< DataType >  aview)
inlineprotected

Définition à la ligne 81 du fichier MultiArray2.h.

Documentation des fonctions membres

◆ _copy() [1/2]

template<typename DataType >
void Arcane::MultiArray2< DataType >::_copy ( const MultiArray2< DataType > &  rhs,
bool  do_clone 
)
inlineprotected

Définition à la ligne 240 du fichier MultiArray2.h.

◆ _copy() [2/2]

template<typename DataType >
void Arcane::MultiArray2< DataType >::_copy ( ConstMultiArray2View< DataType >  aview)
inlineprotected

Définition à la ligne 246 du fichier MultiArray2.h.

◆ _resize()

template<typename DataType >
void Arcane::MultiArray2< DataType >::_resize ( IntegerConstArrayView  ar)
inlineprotected

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

◆ _value()

template<typename DataType >
ConstArrayView< DataType > Arcane::MultiArray2< DataType >::_value ( Integer  i) const
inlineprotected

Définition à la ligne 179 du fichier MultiArray2.h.

◆ at()

template<typename DataType >
DataType & Arcane::MultiArray2< DataType >::at ( Integer  i,
Integer  j 
)
inline

Définition à la ligne 118 du fichier MultiArray2.h.

◆ clear()

template<typename DataType >
void Arcane::MultiArray2< DataType >::clear ( )
inline

Supprime les éléments du tableau.

Définition à la ligne 98 du fichier MultiArray2.h.

◆ clone()

template<typename DataType >
MultiArray2< DataType > Arcane::MultiArray2< DataType >::clone ( )
inline

Clone le tableau.

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

◆ constView()

template<typename DataType >
ConstMultiArray2View< DataType > Arcane::MultiArray2< DataType >::constView ( ) const
inline

Vue constante du tableau.

Définition à la ligne 152 du fichier MultiArray2.h.

◆ dim1Size()

template<typename DataType >
Integer Arcane::MultiArray2< DataType >::dim1Size ( ) const
inline

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

Définition à la ligne 128 du fichier MultiArray2.h.

◆ dim2Sizes()

template<typename DataType >
IntegerConstArrayView Arcane::MultiArray2< DataType >::dim2Sizes ( ) const
inline

Tableau du nombre d'éléments suivant la deuxième dimension.

Définition à la ligne 131 du fichier MultiArray2.h.

◆ fill()

template<typename DataType >
void Arcane::MultiArray2< DataType >::fill ( const DataType &  v)
inline

Remplit les éléments du tableau avec la valeur v.

Définition à la ligne 114 du fichier MultiArray2.h.

◆ operator ConstMultiArray2View< DataType >()

template<typename DataType >
Arcane::MultiArray2< DataType >::operator ConstMultiArray2View< DataType > ( ) const
inline

Opérateur de conversion vers une vue constante.

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

◆ operator MultiArray2View< DataType >()

template<typename DataType >
Arcane::MultiArray2< DataType >::operator MultiArray2View< DataType > ( )
inline

Opérateur de conversion vers une vue modifiable.

Définition à la ligne 134 du fichier MultiArray2.h.

◆ operator[]() [1/2]

template<typename DataType >
ArrayView< DataType > Arcane::MultiArray2< DataType >::operator[] ( Integer  i)
inline

Définition à la ligne 86 du fichier MultiArray2.h.

◆ operator[]() [2/2]

template<typename DataType >
ConstArrayView< DataType > Arcane::MultiArray2< DataType >::operator[] ( Integer  i) const
inline

Définition à la ligne 90 du fichier MultiArray2.h.

◆ resize()

template<typename DataType >
void Arcane::MultiArray2< DataType >::resize ( IntegerConstArrayView  new_sizes)
inline

Retaille le tableau avec comme nouvelles tailles new_sizes.

Définition à la ligne 170 du fichier MultiArray2.h.

◆ setAt()

template<typename DataType >
void Arcane::MultiArray2< DataType >::setAt ( Integer  i,
Integer  j,
ConstReferenceType  v 
)
inline

Définition à la ligne 122 du fichier MultiArray2.h.

◆ totalNbElement()

template<typename DataType >
Integer Arcane::MultiArray2< DataType >::totalNbElement ( ) const
inline

Nombre total d'éléments.

Définition à la ligne 96 du fichier MultiArray2.h.

◆ view()

template<typename DataType >
MultiArray2View< DataType > Arcane::MultiArray2< DataType >::view ( )
inline

Vue modifiable du tableau.

Définition à la ligne 146 du fichier MultiArray2.h.

◆ viewAsArray() [1/2]

template<typename DataType >
ArrayView< DataType > Arcane::MultiArray2< DataType >::viewAsArray ( )
inline

Vue du tableau sous forme de tableau 1D.

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

◆ viewAsArray() [2/2]

template<typename DataType >
ConstArrayView< DataType > Arcane::MultiArray2< DataType >::viewAsArray ( ) const
inline

Vue du tableau sous forme de tableau 1D.

Définition à la ligne 164 du fichier MultiArray2.h.

Documentation des données membres

◆ m_buffer

template<typename DataType >
SharedArray<DataType> Arcane::MultiArray2< DataType >::m_buffer
private

Valeurs.

Définition à la ligne 255 du fichier MultiArray2.h.

◆ m_indexes

template<typename DataType >
SharedArray<Integer> Arcane::MultiArray2< DataType >::m_indexes
private

Tableau des indices dans m_buffer du premièr élément de la deuxième dimension.

Définition à la ligne 257 du fichier MultiArray2.h.

◆ m_sizes

template<typename DataType >
SharedArray<Integer> Arcane::MultiArray2< DataType >::m_sizes
private

Tableau des tailles de la deuxième dimension.

Définition à la ligne 259 du fichier MultiArray2.h.


La documentation de cette classe a été générée à partir du fichier suivant :