Arcane  v4.1.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arccore::Array2< DataType >

Classe représentant un tableau 2D classique. Plus de détails...

#include <arccore/collections/Array2.h>

Fonctions membres publiques

ArrayView< DataType > operator[] (Int64 i)
 
ConstArrayView< DataType > operator[] (Int64 i) const
 
ArrayView< DataType > operator() (Int64 i)
 
ConstArrayView< DataType > operator() (Int64 i) const
 
DataType & operator() (Int64 i, Int64 j)
 
ConstReferenceType operator() (Int64 i, Int64 j) const
 
DataType item (Int64 i, Int64 j)
 
void setItem (Int64 i, Int64 j, ConstReferenceType v)
 
ConstArrayView< DataType > at (Int64 i) const
 Elément d'indice i. Vérifie toujours les débordements.
 
ArrayView< DataType > at (Int64 i)
 Elément d'indice i. Vérifie toujours les débordements.
 
DataType at (Int64 i, Int64 j)
 
void fill (ConstReferenceType v)
 
void clear ()
 
Array2< DataType > clone ()
 
void copy (Span2< const DataType > rhs)
 Redimensionne l'instance à partir des dimensions de rhs et copie dedans les valeurs de rhs.
 
Integer capacity () const
 Capacité (nombre d'éléments alloués) du tableau.
 
Int64 largeCapacity () const
 Capacité (nombre d'éléments alloués) du tableau.
 
void reserve (Int64 new_capacity)
 Réserve de la mémoire pour new_capacity éléments.
 
void shrink ()
 
void shrink (Int64 new_capacity)
 Réalloue la mémoire avoir une capacité proche de new_capacity.
 
void shrink_to_fit ()
 
ArrayView< DataType > viewAsArray ()
 Vue du tableau sous forme de tableau 1D.
 
ConstArrayView< DataType > viewAsArray () const
 Vue du tableau sous forme de tableau 1D.
 
Span< DataType > to1DSpan ()
 Vue du tableau sous forme de tableau 1D.
 
Span< const DataType > to1DSpan () const
 Vue du tableau sous forme de tableau 1D.
 
 operator Array2View< DataType > ()
 
 operator ConstArray2View< DataType > () const
 
 operator Span2< const DataType > () const
 
 operator Span2< DataType > ()
 
Array2View< DataType > view ()
 
ConstArray2View< DataType > constView () const
 
Span2< DataType > span ()
 
Span2< const DataType > constSpan () const
 
Integer dim2Size () const
 
Integer dim1Size () const
 
Int64 largeDim2Size () const
 
Int64 largeDim1Size () const
 
void add (const DataType &value)
 
void resize (Int64 new_size)
 Redimensionne uniquement la première dimension en laissant la deuxième à l'identique.
 
void resize (Int64 new_size1, Int64 new_size2)
 Réalloue les deux dimensions.
 
void resizeNoInit (Int64 new_size)
 Redimensionne uniquement la première dimension en laissant la deuxième à l'identique.
 
void resizeNoInit (Int64 new_size1, Int64 new_size2)
 Réalloue les deux dimensions.
 
Integer totalNbElement () const
 Nombre total d'éléments (dim1Size()*dim2Size())
 
Int64 largeTotalNbElement () const
 Nombre total d'éléments (largeDim1Size()*largeDim2Size())
 

Types protégés

enum  CloneBehaviour { CB_Clone , CB_Shared }
 
enum  InitBehaviour { IB_InitWithDefault , IB_NoInit }
 

Fonctions membres protégées

 Array2 (Int64 size1, Int64 size2)
 Créé un tableau de size1 * size2 éléments.
 
 Array2 (ConstArray2View< DataType > rhs)
 
 Array2 (const Span2< const DataType > &rhs)
 
 Array2 (IMemoryAllocator *allocator)
 Créé un tableau vide avec un allocateur spécifique allocator.
 
 Array2 (IMemoryAllocator *allocator, Int64 size1, Int64 size2)
 Créé un tableau de size1 * size2 éléments avec un allocateur spécifique allocator.
 
 Array2 (Array2< DataType > &&rhs)
 Constructeur par déplacement. Uniquement valide pour UniqueArray2.
 
void _resize (Int64 new_size, InitBehaviour rb)
 Redimensionne uniquement la première dimension en laissant la deuxième à l'identique.
 
void _resize (Int64 new_size1, Int64 new_size2, InitBehaviour rb)
 Réalloue les deux dimensions.
 
void _resizeFromEmpty (Int64 new_size1, Int64 new_size2, InitBehaviour rb)
 
void _resizeSameDim1ReduceDim2 (Int64 new_size2, InitBehaviour rb)
 
void _resizeSameDim1IncreaseDim2 (Int64 new_size2, InitBehaviour rb)
 
void _resize2 (Int64 d1, Int64 d2, InitBehaviour rb)
 
void _move (Array2< DataType > &rhs)
 
void _swap (Array2< DataType > &rhs)
 
void _assignFromArray2 (const Array2< DataType > &rhs)
 
void _resizeAndCopyView (Span2< const DataType > rhs)
 
void _copyMetaData (const Array2< DataType > &rhs)
 

Description détaillée

template<typename DataType>
class Arccore::Array2< DataType >

Classe représentant un tableau 2D classique.

Les instances de cette classe ne sont ni copiables ni affectable. Pour créer un tableau copiable, il faut utiliser SharedArray2 (pour une sémantique par référence) ou UniqueArray2 (pour une sémantique par valeur comme la STL).

Définition à la ligne 41 du fichier arccore/src/collections/arccore/collections/Array2.h.

Documentation des énumérations membres

◆ CloneBehaviour

template<typename DataType>
enum Arcane::Array2::CloneBehaviour
protected

Définition à la ligne 46 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ InitBehaviour

template<typename DataType>
enum Arcane::Array2::InitBehaviour
protected

Définition à la ligne 51 du fichier arccore/src/collections/arccore/collections/Array2.h.

Documentation des constructeurs et destructeur

◆ Array2() [1/7]

template<typename DataType>
Arcane::Array2< DataType >::Array2 ( )
inlineprotected

Définition à la ligne 84 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ Array2() [2/7]

template<typename DataType>
Arcane::Array2< DataType >::Array2 ( Int64 size1,
Int64 size2 )
inlineprotected

Créé un tableau de size1 * size2 éléments.

Définition à la ligne 86 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ Array2() [3/7]

template<typename DataType>
Arcane::Array2< DataType >::Array2 ( ConstArray2View< DataType > rhs)
inlineprotected

Définition à la ligne 91 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ Array2() [4/7]

template<typename DataType>
Arcane::Array2< DataType >::Array2 ( const Span2< const DataType > & rhs)
inlineprotected

Définition à la ligne 95 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ Array2() [5/7]

template<typename DataType>
Arcane::Array2< DataType >::Array2 ( IMemoryAllocator * allocator)
inlineexplicitprotected

Créé un tableau vide avec un allocateur spécifique allocator.

Définition à la ligne 103 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ Array2() [6/7]

template<typename DataType>
Arcane::Array2< DataType >::Array2 ( IMemoryAllocator * allocator,
Int64 size1,
Int64 size2 )
inlineprotected

Créé un tableau de size1 * size2 éléments avec un allocateur spécifique allocator.

Définition à la ligne 112 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ Array2() [7/7]

template<typename DataType>
Arcane::Array2< DataType >::Array2 ( Array2< DataType > && rhs)
inlineprotected

Constructeur par déplacement. Uniquement valide pour UniqueArray2.

Définition à la ligne 130 du fichier arccore/src/collections/arccore/collections/Array2.h.

Documentation des fonctions membres

◆ _assignFromArray2()

template<typename DataType>
void Arcane::Array2< DataType >::_assignFromArray2 ( const Array2< DataType > & rhs)
inlineprotected

Définition à la ligne 470 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _copyMetaData()

template<typename DataType>
void Arcane::Array2< DataType >::_copyMetaData ( const Array2< DataType > & rhs)
inlineprotected

Définition à la ligne 512 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _move()

template<typename DataType>
void Arcane::Array2< DataType >::_move ( Array2< DataType > & rhs)
inlineprotected

Définition à la ligne 459 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _resize() [1/2]

template<typename DataType>
void Arcane::Array2< DataType >::_resize ( Int64 new_size,
InitBehaviour rb )
inlineprotected

Redimensionne uniquement la première dimension en laissant la deuxième à l'identique.

Définition à la ligne 366 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _resize() [2/2]

template<typename DataType>
void Arcane::Array2< DataType >::_resize ( Int64 new_size1,
Int64 new_size2,
InitBehaviour rb )
inlineprotected

Réalloue les deux dimensions.

Définition à la ligne 377 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _resize2()

template<typename DataType>
void Arcane::Array2< DataType >::_resize2 ( Int64 d1,
Int64 d2,
InitBehaviour rb )
inlineprotected

Définition à la ligne 443 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _resizeAndCopyView()

template<typename DataType>
void Arcane::Array2< DataType >::_resizeAndCopyView ( Span2< const DataType > rhs)
inlineprotected

Définition à la ligne 484 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _resizeFromEmpty()

template<typename DataType>
void Arcane::Array2< DataType >::_resizeFromEmpty ( Int64 new_size1,
Int64 new_size2,
InitBehaviour rb )
inlineprotected

Définition à la ligne 397 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _resizeSameDim1IncreaseDim2()

template<typename DataType>
void Arcane::Array2< DataType >::_resizeSameDim1IncreaseDim2 ( Int64 new_size2,
InitBehaviour rb )
inlineprotected

Définition à la ligne 419 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _resizeSameDim1ReduceDim2()

template<typename DataType>
void Arcane::Array2< DataType >::_resizeSameDim1ReduceDim2 ( Int64 new_size2,
InitBehaviour rb )
inlineprotected

Définition à la ligne 405 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ _swap()

template<typename DataType>
void Arcane::Array2< DataType >::_swap ( Array2< DataType > & rhs)
inlineprotected

Définition à la ligne 464 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ add()

template<typename DataType>
void Arcane::Array2< DataType >::add ( const DataType & value)
inline

Définition à la ligne 308 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ at() [1/3]

template<typename DataType>
ArrayView< DataType > Arcane::Array2< DataType >::at ( Int64 i)
inline

Elément d'indice i. Vérifie toujours les débordements.

Définition à la ligne 197 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ at() [2/3]

template<typename DataType>
ConstArrayView< DataType > Arcane::Array2< DataType >::at ( Int64 i) const
inline

Elément d'indice i. Vérifie toujours les débordements.

Définition à la ligne 191 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ at() [3/3]

template<typename DataType>
DataType Arcane::Array2< DataType >::at ( Int64 i,
Int64 j )
inline

Définition à la ligne 202 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ capacity()

template<typename DataType>
Integer Arcane::Array2< DataType >::capacity ( ) const
inline

Capacité (nombre d'éléments alloués) du tableau.

Définition à la ligne 230 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ clear()

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

Définition à la ligne 212 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ clone()

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

Définition à la ligne 217 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ constSpan()

template<typename DataType>
Span2< const DataType > Arcane::Array2< DataType >::constSpan ( ) const
inline

Définition à la ligne 298 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ constView()

template<typename DataType>
ConstArray2View< DataType > Arcane::Array2< DataType >::constView ( ) const
inline

Définition à la ligne 290 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ copy()

template<typename DataType>
void Arcane::Array2< DataType >::copy ( Span2< const DataType > rhs)
inline

Redimensionne l'instance à partir des dimensions de rhs et copie dedans les valeurs de rhs.

Définition à la ligne 225 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ dim1Size()

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

Définition à la ligne 305 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ dim2Size()

template<typename DataType>
Integer Arcane::Array2< DataType >::dim2Size ( ) const
inline

Définition à la ligne 304 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ fill()

template<typename DataType>
void Arcane::Array2< DataType >::fill ( ConstReferenceType v)
inline

Définition à la ligne 208 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ item()

template<typename DataType>
DataType Arcane::Array2< DataType >::item ( Int64 i,
Int64 j )
inline

Définition à la ligne 180 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ largeCapacity()

template<typename DataType>
Int64 Arcane::Array2< DataType >::largeCapacity ( ) const
inline

Capacité (nombre d'éléments alloués) du tableau.

Définition à la ligne 233 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ largeDim1Size()

template<typename DataType>
Int64 Arcane::Array2< DataType >::largeDim1Size ( ) const
inline

Définition à la ligne 307 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ largeDim2Size()

template<typename DataType>
Int64 Arcane::Array2< DataType >::largeDim2Size ( ) const
inline

Définition à la ligne 306 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ largeTotalNbElement()

template<typename DataType>
Int64 Arcane::Array2< DataType >::largeTotalNbElement ( ) const
inline

Nombre total d'éléments (largeDim1Size()*largeDim2Size())

Définition à la ligne 361 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator Array2View< DataType >()

template<typename DataType>
Arcane::Array2< DataType >::operator Array2View< DataType > ( )
inline

Définition à la ligne 270 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator ConstArray2View< DataType >()

template<typename DataType>
Arcane::Array2< DataType >::operator ConstArray2View< DataType > ( ) const
inline

Définition à la ligne 274 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator Span2< const DataType >()

template<typename DataType>
Arcane::Array2< DataType >::operator Span2< const DataType > ( ) const
inline

Définition à la ligne 278 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator Span2< DataType >()

template<typename DataType>
Arcane::Array2< DataType >::operator Span2< DataType > ( )
inline

Définition à la ligne 282 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator()() [1/4]

template<typename DataType>
ArrayView< DataType > Arcane::Array2< DataType >::operator() ( Int64 i)
inline

Définition à la ligne 147 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator()() [2/4]

template<typename DataType>
ConstArrayView< DataType > Arcane::Array2< DataType >::operator() ( Int64 i) const
inline

Définition à la ligne 153 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator()() [3/4]

template<typename DataType>
DataType & Arcane::Array2< DataType >::operator() ( Int64 i,
Int64 j )
inline

Définition à la ligne 158 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator()() [4/4]

template<typename DataType>
ConstReferenceType Arcane::Array2< DataType >::operator() ( Int64 i,
Int64 j ) const
inline

Définition à la ligne 163 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator[]() [1/2]

template<typename DataType>
ArrayView< DataType > Arcane::Array2< DataType >::operator[] ( Int64 i)
inline

Définition à la ligne 135 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ operator[]() [2/2]

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

Définition à la ligne 141 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ reserve()

template<typename DataType>
void Arcane::Array2< DataType >::reserve ( Int64 new_capacity)
inline

Réserve de la mémoire pour new_capacity éléments.

Définition à la ligne 236 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ resize() [1/2]

template<typename DataType>
void Arcane::Array2< DataType >::resize ( Int64 new_size)
inline

Redimensionne uniquement la première dimension en laissant la deuxième à l'identique.

Les éventuelles nouvelles valeurs sont initialisées avec le constructeur par défaut.

Définition à la ligne 321 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ resize() [2/2]

template<typename DataType>
void Arcane::Array2< DataType >::resize ( Int64 new_size1,
Int64 new_size2 )
inline

Réalloue les deux dimensions.

Les éventuelles nouvelles valeurs sont initialisées avec le constructeur par défaut.

Définition à la ligne 342 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ resizeNoInit() [1/2]

template<typename DataType>
void Arcane::Array2< DataType >::resizeNoInit ( Int64 new_size)
inline

Redimensionne uniquement la première dimension en laissant la deuxième à l'identique.

Les éventuelles nouvelles valeurs NE sont PAS initialisées.

Définition à la ligne 332 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ resizeNoInit() [2/2]

template<typename DataType>
void Arcane::Array2< DataType >::resizeNoInit ( Int64 new_size1,
Int64 new_size2 )
inline

Réalloue les deux dimensions.

Les éventuelles nouvelles valeurs NE sont PAS initialisées.

Définition à la ligne 352 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ setItem()

template<typename DataType>
void Arcane::Array2< DataType >::setItem ( Int64 i,
Int64 j,
ConstReferenceType v )
inline

Définition à la ligne 185 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ shrink() [1/2]

template<typename DataType>
void Arcane::Array2< DataType >::shrink ( )
inline

Définition à la ligne 239 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ shrink() [2/2]

template<typename DataType>
void Arcane::Array2< DataType >::shrink ( Int64 new_capacity)
inline

Réalloue la mémoire avoir une capacité proche de new_capacity.

Définition à la ligne 242 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ shrink_to_fit()

template<typename DataType>
void Arcane::Array2< DataType >::shrink_to_fit ( )
inline

Définition à la ligne 245 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ span()

template<typename DataType>
Span2< DataType > Arcane::Array2< DataType >::span ( )
inline

Définition à la ligne 294 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ to1DSpan() [1/2]

template<typename DataType>
Span< DataType > Arcane::Array2< DataType >::to1DSpan ( )
inline

Vue du tableau sous forme de tableau 1D.

Définition à la ligne 258 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ to1DSpan() [2/2]

template<typename DataType>
Span< const DataType > Arcane::Array2< DataType >::to1DSpan ( ) const
inline

Vue du tableau sous forme de tableau 1D.

Définition à la ligne 263 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ totalNbElement()

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

Nombre total d'éléments (dim1Size()*dim2Size())

Définition à la ligne 358 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ view()

template<typename DataType>
Array2View< DataType > Arcane::Array2< DataType >::view ( )
inline

Définition à la ligne 286 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ viewAsArray() [1/2]

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

Vue du tableau sous forme de tableau 1D.

Définition à la ligne 248 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ viewAsArray() [2/2]

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

Vue du tableau sous forme de tableau 1D.

Définition à la ligne 253 du fichier arccore/src/collections/arccore/collections/Array2.h.


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