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

Vecteur 1D de donné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/Array.h>

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

Types publics

typedef SharedArray< T > ThatClassType
 
typedef AbstractArray< T > BaseClassType
 
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
 
- Types publics hérités de Arccore::Array< T >
typedef AbstractArray< T > BaseClassType
 
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
 
typedef T value_type
 Type des éléments du tableau.
 
typedef ArrayIterator< pointeriterator
 Type de l'itérateur sur un élément du tableau.
 
typedef ArrayIterator< const_pointerconst_iterator
 Type de l'itérateur constant sur un élément du tableau.
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef value_typepointer
 Type pointeur d'un élément du tableau.
 
typedef const value_typeconst_pointer
 Type pointeur constant d'un élément du tableau.
 
typedef value_typereference
 Type référence d'un élément du tableau.
 
typedef ConstReferenceType const_reference
 Type référence constante d'un élément du tableau.
 
typedef Int64 size_type
 Type indexant le tableau.
 
typedef ptrdiff_t difference_type
 Type d'une distance entre itérateur éléments du tableau.
 
- Types publics hérités de Arccore::AbstractArray< T >
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
 
typedef ArrayTraits< T >::IsPODType IsPODType
 
typedef AbstractArray< T > ThatClassType
 
using TrueImpl = T
 
typedef T value_type
 Type des éléments du tableau.
 
typedef value_typepointer
 Type pointeur d'un élément du tableau.
 
typedef const value_typeconst_pointer
 Type pointeur constant d'un élément du tableau.
 
typedef ArrayIterator< pointeriterator
 Type de l'itérateur sur un élément du tableau.
 
typedef ArrayIterator< const_pointerconst_iterator
 Type de l'itérateur constant sur un élément du tableau.
 
typedef value_typereference
 Type référence d'un élément du tableau.
 
typedef ConstReferenceType const_reference
 Type référence constante d'un élément du tableau.
 
typedef Int64 size_type
 Type indexant le tableau.
 
typedef ptrdiff_t difference_type
 Type d'une distance entre itérateur éléments du tableau.
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 

Fonctions membres publiques

 SharedArray ()=default
 Créé un tableau vide.
 
 SharedArray (Int64 asize, ConstReferenceType value)
 Créé un tableau de size éléments contenant la valeur value.
 
 SharedArray (long long asize)
 Créé un tableau de size éléments contenant la valeur par défaut du type T()
 
 SharedArray (long asize)
 Créé un tableau de size éléments contenant la valeur par défaut du type T()
 
 SharedArray (int asize)
 Créé un tableau de size éléments contenant la valeur par défaut du type T()
 
 SharedArray (unsigned long long asize)
 Créé un tableau de size éléments contenant la valeur par défaut du type T()
 
 SharedArray (unsigned long asize)
 Créé un tableau de size éléments contenant la valeur par défaut du type T()
 
 SharedArray (unsigned int asize)
 Créé un tableau de size éléments contenant la valeur par défaut du type T()
 
 SharedArray (const ConstArrayView< T > &aview)
 Créé un tableau en recopiant les valeurs de la value view.
 
 SharedArray (const Span< const T > &aview)
 Créé un tableau en recopiant les valeurs de la value view.
 
 SharedArray (const ArrayView< T > &aview)
 Créé un tableau en recopiant les valeurs de la value view.
 
 SharedArray (const Span< T > &aview)
 Créé un tableau en recopiant les valeurs de la value view.
 
 SharedArray (std::initializer_list< T > alist)
 
 SharedArray (const SharedArray< T > &rhs)
 Créé un tableau faisant référence à rhs.
 
 SharedArray (const UniqueArray< T > &rhs)
 Créé un tableau en recopiant les valeurs rhs.
 
 SharedArray (IMemoryAllocator *allocator)
 Créé un tableau de asize éléments avec un allocateur spécifique allocator.
 
 SharedArray (IMemoryAllocator *allocator, Int64 asize)
 Créé un tableau de asize éléments avec un allocateur spécifique allocator.
 
 SharedArray (IMemoryAllocator *allocator, Span< const T > rhs)
 Créé un tableau avec l'allocateur allocator en recopiant les valeurs rhs.
 
void operator= (const SharedArray< T > &rhs)
 Change la référence de cette instance pour qu'elle soit celle de rhs.
 
void operator= (const UniqueArray< T > &rhs)
 Copie les valeurs de rhs dans cette instance.
 
void operator= (const Span< const T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
void operator= (const Span< T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
void operator= (const ConstArrayView< T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
void operator= (const ArrayView< T > &rhs)
 Copie les valeurs de la vue rhs dans cette instance.
 
void operator= (std::initializer_list< T > alist)
 
 ~SharedArray () override
 Détruit le tableau.
 
SharedArray< T > clone () const
 Clone le tableau.
 
- Fonctions membres publiques hérités de Arccore::Array< T >
 operator ConstArrayView< T > () const
 
 operator ArrayView< T > ()
 
 operator Span< const T > () const
 
 operator Span< T > ()
 
ConstArrayView< T > constView () const
 Vue constante sur ce tableau.
 
Span< const T > constSpan () const
 Vue constante sur ce tableau.
 
ConstArrayView< T > subConstView (Int64 abegin, Int32 asize) const
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
ArrayView< T > view () const
 Vue mutable sur ce tableau.
 
Span< const T > span () const
 Vue immutable sur ce tableau.
 
Span< T > span ()
 Vue mutable sur ce tableau.
 
SmallSpan< const T > smallSpan () const
 Vue immutable sur ce tableau.
 
SmallSpan< const T > constSmallSpan () const
 Vue immutable sur ce tableau.
 
SmallSpan< T > smallSpan ()
 Vue mutable sur ce tableau.
 
ArrayView< T > subView (Int64 abegin, Integer asize)
 Sous-vue à partir de l'élément abegin et contenant asize éléments.
 
void sample (ConstArrayView< Integer > indexes, ArrayView< T > result) const
 Extrait un sous-tableau à à partir d'une liste d'index.
 
void add (ConstReferenceType val)
 Ajoute l'élément val à la fin du tableau.
 
void addRange (ConstReferenceType val, Int64 n)
 Ajoute n élément de valeur val à la fin du tableau.
 
void addRange (ConstArrayView< T > val)
 Ajoute n élément de valeur val à la fin du tableau.
 
void addRange (Span< const T > val)
 Ajoute n élément de valeur val à la fin du tableau.
 
void addRange (ArrayView< T > val)
 Ajoute n élément de valeur val à la fin du tableau.
 
void addRange (Span< T > val)
 Ajoute n élément de valeur val à la fin du tableau.
 
void addRange (const Array< T > &val)
 Ajoute n élément de valeur val à la fin du tableau.
 
void resize (Int64 s)
 Change le nombre d'éléments du tableau à s.
 
void resize (Int64 s, ConstReferenceType fill_value)
 Change le nombre d'éléments du tableau à s.
 
void resizeNoInit (Int64 s)
 Redimensionne sans initialiser les nouvelles valeurs.
 
void reserve (Int64 new_capacity)
 Réserve le mémoire pour new_capacity éléments.
 
void shrink ()
 Réalloue pour libérer la mémoire non utilisée.
 
void shrink (Int64 new_capacity)
 Réalloue la mémoire avoir une capacité proche de new_capacity.
 
void shrink_to_fit ()
 Réalloue pour libérer la mémoire non utilisée.
 
void remove (Int64 index)
 Supprime l'entité ayant l'indice index.
 
void popBack ()
 Supprime la dernière entité du tableau.
 
ConstReferenceType at (Int64 i) const
 Elément d'indice i. Vérifie toujours les débordements.
 
void setAt (Int64 i, ConstReferenceType value)
 Positionne l'élément d'indice i. Vérifie toujours les débordements.
 
ConstReferenceType item (Int64 i) const
 Elément d'indice i.
 
void setItem (Int64 i, ConstReferenceType v)
 Elément d'indice i.
 
ConstReferenceType operator[] (Int64 i) const
 Elément d'indice i.
 
T & operator[] (Int64 i)
 Elément d'indice i.
 
ConstReferenceType operator() (Int64 i) const
 
T & operator() (Int64 i)
 Elément d'indice i.
 
T & back ()
 Dernier élément du tableau.
 
ConstReferenceType back () const
 Dernier élément du tableau (const)
 
T & front ()
 Premier élément du tableau.
 
ConstReferenceType front () const
 Premier élément du tableau (const)
 
void clear ()
 Supprime les éléments du tableau.
 
void fill (ConstReferenceType value)
 Remplit le tableau avec la valeur value.
 
void copy (Span< const T > rhs)
 Copie les valeurs de rhs dans l'instance.
 
Array< T > clone () const
 Clone le tableau.
 
const T * unguardedBasePointer () const
 
T * unguardedBasePointer ()
 
const T * data () const
 Accès à la racine du tableau hors toute protection.
 
T * data ()
 
iterator begin ()
 Itérateur sur le premier élément du tableau.
 
const_iterator begin () const
 Itérateur constant sur le premier élément du tableau.
 
iterator end ()
 Itérateur sur le premier élément après la fin du tableau.
 
const_iterator end () const
 Itérateur constant sur le premier élément après la fin du tableau.
 
reverse_iterator rbegin ()
 Itérateur inverse sur le premier élément du tableau.
 
const_reverse_iterator rbegin () const
 Itérateur inverse sur le premier élément du tableau.
 
reverse_iterator rend ()
 Itérateur inverse sur le premier élément après la fin du tableau.
 
const_reverse_iterator rend () const
 Itérateur inverse sur le premier élément après la fin du tableau.
 
 ARCCORE_DEPRECATED_REASON ("Y2023: Use begin()/end() instead") ArrayRange< pointer > range()
 Intervalle d'itération du premier au dernièr élément.
 
 ARCCORE_DEPRECATED_REASON ("Y2023: Use begin()/end() instead") ArrayRange< const_pointer > range() const
 Intervalle d'itération du premier au dernièr élément.
 
void push_back (ConstReferenceType val)
 Ajoute l'élément val à la fin du tableau.
 
- Fonctions membres publiques hérités de Arccore::AbstractArray< T >
 AbstractArray (const AbstractArray< T > &rhs)=delete
 
AbstractArray< T > & operator= (const AbstractArray< T > &rhs)=delete
 
void dispose ()
 Libère la mémoire utilisée par le tableau.
 
 operator ConstArrayView< T > () const
 
 operator Span< const T > () const
 
 operator SmallSpan< const T > () const
 
Integer size () const
 Nombre d'éléments du vecteur.
 
Integer length () const
 Nombre d'éléments du vecteur.
 
Integer capacity () const
 Capacité (nombre d'éléments alloués) du vecteur.
 
Int64 largeSize () const
 Nombre d'éléments du vecteur (en 64 bits)
 
Int64 largeLength () const
 Nombre d'éléments du vecteur (en 64 bits)
 
Int64 largeCapacity () const
 Capacité (nombre d'éléments alloués) du vecteur (en 64 bits)
 
bool empty () const
 Capacité (nombre d'éléments alloués) du vecteur.
 
bool contains (ConstReferenceType v) const
 Vrai si le tableau contient l'élément de valeur v.
 
ConstReferenceType operator[] (Int64 i) const
 Elément d'indice i.
 
ConstReferenceType operator() (Int64 i) const
 Elément d'indice i.
 
void setMemoryLocationHint (eMemoryLocationHint new_hint)
 Modifie les informations sur la localisation mémoire.
 
void printInfos (std::ostream &o)
 
- Fonctions membres publiques hérités de Arccore::AbstractArrayBase
IMemoryAllocatorallocator () const
 
MemoryAllocationOptions allocationOptions () const
 
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é)
 

Fonctions membres protégées

void _initReference (const ThatClassType &rhs)
 
void _updateReferences () final
 Mise à jour des références.
 
Integer _getNbRef () 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::Array< T >
 Array (Array< T > &&rhs) ARCCORE_NOEXCEPT
 Constructeur par déplacement (uniquement pour UniqueArray)
 
void _initFromInitializerList (std::initializer_list< T > alist)
 
- Fonctions membres protégées hérités de Arccore::AbstractArray< T >
 AbstractArray ()
 Construit un vecteur vide avec l'allocateur par défaut.
 
 AbstractArray (ThatClassType &&rhs) ARCCORE_NOEXCEPT
 Constructeur par déplacement. Ne doit être utilisé que par UniqueArray.
 
AllocatedMemoryInfo _currentMemoryInfo () const
 
void _initFromSpan (const Span< const T > &view)
 Initialise le tableau avec la vue view.
 
void _initFromAllocator (IMemoryAllocator *a, Int64 acapacity)
 Construit un tableau avec un allocateur spécifique a.
 
void _initFromAllocator (MemoryAllocationOptions o, Int64 acapacity)
 Construit un vecteur vide avec un allocateur spécifique a.
 
void _reserve (Int64 new_capacity)
 Réserve le mémoire pour new_capacity éléments.
 
template<typename PodType >
void _internalRealloc (Int64 new_capacity, bool compute_capacity, PodType pod_type, RunQueue *queue=nullptr)
 Réalloue le tableau pour une nouvelle capacité égale à new_capacity.
 
void _internalRealloc (Int64 new_capacity, bool compute_capacity)
 
void _internalReallocate (Int64 new_capacity, TrueType, RunQueue *queue)
 Réallocation pour un type POD.
 
void _internalReallocate (Int64 new_capacity, FalseType, RunQueue *queue)
 Réallocation pour un type complexe (non POD)
 
void _internalDeallocate (RunQueue *queue=nullptr)
 
void _internalAllocate (Int64 new_capacity, RunQueue *queue)
 
void _copyFromMemory (const T *source)
 
void _addRange (ConstReferenceType val, Int64 n)
 Ajoute n élément de valeur val à la fin du tableau.
 
void _addRange (Span< const T > val)
 Ajoute n élément de valeur val à la fin du tableau.
 
void _checkFreeMemory ()
 Détruit l'instance si plus personne ne la référence.
 
void _destroy ()
 
void _destroyRange (Int64, Int64, TrueType)
 
void _destroyRange (Int64 abegin, Int64 aend, FalseType)
 
void _createRangeDefault (Int64, Int64, TrueType)
 
void _createRangeDefault (Int64 abegin, Int64 aend, FalseType)
 
void _createRange (Int64 abegin, Int64 aend, ConstReferenceType value, TrueType)
 
void _createRange (Int64 abegin, Int64 aend, ConstReferenceType value, FalseType)
 
void _createRange (Int64 abegin, Int64 aend, const T *values)
 
void _fill (ConstReferenceType value)
 
void _clone (const ThatClassType &orig_array)
 
template<typename PodType >
void _resizeHelper (Int64 s, PodType pod_type, RunQueue *queue)
 
void _resize (Int64 s)
 
void _resizeNoInit (Int64 s, RunQueue *queue=nullptr)
 Redimensionne sans initialiser les nouvelles valeurs.
 
void _clear ()
 
void _resize (Int64 s, ConstReferenceType value)
 Redimensionne et remplit les nouvelles valeurs avec value.
 
void _copy (const T *rhs_begin, TrueType)
 
void _copy (const T *rhs_begin, FalseType)
 
void _copy (const T *rhs_begin)
 
void _resizeAndCopyView (Span< const T > rhs)
 Redimensionne l'instance et recopie les valeurs de rhs.
 
void _move (ThatClassType &rhs) ARCCORE_NOEXCEPT
 Implémente l'opérateur d'assignement par déplacement.
 
void _swap (ThatClassType &rhs) ARCCORE_NOEXCEPT
 Échange les valeurs de l'instance avec celles de rhs.
 
void _shrink ()
 
void _shrink (Int64 new_capacity)
 
void _reset ()
 Réinitialise le tableau à un tableau vide.
 
constexpr Integer _clampSizeOffet (Int64 offset, Int32 asize) const
 
void _assignFromArray (const AbstractArray< T > &rhs)
 
void _setMP (TrueImpl *new_mp)
 
void _setMP2 (TrueImpl *new_mp, ArrayMetaData *new_md)
 
bool _isSharedNull ()
 
- Fonctions membres protégées hérités de Arccore::AbstractArrayBase
void _swapMetaData (AbstractArrayBase &rhs)
 
void _copyMetaData (const AbstractArrayBase &rhs)
 
void _allocateMetaData ()
 
void _deallocateMetaData (ArrayMetaData *md)
 
void _checkValidSharedArray ()
 

Fonctions membres privées

void operator= (const Array< T > &rhs)=delete
 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

- Fonctions membres protégées statiques hérités de Arccore::AbstractArray< T >
static constexpr Int64 typeSize ()
 
- Fonctions membres protégées statiques hérités de Arccore::AbstractArrayBase
static constexpr RunQueue_nullRunQueue ()
 Méthode explicite pour une RunQueue nulle.
 
- Attributs protégés hérités de Arccore::AbstractArray< T >
T * m_ptr = nullptr
 
- Attributs protégés hérités de Arccore::AbstractArrayBase
ArrayMetaDatam_md = nullptr
 
ArrayMetaData m_meta_data
 

Description détaillée

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

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

Pour avoir un vecteur qui utilise une sémantique par valeur (à la std::vector), il faut utiliser la classe UniqueArray.

La sémantique par référence fonctionne comme suit:

a2 = a1; // a2 et a1 font référence à la même zone mémoire.
a1[3] = 1;
a2[3] = 2;
std::cout << a1[3]; // affiche '2'
Vecteur 1D de donné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 a2[3] aura la même valeur que a1[3] (soit la valeur 2),

Un tableau partagée est désalloué lorsqu'il n'existe plus de référence sur ce tableau.

Avertissement
les opérations de référencement/déréférencement (les opérateurs d'affection, de recopie et les destructeurs) ne sont pas thread-safe. Par conséquent ce type de tableau doit être utilisé avec précaution dans le cas d'un environnement multi-thread.
Voir également
UniqueArray.

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

Documentation des définitions de type membres

◆ BaseClassType

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

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

◆ ConstReferenceType

template<typename T >
typedef ArrayTraits<T>::ConstReferenceType Arccore::AbstractArray< T >::ConstReferenceType

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

◆ ThatClassType

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

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

Documentation des constructeurs et destructeur

◆ SharedArray() [1/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( Int64  asize,
ConstReferenceType  value 
)
inline

Créé un tableau de size éléments contenant la valeur value.

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

◆ SharedArray() [2/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( long long  asize)
inlineexplicit

Créé un tableau de size éléments contenant la valeur par défaut du type T()

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

◆ SharedArray() [3/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( long  asize)
inlineexplicit

Créé un tableau de size éléments contenant la valeur par défaut du type T()

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

◆ SharedArray() [4/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( int  asize)
inlineexplicit

Créé un tableau de size éléments contenant la valeur par défaut du type T()

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

◆ SharedArray() [5/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( unsigned long long  asize)
inlineexplicit

Créé un tableau de size éléments contenant la valeur par défaut du type T()

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

◆ SharedArray() [6/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( unsigned long  asize)
inlineexplicit

Créé un tableau de size éléments contenant la valeur par défaut du type T()

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

◆ SharedArray() [7/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( unsigned int  asize)
inlineexplicit

Créé un tableau de size éléments contenant la valeur par défaut du type T()

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

◆ SharedArray() [8/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( const ConstArrayView< T > &  aview)
inline

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

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

Références Arccore::AbstractArray< T >::_initFromSpan().

◆ SharedArray() [9/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( const Span< const T > &  aview)
inline

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

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

Références Arccore::AbstractArray< T >::_initFromSpan().

◆ SharedArray() [10/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( const ArrayView< T > &  aview)
inline

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

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

Références Arccore::AbstractArray< T >::_initFromSpan().

◆ SharedArray() [11/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( const Span< T > &  aview)
inline

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

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

Références Arccore::AbstractArray< T >::_initFromSpan().

◆ SharedArray() [12/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( std::initializer_list< T >  alist)
inline

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

◆ SharedArray() [13/17]

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

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

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

◆ SharedArray() [14/17]

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

Créé un tableau en recopiant les valeurs rhs.

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

Références Arccore::AbstractArray< T >::_initFromSpan(), et Arccore::Array< T >::constSpan().

◆ SharedArray() [15/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( IMemoryAllocator allocator)
inlineexplicit

Créé un tableau de asize éléments avec un allocateur spécifique allocator.

Si ArrayTraits<T>::IsPODType vaut TrueType, les éléments ne sont pas initialisés. Sinon, c'est le constructeur par défaut de T qui est utilisé.

Avertissement
Using specific allocator for SharedArray is experimental

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

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

◆ SharedArray() [16/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( IMemoryAllocator allocator,
Int64  asize 
)
inline

Créé un tableau de asize éléments avec un allocateur spécifique allocator.

Si ArrayTraits<T>::IsPODType vaut TrueType, les éléments ne sont pas initialisés. Sinon, c'est le constructeur par défaut de T qui est utilisé.

Avertissement
Using specific allocator for SharedArray is experimental

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

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

◆ SharedArray() [17/17]

template<typename T >
Arccore::SharedArray< T >::SharedArray ( IMemoryAllocator allocator,
Span< const T >  rhs 
)
inline

Créé un tableau avec l'allocateur allocator en recopiant les valeurs rhs.

Avertissement
Using specific allocator for SharedArray is experimental

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

Références Arccore::AbstractArray< T >::_initFromAllocator(), et Arccore::AbstractArray< T >::_initFromSpan().

◆ ~SharedArray()

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

Détruit le tableau.

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

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

Documentation des fonctions membres

◆ _addReference()

template<typename T >
void Arccore::SharedArray< 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 1716 du fichier arccore/src/collections/arccore/collections/Array.h.

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

◆ _checkFreeMemory()

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

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

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

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

◆ _getNbRef()

template<typename T >
Integer Arccore::SharedArray< T >::_getNbRef ( )
inlinefinalprotectedvirtual

Mise à jour des références.

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

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

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

◆ _initReference()

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

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

◆ _isUseOwnMetaData()

template<typename T >
bool Arccore::SharedArray< 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 1706 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _operatorEqual()

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

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

◆ _removeReference()

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

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

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

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

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

◆ _updateReferences()

template<typename T >
void Arccore::SharedArray< T >::_updateReferences ( )
inlinefinalprotectedvirtual

Mise à jour des références.

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

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

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

◆ clone()

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

Clone le tableau.

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

Références Arccore::Array< T >::constSpan().

◆ operator=() [1/7]

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

Copie les valeurs de la vue rhs dans cette instance.

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

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

◆ operator=() [2/7]

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

Copie les valeurs de la vue rhs dans cette instance.

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

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

◆ operator=() [3/7]

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

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

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

◆ operator=() [4/7]

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

Copie les valeurs de la vue rhs dans cette instance.

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

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

◆ operator=() [5/7]

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

Copie les valeurs de la vue rhs dans cette instance.

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

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

◆ operator=() [6/7]

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

Copie les valeurs de rhs dans cette instance.

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

◆ operator=() [7/7]

template<typename T >
void Arccore::SharedArray< T >::operator= ( std::initializer_list< T >  alist)
inline

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

Documentation des données membres

◆ m_next

◆ m_prev

template<typename T >
ThatClassType* Arccore::SharedArray< T >::m_prev = nullptr
private

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