Vecteur de données 2D partagées avec sémantique par référence. Plus de détails...
#include <arccore/collections/Array2.h>
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 |
T | 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. | |
T | 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) |
Membres hérités additionnels | |
Types protégés hérités de Arccore::Array2< T > | |
enum | CloneBehaviour |
enum | InitBehaviour |
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.
typedef AbstractArray<T> Arccore::SharedArray2< T >::BaseClassType |
Définition à la ligne 550 du fichier arccore/src/collections/arccore/collections/Array2.h.
typedef BaseClassType::ConstReferenceType Arccore::SharedArray2< T >::ConstReferenceType |
Définition à la ligne 551 du fichier arccore/src/collections/arccore/collections/Array2.h.
typedef SharedArray2<T> Arccore::SharedArray2< T >::ThatClassType |
Définition à la ligne 549 du fichier arccore/src/collections/arccore/collections/Array2.h.
|
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().
|
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().
|
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().
|
inline |
Créé un tableau faisant référence à rhs.
Définition à la ligne 576 du fichier arccore/src/collections/arccore/collections/Array2.h.
|
inline |
Créé un tableau en recopiant les valeurs rhs.
Définition à la ligne 832 du fichier arccore/src/collections/arccore/collections/Array2.h.
|
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().
|
inlineprotected |
Insère cette instance dans la liste chaînée. L'instance est insérée à la position de new_ref.
Définition à la ligne 654 du fichier arccore/src/collections/arccore/collections/Array2.h.
|
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.
|
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.
|
inlineprotected |
Définition à la ligne 619 du fichier arccore/src/collections/arccore/collections/Array2.h.
|
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.
|
inlineprotected |
Définition à la ligne 680 du fichier arccore/src/collections/arccore/collections/Array2.h.
|
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érencé par Arccore::SharedArray2< T >::~SharedArray2().
|
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.
|
inline |
Clone le tableau.
Définition à la ligne 612 du fichier arccore/src/collections/arccore/collections/Array2.h.
|
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().
|
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.
|
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().
|
inline |
Copie les valeurs de rhs dans cette instance.
Définition à la ligne 842 du fichier arccore/src/collections/arccore/collections/Array2.h.