Arcane  4.2.1.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::AbstractArray< T >

Classe abstraite de base d'un vecteur. Plus de détails...

#include <arccore/common/AbstractArray.h>

Types publics

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

 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
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é).
void printInfos (std::ostream &o)

Fonctions membres protégées

 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)
virtual void _updateReferences ()
 Mise à jour des références.
virtual Integer _getNbRef ()
 Mise à jour des références.
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
virtual bool _isUseOwnMetaData () const
 Indique si m_md fait référence à m_meta_data.
void _swapMetaData (AbstractArrayBase &rhs)
void _copyMetaData (const AbstractArrayBase &rhs)
void _allocateMetaData ()
void _deallocateMetaData (ArrayMetaData *md)
void _checkValidSharedArray ()

Fonctions membres protégées statiques

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

T * m_ptr = nullptr
Attributs protégés hérités de Arcane::AbstractArrayBase
ArrayMetaDatam_md = nullptr
ArrayMetaData m_meta_data

Amis

bool operator== (const AbstractArray< T > &rhs, const AbstractArray< T > &lhs)
bool operator!= (const AbstractArray< T > &rhs, const AbstractArray< T > &lhs)
bool operator== (const AbstractArray< T > &rhs, const Span< const T > &lhs)
bool operator!= (const AbstractArray< T > &rhs, const Span< const T > &lhs)
bool operator== (const Span< const T > &rhs, const AbstractArray< T > &lhs)
bool operator!= (const Span< const T > &rhs, const AbstractArray< T > &lhs)
std::ostream & operator<< (std::ostream &o, const AbstractArray< T > &val)

Description détaillée

template<typename T>
class Arcane::AbstractArray< T >

Classe abstraite de base d'un vecteur.

Cette classe ne peut pas être utilisée directement. Pour utiliser un vecteur, choisissez la classe SharedArray ou UniqueArray.

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

Documentation des définitions de type membres

◆ const_iterator

template<typename T>
typedef ArrayIterator<const_pointer> Arcane::AbstractArray< T >::const_iterator

Type de l'itérateur constant sur un élément du tableau.

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

◆ const_pointer

template<typename T>
typedef const value_type* Arcane::AbstractArray< T >::const_pointer

Type pointeur constant d'un élément du tableau.

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

◆ const_reference

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

Type référence constante d'un élément du tableau.

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

◆ const_reverse_iterator

template<typename T>
typedef std::reverse_iterator<const_iterator> Arcane::AbstractArray< T >::const_reverse_iterator

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

◆ ConstReferenceType

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

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

◆ difference_type

template<typename T>
typedef ptrdiff_t Arcane::AbstractArray< T >::difference_type

Type d'une distance entre itérateur éléments du tableau.

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

◆ IsPODType

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

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

◆ iterator

template<typename T>
typedef ArrayIterator<pointer> Arcane::AbstractArray< T >::iterator

Type de l'itérateur sur un élément du tableau.

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

◆ pointer

template<typename T>
typedef value_type* Arcane::AbstractArray< T >::pointer

Type pointeur d'un élément du tableau.

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

◆ reference

template<typename T>
typedef value_type& Arcane::AbstractArray< T >::reference

Type référence d'un élément du tableau.

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

◆ reverse_iterator

template<typename T>
typedef std::reverse_iterator<iterator> Arcane::AbstractArray< T >::reverse_iterator

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

◆ size_type

template<typename T>
typedef Int64 Arcane::AbstractArray< T >::size_type

Type indexant le tableau.

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

◆ ThatClassType

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

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

◆ TrueImpl

template<typename T>
using Arcane::AbstractArray< T >::TrueImpl = T

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

◆ value_type

template<typename T>
typedef T Arcane::AbstractArray< T >::value_type

Type des éléments du tableau.

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

Documentation des constructeurs et destructeur

◆ AbstractArray() [1/2]

template<typename T>
Arcane::AbstractArray< T >::AbstractArray ( )
inlineprotected

Construit un vecteur vide avec l'allocateur par défaut.

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

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

◆ AbstractArray() [2/2]

template<typename T>
Arcane::AbstractArray< T >::AbstractArray ( ThatClassType && rhs)
inlineprotected

Constructeur par déplacement. Ne doit être utilisé que par UniqueArray.

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

◆ ~AbstractArray()

template<typename T>
Arcane::AbstractArray< T >::~AbstractArray ( )
inlineoverrideprotected

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

Documentation des fonctions membres

◆ _addRange() [1/2]

template<typename T>
void Arcane::AbstractArray< T >::_addRange ( ConstReferenceType val,
Int64 n )
inlineprotected

◆ _addRange() [2/2]

template<typename T>
void Arcane::AbstractArray< T >::_addRange ( Span< const T > val)
inlineprotected

Ajoute n élément de valeur val à la fin du tableau.

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

◆ _assignFromArray()

template<typename T>
void Arcane::AbstractArray< T >::_assignFromArray ( const AbstractArray< T > & rhs)
inlineprotected

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

◆ _checkFreeMemory()

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

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

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

◆ _clampSizeOffet()

template<typename T>
Integer Arcane::AbstractArray< T >::_clampSizeOffet ( Int64 offset,
Int32 asize ) const
inlineconstexprprotected

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

◆ _clear()

template<typename T>
void Arcane::AbstractArray< T >::_clear ( )
inlineprotected

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

◆ _clone()

template<typename T>
void Arcane::AbstractArray< T >::_clone ( const ThatClassType & orig_array)
inlineprotected

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

◆ _copy() [1/3]

template<typename T>
void Arcane::AbstractArray< T >::_copy ( const T * rhs_begin)
inlineprotected

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

◆ _copy() [2/3]

template<typename T>
void Arcane::AbstractArray< T >::_copy ( const T * rhs_begin,
FalseType  )
inlineprotected

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

◆ _copy() [3/3]

template<typename T>
void Arcane::AbstractArray< T >::_copy ( const T * rhs_begin,
TrueType  )
inlineprotected

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

◆ _copyFromMemory()

template<typename T>
void Arcane::AbstractArray< T >::_copyFromMemory ( const T * source)
inlineprotected

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

◆ _createRange() [1/3]

template<typename T>
void Arcane::AbstractArray< T >::_createRange ( Int64 abegin,
Int64 aend,
const T * values )
inlineprotected

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

◆ _createRange() [2/3]

template<typename T>
void Arcane::AbstractArray< T >::_createRange ( Int64 abegin,
Int64 aend,
ConstReferenceType value,
FalseType  )
inlineprotected

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

◆ _createRange() [3/3]

template<typename T>
void Arcane::AbstractArray< T >::_createRange ( Int64 abegin,
Int64 aend,
ConstReferenceType value,
TrueType  )
inlineprotected

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

◆ _createRangeDefault() [1/2]

template<typename T>
void Arcane::AbstractArray< T >::_createRangeDefault ( Int64 abegin,
Int64 aend,
FalseType  )
inlineprotected

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

◆ _createRangeDefault() [2/2]

template<typename T>
void Arcane::AbstractArray< T >::_createRangeDefault ( Int64 ,
Int64 ,
TrueType  )
inlineprotected

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

◆ _currentMemoryInfo()

template<typename T>
AllocatedMemoryInfo Arcane::AbstractArray< T >::_currentMemoryInfo ( ) const
inlineprotected

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

◆ _destroy()

template<typename T>
void Arcane::AbstractArray< T >::_destroy ( )
inlineprotected

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

◆ _destroyRange() [1/2]

template<typename T>
void Arcane::AbstractArray< T >::_destroyRange ( Int64 abegin,
Int64 aend,
FalseType  )
inlineprotected

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

◆ _destroyRange() [2/2]

template<typename T>
void Arcane::AbstractArray< T >::_destroyRange ( Int64 ,
Int64 ,
TrueType  )
inlineprotected

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

◆ _fill()

template<typename T>
void Arcane::AbstractArray< T >::_fill ( ConstReferenceType value)
inlineprotected

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

◆ _getNbRef()

template<typename T>
virtual Integer Arcane::AbstractArray< T >::_getNbRef ( )
inlineprotectedvirtual

Mise à jour des références.

Réimplémentée dans Arcane::SharedArray2< T >, Arcane::SharedArray2< BFloat16 >, Arcane::SharedArray2< BFloat16 >, Arcane::SharedArray2< bool >, Arcane::SharedArray2< bool >, Arcane::SharedArray2< Byte >, Arcane::SharedArray2< Byte >, Arcane::SharedArray2< Float16 >, Arcane::SharedArray2< Float16 >, Arcane::SharedArray2< Float32 >, Arcane::SharedArray2< Float32 >, Arcane::SharedArray2< Int16 >, Arcane::SharedArray2< Int16 >, Arcane::SharedArray2< Int32 >, Arcane::SharedArray2< Int32 >, Arcane::SharedArray2< Int64 >, Arcane::SharedArray2< Int64 >, Arcane::SharedArray2< Int8 >, Arcane::SharedArray2< Int8 >, Arcane::SharedArray2< Integer >, Arcane::SharedArray2< Integer >, Arcane::SharedArray2< Pointer >, Arcane::SharedArray2< Pointer >, Arcane::SharedArray2< Real >, Arcane::SharedArray2< Real >, Arcane::SharedArray2< Real2 >, Arcane::SharedArray2< Real2 >, Arcane::SharedArray2< Real2x2 >, Arcane::SharedArray2< Real2x2 >, Arcane::SharedArray2< Real3 >, Arcane::SharedArray2< Real3 >, Arcane::SharedArray2< Real3x3 >, Arcane::SharedArray2< Real3x3 >, Arcane::SharedArray2< String >, Arcane::SharedArray2< String >, Arcane::SharedArray2< UChar >, Arcane::SharedArray2< UChar >, Arcane::SharedArray< T >, Arcane::SharedArray< BFloat16 >, Arcane::SharedArray< BFloat16 >, Arcane::SharedArray< bool >, Arcane::SharedArray< bool >, Arcane::SharedArray< Byte >, Arcane::SharedArray< Byte >, Arcane::SharedArray< DataType >, Arcane::SharedArray< EdgeTypeConstRef >, Arcane::SharedArray< EdgeTypeConstRef >, Arcane::SharedArray< EdgeTypeRef >, Arcane::SharedArray< EdgeTypeRef >, Arcane::SharedArray< Float16 >, Arcane::SharedArray< Float16 >, Arcane::SharedArray< Float32 >, Arcane::SharedArray< Float32 >, Arcane::SharedArray< Int16 >, Arcane::SharedArray< Int16 >, Arcane::SharedArray< Int32 >, Arcane::SharedArray< Int32 >, Arcane::SharedArray< Int64 >, Arcane::SharedArray< Int64 >, Arcane::SharedArray< Int8 >, Arcane::SharedArray< Int8 >, Arcane::SharedArray< Integer >, Arcane::SharedArray< Integer >, Arcane::SharedArray< Pointer >, Arcane::SharedArray< Pointer >, Arcane::SharedArray< Real >, Arcane::SharedArray< Real >, Arcane::SharedArray< Real2 >, Arcane::SharedArray< Real2 >, Arcane::SharedArray< Real2x2 >, Arcane::SharedArray< Real2x2 >, Arcane::SharedArray< Real3 >, Arcane::SharedArray< Real3 >, Arcane::SharedArray< Real3x3 >, Arcane::SharedArray< Real3x3 >, Arcane::SharedArray< String >, Arcane::SharedArray< String >, Arcane::SharedArray< UChar >, Arcane::SharedArray< UChar >, Arcane::SharedArray< VertexTypeConstRef >, Arcane::SharedArray< VertexTypeConstRef >, Arcane::SharedArray< VertexTypeRef >, Arcane::SharedArray< VertexTypeRef >, Arcane::SharedArray< XmlNode >, Arcane::SharedArray< XmlNode >, Arccore::SharedArray2< T >, et Arccore::SharedArray< T >.

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

◆ _initFromAllocator()

template<typename T>
void Arcane::AbstractArray< T >::_initFromAllocator ( MemoryAllocationOptions o,
Int64 acapacity,
void * pre_allocated_buffer = nullptr )
inlineprotected

◆ _initFromSpan()

◆ _internalAllocate()

template<typename T>
void Arcane::AbstractArray< T >::_internalAllocate ( Int64 new_capacity,
RunQueue * queue )
inlineprotected

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

◆ _internalDeallocate()

template<typename T>
void Arcane::AbstractArray< T >::_internalDeallocate ( RunQueue * queue = nullptr)
inlineprotected

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

◆ _internalRealloc()

template<typename T>
void Arcane::AbstractArray< T >::_internalRealloc ( Int64 new_capacity,
bool compute_capacity,
RunQueue * queue = nullptr )
inlineprotected

Réalloue le tableau pour une nouvelle capacité égale à new_capacity.

Si la nouvelle capacité est inférieure à l'ancienne, rien ne se passe.

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

Référencé par Arcane::AbstractArray< DataType >::_addRange(), Arcane::AbstractArray< DataType >::_addRange(), Arcane::AbstractArray< DataType >::_reserve(), Arcane::AbstractArray< DataType >::_resize(), Arcane::AbstractArray< DataType >::_resizeAndCopyView(), et Arcane::Array< IVariable * >::add().

◆ _internalReallocate()

template<typename T>
void Arcane::AbstractArray< T >::_internalReallocate ( Int64 new_capacity,
RunQueue * queue )
inlineprotected

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

◆ _internalSetHostDeviceMemoryLocation()

template<typename T>
void Arcane::AbstractArray< T >::_internalSetHostDeviceMemoryLocation ( eHostDeviceMemoryLocation location)
inline

Positionne l'emplacement physique de la zone mémoire.

Avertissement
L'appelant doit garantir la cohérence entre l'allocateur et la zone mémoire spécifiée.

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

◆ _isSharedNull()

template<typename T>
bool Arcane::AbstractArray< T >::_isSharedNull ( )
inlineprotected

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

◆ _move()

template<typename T>
void Arcane::AbstractArray< T >::_move ( ThatClassType & rhs)
inlineprotected

Implémente l'opérateur d'assignement par déplacement.

Cet appel n'est valide que pour les tableaux de type UniqueArray qui n'ont qu'une seule référence. Les infos de rhs sont directement copiés cette l'instance. En retour, rhs contient le tableau vide.

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

Référencé par Arcane::UniqueArray< CaseOptionEnumValue * >::operator=().

◆ _reserve()

template<typename T>
void Arcane::AbstractArray< T >::_reserve ( Int64 new_capacity)
inlineprotected

Réserve le mémoire pour new_capacity éléments.

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

Référencé par Arcane::Array< IVariable * >::reserve().

◆ _reset()

template<typename T>
void Arcane::AbstractArray< T >::_reset ( )
inlineprotected

Réinitialise le tableau à un tableau vide.

Avertissement
Cette méthode n'est valide que pour les UniqueArray et pas les SharedArray.

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

Référencé par Arcane::SmallArray< T, NbElement >::~SmallArray().

◆ _resize() [1/2]

template<typename T>
void Arcane::AbstractArray< T >::_resize ( Int64 s)
inlineprotected

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

◆ _resize() [2/2]

template<typename T>
void Arcane::AbstractArray< T >::_resize ( Int64 s,
ConstReferenceType value )
inlineprotected

Redimensionne et remplit les nouvelles valeurs avec value.

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

◆ _resizeAndCopyView()

template<typename T>
void Arcane::AbstractArray< T >::_resizeAndCopyView ( Span< const T > rhs)
inlineprotected

Redimensionne l'instance et recopie les valeurs de rhs.

Si la taille diminue, les éléments compris entre size() et rhs.size() sont détruits.

Postcondition
size()==rhs.size()

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

Référencé par Arcane::Array< IVariable * >::copy().

◆ _resizeHelper()

template<typename T>
template<typename PodType>
void Arcane::AbstractArray< T >::_resizeHelper ( Int64 s,
PodType pod_type,
RunQueue * queue )
inlineprotected

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

◆ _resizeNoInit()

template<typename T>
void Arcane::AbstractArray< T >::_resizeNoInit ( Int64 s,
RunQueue * queue = nullptr )
inlineprotected

Redimensionne sans initialiser les nouvelles valeurs.

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

Référencé par Arcane::Array< IVariable * >::resizeNoInit().

◆ _setMP()

template<typename T>
void Arcane::AbstractArray< T >::_setMP ( TrueImpl * new_mp)
inlineprotected

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

◆ _setMP2()

template<typename T>
void Arcane::AbstractArray< T >::_setMP2 ( TrueImpl * new_mp,
ArrayMetaData * new_md )
inlineprotected

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

◆ _shrink() [1/2]

template<typename T>
void Arcane::AbstractArray< T >::_shrink ( )
inlineprotected

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

◆ _shrink() [2/2]

template<typename T>
void Arcane::AbstractArray< T >::_shrink ( Int64 new_capacity)
inlineprotected

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

◆ _swap()

template<typename T>
void Arcane::AbstractArray< T >::_swap ( ThatClassType & rhs)
inlineprotected

Échange les valeurs de l'instance avec celles de rhs.

Cet appel n'est valide que pour les tableaux de type UniqueArray et l'échange se fait uniquement par l'échange des pointeurs. L'opération est donc de complexité constante.

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

Référencé par Arcane::UniqueArray< CaseOptionEnumValue * >::swap().

◆ _updateReferences()

template<typename T>
virtual void Arcane::AbstractArray< T >::_updateReferences ( )
inlineprotectedvirtual

Mise à jour des références.

Réimplémentée dans Arcane::SharedArray2< T >, Arcane::SharedArray2< BFloat16 >, Arcane::SharedArray2< BFloat16 >, Arcane::SharedArray2< bool >, Arcane::SharedArray2< bool >, Arcane::SharedArray2< Byte >, Arcane::SharedArray2< Byte >, Arcane::SharedArray2< Float16 >, Arcane::SharedArray2< Float16 >, Arcane::SharedArray2< Float32 >, Arcane::SharedArray2< Float32 >, Arcane::SharedArray2< Int16 >, Arcane::SharedArray2< Int16 >, Arcane::SharedArray2< Int32 >, Arcane::SharedArray2< Int32 >, Arcane::SharedArray2< Int64 >, Arcane::SharedArray2< Int64 >, Arcane::SharedArray2< Int8 >, Arcane::SharedArray2< Int8 >, Arcane::SharedArray2< Integer >, Arcane::SharedArray2< Integer >, Arcane::SharedArray2< Pointer >, Arcane::SharedArray2< Pointer >, Arcane::SharedArray2< Real >, Arcane::SharedArray2< Real >, Arcane::SharedArray2< Real2 >, Arcane::SharedArray2< Real2 >, Arcane::SharedArray2< Real2x2 >, Arcane::SharedArray2< Real2x2 >, Arcane::SharedArray2< Real3 >, Arcane::SharedArray2< Real3 >, Arcane::SharedArray2< Real3x3 >, Arcane::SharedArray2< Real3x3 >, Arcane::SharedArray2< String >, Arcane::SharedArray2< String >, Arcane::SharedArray2< UChar >, Arcane::SharedArray2< UChar >, Arcane::SharedArray< T >, Arcane::SharedArray< BFloat16 >, Arcane::SharedArray< BFloat16 >, Arcane::SharedArray< bool >, Arcane::SharedArray< bool >, Arcane::SharedArray< Byte >, Arcane::SharedArray< Byte >, Arcane::SharedArray< DataType >, Arcane::SharedArray< EdgeTypeConstRef >, Arcane::SharedArray< EdgeTypeConstRef >, Arcane::SharedArray< EdgeTypeRef >, Arcane::SharedArray< EdgeTypeRef >, Arcane::SharedArray< Float16 >, Arcane::SharedArray< Float16 >, Arcane::SharedArray< Float32 >, Arcane::SharedArray< Float32 >, Arcane::SharedArray< Int16 >, Arcane::SharedArray< Int16 >, Arcane::SharedArray< Int32 >, Arcane::SharedArray< Int32 >, Arcane::SharedArray< Int64 >, Arcane::SharedArray< Int64 >, Arcane::SharedArray< Int8 >, Arcane::SharedArray< Int8 >, Arcane::SharedArray< Integer >, Arcane::SharedArray< Integer >, Arcane::SharedArray< Pointer >, Arcane::SharedArray< Pointer >, Arcane::SharedArray< Real >, Arcane::SharedArray< Real >, Arcane::SharedArray< Real2 >, Arcane::SharedArray< Real2 >, Arcane::SharedArray< Real2x2 >, Arcane::SharedArray< Real2x2 >, Arcane::SharedArray< Real3 >, Arcane::SharedArray< Real3 >, Arcane::SharedArray< Real3x3 >, Arcane::SharedArray< Real3x3 >, Arcane::SharedArray< String >, Arcane::SharedArray< String >, Arcane::SharedArray< UChar >, Arcane::SharedArray< UChar >, Arcane::SharedArray< VertexTypeConstRef >, Arcane::SharedArray< VertexTypeConstRef >, Arcane::SharedArray< VertexTypeRef >, Arcane::SharedArray< VertexTypeRef >, Arcane::SharedArray< XmlNode >, Arcane::SharedArray< XmlNode >, Arccore::SharedArray2< T >, et Arccore::SharedArray< T >.

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

Référencé par Arcane::AbstractArray< DataType >::dispose().

◆ capacity()

template<typename T>
Integer Arcane::AbstractArray< T >::capacity ( ) const
inline

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

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

Référencé par Arcane::ItemGroupImpl::capacity(), et Arcane::MemoryUtils::checkResizeArrayWithCapacity().

◆ changeAllocator() [1/2]

template<typename T>
void Arcane::AbstractArray< T >::changeAllocator ( const MemoryAllocationOptions & options)
inline

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

◆ changeAllocator() [2/2]

template<typename T>
void Arcane::AbstractArray< T >::changeAllocator ( const MemoryAllocationOptions & options,
RunQueue * queue )
inline

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

◆ contains()

template<typename T>
bool Arcane::AbstractArray< T >::contains ( ConstReferenceType v) const
inline

Vrai si le tableau contient l'élément de valeur v.

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

Référencé par Arcane::CaseOptionMultiExtended::_search(), et Arcane::CaseOptionMultiSimpleT< T >::_search().

◆ dispose()

template<typename T>
void Arcane::AbstractArray< T >::dispose ( )
inline

Libère la mémoire utilisée par le tableau.

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

◆ empty()

template<typename T>
bool Arcane::AbstractArray< T >::empty ( ) const
inline

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

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

Référencé par Arcane::CaseOptionMultiExtended::_search(), Arcane::CaseOptionMultiSimpleT< T >::_search(), et Arcane::ItemGroupImpl::clear().

◆ hostDeviceMemoryLocation()

template<typename T>
eHostDeviceMemoryLocation Arcane::AbstractArray< T >::hostDeviceMemoryLocation ( ) const
inline

Positionne l'emplacement physique de la zone mémoire.

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

◆ largeCapacity()

template<typename T>
Int64 Arcane::AbstractArray< T >::largeCapacity ( ) const
inline

Capacité (nombre d'éléments alloués) du vecteur (en 64 bits).

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

◆ largeLength()

template<typename T>
Int64 Arcane::AbstractArray< T >::largeLength ( ) const
inline

Nombre d'éléments du vecteur (en 64 bits).

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

◆ largeSize()

template<typename T>
Int64 Arcane::AbstractArray< T >::largeSize ( ) const
inline

◆ length()

template<typename T>
Integer Arcane::AbstractArray< T >::length ( ) const
inline

Nombre d'éléments du vecteur.

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

◆ operator ConstArrayView< T >()

template<typename T>
Arcane::AbstractArray< T >::operator ConstArrayView< T > ( ) const
inline

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

◆ operator SmallSpan< const T >()

template<typename T>
Arcane::AbstractArray< T >::operator SmallSpan< const T > ( ) const
inline

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

◆ operator Span< const T >()

template<typename T>
Arcane::AbstractArray< T >::operator Span< const T > ( ) const
inline

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

◆ operator()()

template<typename T>
ConstReferenceType Arcane::AbstractArray< T >::operator() ( Int64 i) const
inline

Elément d'indice i.

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

◆ operator[]()

template<typename T>
ConstReferenceType Arcane::AbstractArray< T >::operator[] ( Int64 i) const
inline

Elément d'indice i.

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

◆ setMemoryLocationHint()

template<typename T>
void Arcane::AbstractArray< T >::setMemoryLocationHint ( eMemoryLocationHint new_hint)
inline

Modifie les informations sur la localisation mémoire.

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

◆ size()

template<typename T>
Integer Arcane::AbstractArray< T >::size ( ) const
inline

◆ typeSize()

template<typename T>
constexpr Int64 Arcane::AbstractArray< T >::typeSize ( )
inlinestaticconstexprprotected

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

◆ operator!= [1/3]

template<typename T>
bool operator!= ( const AbstractArray< T > & rhs,
const AbstractArray< T > & lhs )
friend

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

◆ operator!= [2/3]

template<typename T>
bool operator!= ( const AbstractArray< T > & rhs,
const Span< const T > & lhs )
friend

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

◆ operator!= [3/3]

template<typename T>
bool operator!= ( const Span< const T > & rhs,
const AbstractArray< T > & lhs )
friend

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

◆ operator<<

template<typename T>
std::ostream & operator<< ( std::ostream & o,
const AbstractArray< T > & val )
friend

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

◆ operator== [1/3]

template<typename T>
bool operator== ( const AbstractArray< T > & rhs,
const AbstractArray< T > & lhs )
friend

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

◆ operator== [2/3]

template<typename T>
bool operator== ( const AbstractArray< T > & rhs,
const Span< const T > & lhs )
friend

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

◆ operator== [3/3]

template<typename T>
bool operator== ( const Span< const T > & rhs,
const AbstractArray< T > & lhs )
friend

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

Documentation des données membres

◆ m_ptr

template<typename T>
T* Arcane::AbstractArray< T >::m_ptr = nullptr
protected

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


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