Arcane  4.2.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::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/common/arccore/common/Array.h>

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

Types publics

typedef SharedArray< T > ThatClassType
typedef AbstractArray< T > BaseClassType
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
Types publics hérités de Arcane::Array< T >
typedef AbstractArray< T > BaseClassType
typedef AbstractArray< T > BaseClassType
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
typedef ArrayIterator< const_pointer > const_iterator
 Type de l'itérateur constant sur un élément du tableau.
typedef ArrayIterator< const_pointer > const_iterator
 Type de l'itérateur constant sur un élément du tableau.
typedef const value_type * const_pointer
 Type pointeur constant d'un élément du tableau.
typedef const value_type * const_pointer
 Type pointeur constant d'un élément du tableau.
typedef ConstReferenceType const_reference
 Type référence constante d'un élément du tableau.
typedef ConstReferenceType const_reference
 Type référence constante d'un élément du tableau.
typedef std::reverse_iterator< const_iterator > const_reverse_iterator
typedef std::reverse_iterator< const_iterator > const_reverse_iterator
typedef ptrdiff_t difference_type
 Type d'une distance entre itérateur éléments du tableau.
typedef ptrdiff_t difference_type
 Type d'une distance entre itérateur éléments du tableau.
typedef ArrayIterator< pointer > iterator
 Type de l'itérateur sur un élément du tableau.
typedef ArrayIterator< pointer > iterator
 Type de l'itérateur sur un élément du tableau.
typedef value_type * pointer
 Type pointeur d'un élément du tableau.
typedef value_type * pointer
 Type pointeur d'un élément du tableau.
typedef value_type & reference
 Type référence d'un élément du tableau.
typedef value_type & reference
 Type référence d'un élément du tableau.
typedef std::reverse_iterator< iterator > reverse_iterator
typedef std::reverse_iterator< iterator > reverse_iterator
typedef Int64 size_type
 Type indexant le tableau.
typedef Int64 size_type
 Type indexant le tableau.
typedef T value_type
 Type des éléments du tableau.
typedef T value_type
 Type des éléments du tableau.
Types publics hérités de Arcane::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_type * pointer
 Type pointeur d'un élément du tableau.
typedef const value_type * const_pointer
 Type pointeur constant d'un élément du tableau.
typedef ArrayIterator< pointer > iterator
 Type de l'itérateur sur un élément du tableau.
typedef ArrayIterator< const_pointer > const_iterator
 Type de l'itérateur constant sur un élément du tableau.
typedef value_type & reference
 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< iterator > reverse_iterator
typedef std::reverse_iterator< const_iterator > const_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 vide avec un allocateur spécifique allocator.
 SharedArray (const MemoryAllocationOptions &allocation_options)
 Créé un tableau vide avec un allocateur spécifique allocation_options.
 SharedArray (IMemoryAllocator *allocator, Int64 asize)
 Créé un tableau de asize éléments avec un allocateur spécifique allocator.
 SharedArray (const MemoryAllocationOptions &allocation_options, 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 Arcane::Array< T >
 Array (const Group &group)
void fill (const T &data)
 Remplissage du tableau.
T & operator[] (const T &item)
 Accesseur.
Arcane::UniqueArray< T >::ConstReferenceType operator[] (const T &item) const
 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.
void assign (InputIterator first, InputIterator last)
 Remplace le contenu de l'instance par des copies de celles de l'intervalle [first, last).
void assign (Int64 count, ConstReferenceType val)
 Remplace le contenu de l'instance par count copies de la valeur val.
iterator erase (const_iterator pos)
 Supprime l'élément à la position pos.
iterator erase (const_iterator first, const_iterator last)
 Supprime les éléments de l'intervalle [first, last).
T & at (Int64 i)
 Elément d'indice i. Vérifie toujours les débordements.
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.
const_iterator cbegin () const noexcept
 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.
const_iterator cend () const noexcept
 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.
ArrayRange< pointer > range ()
 Intervalle d'itération du premier au dernièr élément.
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.
void pop_back ()
 Supprime la dernière entité du tableau.
void emplace_back (Args &&... args)
 Ajoute un nouvel élément construit en place à la fin du tableau.
 Array (const Group &group)
void fill (const T &data)
 Remplissage du tableau.
void fill (ConstReferenceType value)
 Remplit le tableau avec la valeur value.
T & operator[] (const T &item)
 Accesseur.
Arcane::UniqueArray< T >::ConstReferenceType operator[] (const T &item) const
ConstReferenceType operator[] (Int64 i) const
 Elément d'indice i.
T & operator[] (Int64 i)
 Elément d'indice i.
 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< T > smallSpan ()
 Vue mutable sur ce tableau.
SmallSpan< const T > constSmallSpan () const
 Vue immutable 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.
void assign (InputIterator first, InputIterator last)
 Remplace le contenu de l'instance par des copies de celles de l'intervalle [first, last).
void assign (Int64 count, ConstReferenceType val)
 Remplace le contenu de l'instance par count copies de la valeur val.
iterator erase (const_iterator pos)
 Supprime l'élément à la position pos.
iterator erase (const_iterator first, const_iterator last)
 Supprime les éléments de l'intervalle [first, last).
T & at (Int64 i)
 Elément d'indice i. Vérifie toujours les débordements.
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
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 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.
const_iterator cbegin () const noexcept
 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.
const_iterator cend () const noexcept
 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.
ArrayRange< pointer > range ()
 Intervalle d'itération du premier au dernièr élément.
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.
void pop_back ()
 Supprime la dernière entité du tableau.
void emplace_back (Args &&... args)
 Ajoute un nouvel élément construit en place à la fin du tableau.
Fonctions membres publiques hérités de Arcane::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 _internalSetHostDeviceMemoryLocation (eHostDeviceMemoryLocation location)
 Positionne l'emplacement physique de la zone mémoire.
eHostDeviceMemoryLocation hostDeviceMemoryLocation () const
 Positionne l'emplacement physique de la zone mémoire.
void changeAllocator (const MemoryAllocationOptions &options, RunQueue *queue)
void changeAllocator (const MemoryAllocationOptions &options)
Fonctions membres publiques hérités de Arcane::AbstractArrayBase
IMemoryAllocator * allocator () 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é).
void printInfos (std::ostream &o)

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 Arcane::Array< T >
 Array (Array< T > &&rhs) ARCCORE_NOEXCEPT
 Constructeur par déplacement (uniquement pour UniqueArray).
void _initFromInitializerList (std::initializer_list< T > alist)
 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 Arcane::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 (MemoryAllocationOptions o, Int64 acapacity, void *pre_allocated_buffer=nullptr)
 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.
void _internalRealloc (Int64 new_capacity, bool compute_capacity, RunQueue *queue=nullptr)
 Réalloue le tableau pour une nouvelle capacité égale à new_capacity.
void _internalReallocate (Int64 new_capacity, RunQueue *queue)
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 Arcane::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

ThatClassType * m_next = nullptr
 Référence suivante dans la liste chaînée.
ThatClassType * m_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 Arcane::AbstractArray< T >
static constexpr Int64 typeSize ()
Fonctions membres protégées statiques hérités de Arcane::AbstractArrayBase
static constexpr RunQueue * _nullRunQueue ()
 Méthode explicite pour une RunQueue nulle.
Attributs protégés hérités de Arcane::AbstractArray< T >
T * m_ptr = nullptr
Attributs protégés hérités de Arcane::AbstractArrayBase
ArrayMetaData * m_md = nullptr
ArrayMetaData m_meta_data

Description détaillée

template<typename T>
class Arcane::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'
SharedArray()=default
Créé un tableau vide.

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 627 du fichier arccore/src/common/arccore/common/Array.h.

Documentation des définitions de type membres

◆ BaseClassType

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

Définition à la ligne 638 du fichier arccore/src/common/arccore/common/Array.h.

◆ ConstReferenceType

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

Définition à la ligne 176 du fichier AbstractArray.h.

◆ ThatClassType

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

Définition à la ligne 637 du fichier arccore/src/common/arccore/common/Array.h.

Documentation des constructeurs et destructeur

◆ SharedArray() [1/19]

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

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

Définition à la ligne 646 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [2/19]

template<typename T>
Arcane::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 652 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [3/19]

template<typename T>
Arcane::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 658 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [4/19]

template<typename T>
Arcane::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 662 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [5/19]

template<typename T>
Arcane::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 666 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [6/19]

template<typename T>
Arcane::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 670 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [7/19]

template<typename T>
Arcane::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 674 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [8/19]

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

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

Définition à la ligne 678 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [9/19]

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

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

Définition à la ligne 685 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [10/19]

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

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

Définition à la ligne 692 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [11/19]

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

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

Définition à la ligne 699 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [12/19]

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

Définition à la ligne 705 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [13/19]

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

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

Définition à la ligne 712 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [14/19]

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

Créé un tableau en recopiant les valeurs rhs.

Définition à la ligne 1224 du fichier arccore/src/common/arccore/common/Array.h.

Références Arcane::AbstractArray< T >::_initFromSpan(), Arcane::Array< DataType >::constSpan(), m_next, et m_prev.

Voici le graphe d'appel pour cette fonction :

◆ SharedArray() [15/19]

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

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

Avertissement
Using specific allocator for SharedArray is experimental

Définition à la ligne 726 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [16/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const MemoryAllocationOptions & allocation_options)
inlineexplicit

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

Avertissement
Using specific allocator for SharedArray is experimental

Définition à la ligne 736 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [17/19]

template<typename T>
Arcane::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é.

Définition à la ligne 750 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [18/19]

template<typename T>
Arcane::SharedArray< T >::SharedArray ( const MemoryAllocationOptions & allocation_options,
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é.

Définition à la ligne 762 du fichier arccore/src/common/arccore/common/Array.h.

◆ SharedArray() [19/19]

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

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

Définition à la ligne 771 du fichier arccore/src/common/arccore/common/Array.h.

◆ ~SharedArray()

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

Détruit le tableau.

Définition à la ligne 818 du fichier arccore/src/common/arccore/common/Array.h.

Documentation des fonctions membres

◆ _addReference()

template<typename T>
void Arcane::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 873 du fichier arccore/src/common/arccore/common/Array.h.

◆ _checkFreeMemory()

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

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

Définition à la ligne 892 du fichier arccore/src/common/arccore/common/Array.h.

◆ _getNbRef()

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

Mise à jour des références.

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

Définition à la ligne 851 du fichier arccore/src/common/arccore/common/Array.h.

◆ _initReference()

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

Définition à la ligne 833 du fichier arccore/src/common/arccore/common/Array.h.

◆ _isUseOwnMetaData()

template<typename T>
bool Arcane::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 Arcane::AbstractArrayBase.

Définition à la ligne 863 du fichier arccore/src/common/arccore/common/Array.h.

◆ _operatorEqual()

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

Définition à la ligne 899 du fichier arccore/src/common/arccore/common/Array.h.

◆ _removeReference()

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

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

Définition à la ligne 884 du fichier arccore/src/common/arccore/common/Array.h.

Référencé par Arcane::SharedArray< XmlNode >::~SharedArray().

Voici le graphe des appelants de cette fonction :

◆ _updateReferences()

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

Mise à jour des références.

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

Définition à la ligne 842 du fichier arccore/src/common/arccore/common/Array.h.

◆ clone()

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

Clone le tableau.

Définition à la ligne 826 du fichier arccore/src/common/arccore/common/Array.h.

◆ operator=() [1/7]

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

Copie les valeurs de la vue rhs dans cette instance.

Définition à la ligne 805 du fichier arccore/src/common/arccore/common/Array.h.

◆ operator=() [2/7]

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

Copie les valeurs de la vue rhs dans cette instance.

Définition à la ligne 799 du fichier arccore/src/common/arccore/common/Array.h.

◆ operator=() [3/7]

template<typename T>
void Arcane::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 779 du fichier arccore/src/common/arccore/common/Array.h.

◆ operator=() [4/7]

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

Copie les valeurs de la vue rhs dans cette instance.

Définition à la ligne 787 du fichier arccore/src/common/arccore/common/Array.h.

◆ operator=() [5/7]

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

Copie les valeurs de la vue rhs dans cette instance.

Définition à la ligne 793 du fichier arccore/src/common/arccore/common/Array.h.

◆ operator=() [6/7]

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

Copie les valeurs de rhs dans cette instance.

Définition à la ligne 1237 du fichier arccore/src/common/arccore/common/Array.h.

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

Voici le graphe d'appel pour cette fonction :

◆ operator=() [7/7]

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

Définition à la ligne 810 du fichier arccore/src/common/arccore/common/Array.h.

Documentation des données membres

◆ m_next

template<typename T>
ThatClassType* Arcane::SharedArray< T >::m_next = nullptr
private

Référence suivante dans la liste chaînée.

Définition à la ligne 913 du fichier arccore/src/common/arccore/common/Array.h.

Référencé par Arcane::SharedArray< XmlNode >::_addReference(), et SharedArray().

◆ m_prev

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

Référence précédente dans la liste chaînée.

Définition à la ligne 914 du fichier arccore/src/common/arccore/common/Array.h.

Référencé par Arcane::SharedArray< XmlNode >::_addReference(), et SharedArray().


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