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

Vecteur de données 2D partagées avec sémantique par référence. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/collections/arccore/collections/Array2.h>

+ Graphe d'héritage de Arccore::SharedArray2< T >:
+ Graphe de collaboration de Arccore::SharedArray2< T >:

Types publics

typedef SharedArray2< T > ThatClassType
 
typedef AbstractArray< T > BaseClassType
 
typedef BaseClassType::ConstReferenceType ConstReferenceType
 

Fonctions membres publiques

 SharedArray2 ()=default
 Créé un tableau vide.
 
 SharedArray2 (Int64 size1, Int64 size2)
 Créé un tableau de size1 * size2 éléments.
 
 SharedArray2 (const ConstArray2View< T > &view)
 Créé un tableau en recopiant les valeurs de la value view.
 
 SharedArray2 (const Span2< const T > &view)
 Créé un tableau en recopiant les valeurs de la value view.
 
 SharedArray2 (const SharedArray2< T > &rhs)
 Créé un tableau faisant référence à rhs.
 
 SharedArray2 (const UniqueArray2< T > &rhs)
 Créé un tableau en recopiant les valeurs rhs.
 
void operator= (const SharedArray2< T > &rhs)
 Change la référence de cette instance pour qu'elle soit celle de rhs.
 
void operator= (const UniqueArray2< T > &rhs)
 Copie les valeurs de rhs dans cette instance.
 
void operator= (const ConstArray2View< T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
void operator= (const Span2< const T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
 ~SharedArray2 () override
 Détruit l'instance.
 
SharedArray2< T > clone () const
 Clone le tableau.
 
- Fonctions membres publiques hérités de Arccore::Array2< T >
ArrayView< T > operator[] (Int64 i)
 
ConstArrayView< T > operator[] (Int64 i) const
 
ArrayView< T > operator() (Int64 i)
 
ConstArrayView< T > operator() (Int64 i) const
 
T & operator() (Int64 i, Int64 j)
 
ConstReferenceType operator() (Int64 i, Int64 j) const
 
item (Int64 i, Int64 j)
 
void setItem (Int64 i, Int64 j, ConstReferenceType v)
 
ConstArrayView< T > at (Int64 i) const
 Elément d'indice i. Vérifie toujours les débordements.
 
ArrayView< T > at (Int64 i)
 Elément d'indice i. Vérifie toujours les débordements.
 
at (Int64 i, Int64 j)
 
void fill (ConstReferenceType v)
 
void clear ()
 
Array2< T > clone ()
 
void copy (Span2< const T > 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< T > viewAsArray ()
 Vue du tableau sous forme de tableau 1D.
 
ConstArrayView< T > viewAsArray () const
 Vue du tableau sous forme de tableau 1D.
 
Span< T > to1DSpan ()
 Vue du tableau sous forme de tableau 1D.
 
Span< const T > to1DSpan () const
 Vue du tableau sous forme de tableau 1D.
 
 operator Array2View< T > ()
 
 operator ConstArray2View< T > () const
 
 operator Span2< const T > () const
 
 operator Span2< T > ()
 
Array2View< T > view ()
 
ConstArray2View< T > constView () const
 
Span2< T > span ()
 
Span2< const T > constSpan () const
 
Integer dim2Size () const
 
Integer dim1Size () const
 
Int64 largeDim2Size () const
 
Int64 largeDim1Size () const
 
void add (const T &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())
 
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
 

Fonctions membres protégées

void _initReference (const ThatClassType &rhs)
 
void _updateReferences () override final
 Mise à jour des références.
 
Integer _getNbRef () override final
 Mise à jour des références.
 
bool _isUseOwnMetaData () const final
 Indique si m_md fait référence à m_meta_data.
 
void _addReference (const ThatClassType *new_ref)
 Insère cette instance dans la liste chaînée. L'instance est insérée à la position de new_ref.
 
void _removeReference ()
 Supprime cette instance de la liste chaînée des références.
 
void _checkFreeMemory ()
 Détruit l'instance si plus personne ne la référence.
 
void _operatorEqual (const ThatClassType &rhs)
 
- Fonctions membres protégées hérités de Arccore::Array2< T >
 Array2 (Int64 size1, Int64 size2)
 Créé un tableau de size1 * size2 éléments.
 
 Array2 (ConstArray2View< T > rhs)
 
 Array2 (const Span2< const T > &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< T > &&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< T > &rhs)
 
void _swap (Array2< T > &rhs)
 
void _assignFromArray2 (const Array2< T > &rhs)
 
void _resizeAndCopyView (Span2< const T > rhs)
 
void _copyMetaData (const Array2< T > &rhs)
 

Fonctions membres privées

void operator= (const Array2< T > &rhs)
 Interdit.
 

Attributs privés

ThatClassTypem_next = nullptr
 Référence suivante dans la liste chaînée.
 
ThatClassTypem_prev = nullptr
 Référence précédente dans la liste chaînée.
 

Membres hérités additionnels

- Types protégés hérités de Arccore::Array2< T >
enum  CloneBehaviour
 
enum  InitBehaviour
 

Description détaillée

template<typename T>
class Arccore::SharedArray2< T >

Vecteur de données 2D partagées avec sémantique par référence.

a2 = a1;
a1[3][6] = 1;
a2[1][2] = 2;
Vecteur de données 2D partagées avec sémantique par référence.

Dans l'exemple précédent, a1 et a2 font référence à la même zone mémoire et donc a1[3][6] aura la même valeur que a2[1][2].

Pour avoir un vecteur qui recopie les éléments lors de l'affectation, il faut utiliser la classe UniqueArray2.

Pour plus d'informations, se reporter à SharedArray.

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

Documentation des définitions de type membres

◆ BaseClassType

template<typename T >
typedef AbstractArray<T> Arccore::SharedArray2< T >::BaseClassType

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

◆ ConstReferenceType

template<typename T >
typedef BaseClassType::ConstReferenceType Arccore::SharedArray2< T >::ConstReferenceType

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

◆ ThatClassType

template<typename T >
typedef SharedArray2<T> Arccore::SharedArray2< T >::ThatClassType

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

Documentation des constructeurs et destructeur

◆ SharedArray2() [1/5]

template<typename T >
Arccore::SharedArray2< T >::SharedArray2 ( Int64  size1,
Int64  size2 
)
inline

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

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

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

◆ SharedArray2() [2/5]

template<typename T >
Arccore::SharedArray2< T >::SharedArray2 ( const ConstArray2View< T > &  view)
inline

Créé un tableau en recopiant les valeurs de la value view.

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

Références Arccore::Array2< T >::copy().

◆ SharedArray2() [3/5]

template<typename T >
Arccore::SharedArray2< T >::SharedArray2 ( const Span2< const T > &  view)
inline

Créé un tableau en recopiant les valeurs de la value view.

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

Références Arccore::Array2< T >::copy().

◆ SharedArray2() [4/5]

template<typename T >
Arccore::SharedArray2< T >::SharedArray2 ( const SharedArray2< T > &  rhs)
inline

Créé un tableau faisant référence à rhs.

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

◆ SharedArray2() [5/5]

template<typename T >
Arccore::SharedArray2< T >::SharedArray2 ( const UniqueArray2< T > &  rhs)
inline

Créé un tableau en recopiant les valeurs rhs.

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

◆ ~SharedArray2()

template<typename T >
Arccore::SharedArray2< T >::~SharedArray2 ( )
inlineoverride

Détruit l'instance.

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

Références Arccore::SharedArray2< T >::_removeReference().

Documentation des fonctions membres

◆ _addReference()

template<typename T >
void Arccore::SharedArray2< T >::_addReference ( const ThatClassType new_ref)
inlineprotected

Insère cette instance dans la liste chaînée. L'instance est insérée à la position de new_ref.

Précondition
m_prev==0
m_next==0;

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

Références Arccore::SharedArray2< T >::m_next, et Arccore::SharedArray2< T >::m_prev.

◆ _checkFreeMemory()

template<typename T >
void Arccore::SharedArray2< T >::_checkFreeMemory ( )
inlineprotected

Détruit l'instance si plus personne ne la référence.

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

Références Arccore::ArrayMetaData::nb_ref.

◆ _getNbRef()

template<typename T >
Integer Arccore::SharedArray2< T >::_getNbRef ( )
inlinefinaloverrideprotectedvirtual

Mise à jour des références.

Réimplémentée à partir de Arccore::AbstractArray< T >.

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

Références Arccore::SharedArray2< T >::m_next, et Arccore::SharedArray2< T >::m_prev.

◆ _initReference()

template<typename T >
void Arccore::SharedArray2< T >::_initReference ( const ThatClassType rhs)
inlineprotected

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

◆ _isUseOwnMetaData()

template<typename T >
bool Arccore::SharedArray2< T >::_isUseOwnMetaData ( ) const
inlinefinalprotectedvirtual

Indique si m_md fait référence à m_meta_data.

C'est le cas pour les UniqueArray et UniqueArray2 mais pas pour les SharedArray et SharedArray2.

Réimplémentée à partir de Arccore::AbstractArrayBase.

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

◆ _operatorEqual()

template<typename T >
void Arccore::SharedArray2< T >::_operatorEqual ( const ThatClassType rhs)
inlineprotected

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

◆ _removeReference()

template<typename T >
void Arccore::SharedArray2< T >::_removeReference ( )
inlineprotected

Supprime cette instance de la liste chaînée des références.

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

Références Arccore::SharedArray2< T >::m_next, et Arccore::SharedArray2< T >::m_prev.

Référencé par Arccore::SharedArray2< T >::~SharedArray2().

◆ _updateReferences()

template<typename T >
void Arccore::SharedArray2< T >::_updateReferences ( )
inlinefinaloverrideprotectedvirtual

Mise à jour des références.

Réimplémentée à partir de Arccore::AbstractArray< T >.

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

Références Arccore::SharedArray2< T >::m_next, et Arccore::SharedArray2< T >::m_prev.

◆ clone()

template<typename T >
SharedArray2< T > Arccore::SharedArray2< T >::clone ( ) const
inline

Clone le tableau.

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

◆ operator=() [1/4]

template<typename T >
void Arccore::SharedArray2< T >::operator= ( const ConstArray2View< T > &  rhs)
inline

Copie les valeurs de la vue rhs dans cette instance.

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

Références Arccore::Array2< T >::copy().

◆ operator=() [2/4]

template<typename T >
void Arccore::SharedArray2< T >::operator= ( const SharedArray2< T > &  rhs)
inline

Change la référence de cette instance pour qu'elle soit celle de rhs.

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

◆ operator=() [3/4]

template<typename T >
void Arccore::SharedArray2< T >::operator= ( const Span2< const T > &  rhs)
inline

Copie les valeurs de la vue rhs dans cette instance.

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

Références Arccore::Array2< T >::copy().

◆ operator=() [4/4]

template<typename T >
void Arccore::SharedArray2< T >::operator= ( const UniqueArray2< T > &  rhs)
inline

Copie les valeurs de rhs dans cette instance.

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

Documentation des données membres

◆ m_next

◆ m_prev


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