Arcane  v3.16.0.0
Documentation utilisateur
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>

Types publics

using ConstReferenceType = typename UniqueArray<DataType>::ConstReferenceType
 
using ThatClass = MultiArray2<DataType>
 

Fonctions membres publiques

 MultiArray2 (ConstArrayView< Int32 > sizes)
 
 MultiArray2 (const ThatClass &rhs)=delete
 
ThatClassoperator= (const ThatClass &rhs)=delete
 
ArrayView< DataType > operator[] (Integer i)
 
ConstArrayView< DataType > operator[] (Integer i) const
 
Int32 totalNbElement () const
 Nombre total d'éléments.
 
void clear ()
 Supprime les éléments du tableau.
 
void fill (const DataType &v)
 Remplit les éléments du tableau avec la valeur v.
 
DataType & at (Integer i, Integer j)
 
ConstReferenceType at (Integer i, Integer j) const
 
void setAt (Integer i, Integer j, ConstReferenceType v)
 
Int32 dim1Size () const
 Nombre d'éléments suivant la première dimension.
 
ConstArrayView< Int32dim2Sizes () 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.
 
JaggedSmallSpan< DataType > span ()
 Vue modifiable du tableau.
 
JaggedSmallSpan< const DataType > span () const
 Vue constante du tableau.
 
JaggedSmallSpan< const DataType > constSpan () 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 (ConstArrayView< Int32 > 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)
 
 MultiArray2 (const MemoryAllocationOptions &allocation_options)
 
 MultiArray2 (const MemoryAllocationOptions &allocation_options, ConstArrayView< Int32 > sizes)
 
ConstArrayView< DataType > _value (Integer i) const
 
void _resize (ConstArrayView< Int32 > ar)
 
void _copy (const MultiArray2< DataType > &rhs, bool do_clone)
 
void _copy (ConstMultiArray2View< DataType > aview)
 

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
MultiArray2<Int32> v(sizes);
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
Vecteur 1D de données avec sémantique par valeur (style STL).
Note
Les indices sont conservés via le type Int32. Le nombre total d'éléments du tableau est donc limité à 2^31

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 60 du fichier MultiArray2.h.

Documentation des définitions de type membres

◆ ConstReferenceType

template<typename DataType>
using Arcane::MultiArray2< DataType >::ConstReferenceType = typename UniqueArray<DataType>::ConstReferenceType

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

◆ ThatClass

template<typename DataType>
using Arcane::MultiArray2< DataType >::ThatClass = MultiArray2<DataType>

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

Documentation des constructeurs et destructeur

◆ MultiArray2() [1/5]

template<typename DataType>
Arcane::MultiArray2< DataType >::MultiArray2 ( ConstArrayView< Int32 > sizes)
inlineexplicit

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

◆ MultiArray2() [2/5]

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 88 du fichier MultiArray2.h.

◆ MultiArray2() [3/5]

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

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

◆ MultiArray2() [4/5]

template<typename DataType>
Arcane::MultiArray2< DataType >::MultiArray2 ( const MemoryAllocationOptions & allocation_options)
inlineexplicitprotected

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

◆ MultiArray2() [5/5]

template<typename DataType>
Arcane::MultiArray2< DataType >::MultiArray2 ( const MemoryAllocationOptions & allocation_options,
ConstArrayView< Int32 > sizes )
inlineprotected

Définition à la ligne 106 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 288 du fichier MultiArray2.h.

◆ _copy() [2/2]

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

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

◆ _resize()

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

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

◆ _value()

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

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

◆ at() [1/2]

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

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

◆ at() [2/2]

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

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

◆ clear()

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

Supprime les éléments du tableau.

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

Référencé par Arcane::MultiArray2< Pointer >::resize().

◆ constSpan()

template<typename DataType>
JaggedSmallSpan< const DataType > Arcane::MultiArray2< DataType >::constSpan ( ) const
inline

Vue constante du tableau.

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

◆ constView()

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

◆ dim1Size()

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

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

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

◆ dim2Sizes()

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

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

Définition à la ligne 159 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 136 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 168 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 162 du fichier MultiArray2.h.

◆ operator[]() [1/2]

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

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

◆ operator[]() [2/2]

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

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

◆ resize()

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

Retaille le tableau avec comme nouvelles tailles new_sizes.

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

◆ setAt()

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

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

◆ span() [1/2]

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

Vue modifiable du tableau.

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

◆ span() [2/2]

template<typename DataType>
JaggedSmallSpan< const DataType > Arcane::MultiArray2< DataType >::span ( ) const
inline

Vue constante du tableau.

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

◆ totalNbElement()

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

Nombre total d'éléments.

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

◆ view()

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

Vue modifiable du tableau.

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

Référencé par Arcane::MultiArray2< bool >::operator MultiArray2View< bool >().

◆ 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 204 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 210 du fichier MultiArray2.h.


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