Arcane  v3.14.10.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>

+ Graphe d'héritage de Arccore::Array2< DataType >:
+ Graphe de collaboration de Arccore::Array2< DataType >:

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 resizeNoInit (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_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())
 
void setDebugName (const String &name)
 Positionne le nom du tableau pour les informations de debug.
 
String debugName () const
 Nom de debug (nul si aucun nom spécifié)
 
MemoryAllocationOptions allocationOptions () const
 

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 40 du fichier arccore/src/collections/arccore/collections/Array2.h.

Documentation des énumérations membres

◆ CloneBehaviour

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

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

◆ InitBehaviour

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

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

Documentation des constructeurs et destructeur

◆ Array2() [1/7]

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

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

◆ Array2() [2/7]

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

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

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

Références Arccore::Array2< DataType >::resize().

◆ Array2() [3/7]

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

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

◆ Array2() [4/7]

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

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

◆ Array2() [5/7]

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

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

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

Références Arccore::AbstractArray< DataType >::_initFromAllocator().

◆ Array2() [6/7]

template<typename DataType >
Arccore::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 108 du fichier arccore/src/collections/arccore/collections/Array2.h.

Références Arccore::AbstractArray< DataType >::_initFromAllocator(), et Arccore::Array2< DataType >::resize().

◆ Array2() [7/7]

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

Constructeur par déplacement. Uniquement valide pour UniqueArray2.

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

Documentation des fonctions membres

◆ _assignFromArray2()

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

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

◆ _copyMetaData()

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

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

◆ _move()

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

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

◆ _resize() [1/2]

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

◆ _resize() [2/2]

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

◆ _resize2()

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

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

◆ _resizeAndCopyView()

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

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

◆ _resizeFromEmpty()

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

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

◆ _resizeSameDim1IncreaseDim2()

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

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

◆ _resizeSameDim1ReduceDim2()

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

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

◆ _swap()

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

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

◆ add()

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

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

◆ allocationOptions()

template<typename DataType >
MemoryAllocationOptions Arccore::AbstractArrayBase::allocationOptions ( ) const
inline

Définition à la ligne 172 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ at() [1/3]

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

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

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

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

◆ at() [2/3]

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

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

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

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

Référencé par Arcane::Array2VariableT< T >::compact().

◆ at() [3/3]

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

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

◆ capacity()

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

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

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

Références Arccore::AbstractArray< DataType >::capacity().

◆ clear()

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

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

◆ clone()

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

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

◆ constSpan()

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

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

◆ constView()

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

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

◆ copy()

template<typename DataType >
void Arccore::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 221 du fichier arccore/src/collections/arccore/collections/Array2.h.

◆ debugName()

template<typename DataType >
String Arccore::AbstractArrayBase::debugName ( ) const

Nom de debug (nul si aucun nom spécifié)

Définition à la ligne 183 du fichier arccore/src/collections/arccore/collections/Array.cc.

◆ dim1Size()

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

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

◆ dim2Size()

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

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

◆ fill()

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

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

◆ item()

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

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

◆ largeCapacity()

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

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

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

Références Arccore::AbstractArray< DataType >::largeCapacity().

◆ largeDim1Size()

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

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

◆ largeDim2Size()

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

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

◆ largeTotalNbElement()

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

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

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

◆ operator Array2View< DataType >()

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

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

◆ operator ConstArray2View< DataType >()

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

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

◆ operator Span2< const DataType >()

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

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

◆ operator Span2< DataType >()

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

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

◆ operator()() [1/4]

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

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

◆ operator()() [2/4]

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

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

◆ operator()() [3/4]

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

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

◆ operator()() [4/4]

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

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

◆ operator[]() [1/2]

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

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

◆ operator[]() [2/2]

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

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

◆ reserve()

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

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

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

Références Arccore::AbstractArray< DataType >::_reserve().

◆ resize() [1/2]

template<typename DataType >
void Arccore::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 317 du fichier arccore/src/collections/arccore/collections/Array2.h.

Références Arccore::Array2< DataType >::_resize().

Référencé par Arccore::Array2< DataType >::Array2(), Arccore::Array2< DataType >::Array2(), et Arcane::Array2VariableT< T >::compact().

◆ resize() [2/2]

template<typename DataType >
void Arccore::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 338 du fichier arccore/src/collections/arccore/collections/Array2.h.

Références Arccore::Array2< DataType >::_resize().

◆ resizeNoInit() [1/2]

template<typename DataType >
void Arccore::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 328 du fichier arccore/src/collections/arccore/collections/Array2.h.

Références Arccore::Array2< DataType >::_resize().

◆ resizeNoInit() [2/2]

template<typename DataType >
void Arccore::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 348 du fichier arccore/src/collections/arccore/collections/Array2.h.

Références Arccore::Array2< DataType >::_resize().

◆ setDebugName()

template<typename DataType >
void Arccore::AbstractArrayBase::setDebugName ( const String name)

Positionne le nom du tableau pour les informations de debug.

Ce nom peut être utilisé par exemple pour les affichages listing.

Définition à la ligne 181 du fichier arccore/src/collections/arccore/collections/Array.cc.

◆ setItem()

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

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

◆ shrink() [1/2]

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

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

◆ shrink() [2/2]

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

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

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

◆ shrink_to_fit()

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

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

◆ span()

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

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

◆ to1DSpan() [1/2]

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

Vue du tableau sous forme de tableau 1D.

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

◆ to1DSpan() [2/2]

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

Vue du tableau sous forme de tableau 1D.

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

◆ totalNbElement()

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

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

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

Référencé par Arccore::Array2< DataType >::_resize().

◆ view()

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

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

◆ viewAsArray() [1/2]

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

Vue du tableau sous forme de tableau 1D.

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

◆ viewAsArray() [2/2]

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

Vue du tableau sous forme de tableau 1D.

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


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