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_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 | |
| 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 | printInfos (std::ostream &o) |
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é) | |
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. | |
| 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) |
| 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 | _resize (Int64 s, ConstReferenceType value) |
| Redimensionne et remplit les nouvelles valeurs avec value. | |
| void | _resizeNoInit (Int64 s, RunQueue *queue=nullptr) |
| Redimensionne sans initialiser les nouvelles valeurs. | |
| void | _clear () |
| 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 | |
| ArrayMetaData * | m_md = nullptr |
| ArrayMetaData | m_meta_data |
Amis | |
| bool | operator== (const AbstractArray< T > &rhs, const AbstractArray< 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 AbstractArray< T > &rhs, const AbstractArray< T > &lhs) |
| bool | operator!= (const AbstractArray< T > &rhs, const Span< const T > &lhs) |
| bool | operator!= (const Span< const T > &rhs, const AbstractArray< T > &lhs) |
| std::ostream & | operator<< (std::ostream &o, const AbstractArray< T > &val) |
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 168 du fichier AbstractArray.h.
| 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 189 du fichier AbstractArray.h.
| typedef const value_type* Arcane::AbstractArray< T >::const_pointer |
Type pointeur constant d'un élément du tableau.
Définition à la ligne 185 du fichier AbstractArray.h.
| typedef ConstReferenceType Arcane::AbstractArray< T >::const_reference |
Type référence constante d'un élément du tableau.
Définition à la ligne 193 du fichier AbstractArray.h.
| typedef std::reverse_iterator<const_iterator> Arcane::AbstractArray< T >::const_reverse_iterator |
Définition à la ligne 200 du fichier AbstractArray.h.
| typedef ArrayTraits<T>::ConstReferenceType Arcane::AbstractArray< T >::ConstReferenceType |
Définition à la ligne 173 du fichier AbstractArray.h.
| typedef ptrdiff_t Arcane::AbstractArray< T >::difference_type |
Type d'une distance entre itérateur éléments du tableau.
Définition à la ligne 197 du fichier AbstractArray.h.
| typedef ArrayTraits<T>::IsPODType Arcane::AbstractArray< T >::IsPODType |
Définition à la ligne 174 du fichier AbstractArray.h.
| typedef ArrayIterator<pointer> Arcane::AbstractArray< T >::iterator |
Type de l'itérateur sur un élément du tableau.
Définition à la ligne 187 du fichier AbstractArray.h.
| typedef value_type* Arcane::AbstractArray< T >::pointer |
Type pointeur d'un élément du tableau.
Définition à la ligne 183 du fichier AbstractArray.h.
| typedef value_type& Arcane::AbstractArray< T >::reference |
Type référence d'un élément du tableau.
Définition à la ligne 191 du fichier AbstractArray.h.
| typedef std::reverse_iterator<iterator> Arcane::AbstractArray< T >::reverse_iterator |
Définition à la ligne 199 du fichier AbstractArray.h.
| typedef Int64 Arcane::AbstractArray< T >::size_type |
Type indexant le tableau.
Définition à la ligne 195 du fichier AbstractArray.h.
| typedef AbstractArray<T> Arcane::AbstractArray< T >::ThatClassType |
Définition à la ligne 175 du fichier AbstractArray.h.
| using Arcane::AbstractArray< T >::TrueImpl = T |
Définition à la ligne 176 du fichier AbstractArray.h.
| typedef T Arcane::AbstractArray< T >::value_type |
Type des éléments du tableau.
Définition à la ligne 181 du fichier AbstractArray.h.
|
inlineprotected |
Construit un vecteur vide avec l'allocateur par défaut.
Définition à la ligne 205 du fichier AbstractArray.h.
|
inlineprotected |
Constructeur par déplacement. Ne doit être utilisé que par UniqueArray.
Définition à la ligne 209 du fichier AbstractArray.h.
|
inlineoverrideprotected |
Définition à la ligne 216 du fichier AbstractArray.h.
|
inlineprotected |
Ajoute n élément de valeur val à la fin du tableau.
Définition à la ligne 573 du fichier AbstractArray.h.
|
inlineprotected |
Ajoute n élément de valeur val à la fin du tableau.
Définition à la ligne 584 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 829 du fichier AbstractArray.h.
|
inlineprotected |
Détruit l'instance si plus personne ne la référence.
Définition à la ligne 596 du fichier AbstractArray.h.
|
inlineconstexprprotected |
Définition à la ligne 819 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 688 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 656 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 716 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 711 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 707 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 501 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 642 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 635 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 628 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 621 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 618 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 230 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 603 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 611 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 607 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 651 du fichier AbstractArray.h.
|
inlineprotectedvirtual |
Mise à jour des références.
Réimplémentée dans Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< DataType >, Arcane::SharedArray< DataType >, et Arcane::SharedArray< DataType >.
Définition à la ligne 568 du fichier AbstractArray.h.
|
inlineprotected |
Construit un vecteur vide avec un allocateur spécifique a.
Si acapacity n'est pas nul, la mémoire est allouée pour contenir acapacity éléments (mais le tableau reste vide).
Cette méthode ne doit être appelée que dans un constructeur de la classe dérivée et uniquement par les classes utilisant une sémantique à la UniqueArray.
Définition à la ligne 261 du fichier AbstractArray.h.
|
inlineprotected |
Initialise le tableau avec la vue view.
Cette méthode ne doit être appelée que dans un constructeur de la classe dérivée.
Définition à la ligne 242 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 494 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 487 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 451 du fichier AbstractArray.h.
|
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 429 du fichier AbstractArray.h.
|
inlineprotected |
Réallocation pour un type complexe (non POD)
Définition à la ligne 469 du fichier AbstractArray.h.
|
inlineprotected |
Réallocation pour un type POD.
Définition à la ligne 457 du fichier AbstractArray.h.
|
inline |
Positionne l'emplacement physique de la zone mémoire.
Définition à la ligne 354 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 863 du fichier AbstractArray.h.
|
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 761 du fichier AbstractArray.h.
|
inlineprotected |
Réserve le mémoire pour new_capacity éléments.
Définition à la ligne 417 du fichier AbstractArray.h.
|
inlineprotected |
Réinitialise le tableau à un tableau vide.
Définition à la ligne 814 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 679 du fichier AbstractArray.h.
|
inlineprotected |
Redimensionne et remplit les nouvelles valeurs avec value.
Définition à la ligne 694 du fichier AbstractArray.h.
|
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.
Définition à la ligne 729 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 666 du fichier AbstractArray.h.
|
inlineprotected |
Redimensionne sans initialiser les nouvelles valeurs.
Définition à la ligne 684 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 848 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 853 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 791 du fichier AbstractArray.h.
|
inlineprotected |
Définition à la ligne 797 du fichier AbstractArray.h.
|
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 785 du fichier AbstractArray.h.
|
inlineprotectedvirtual |
Mise à jour des références.
Réimplémentée dans Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< DataType >, Arcane::SharedArray< DataType >, et Arcane::SharedArray< DataType >.
Définition à la ligne 564 du fichier AbstractArray.h.
|
inline |
Capacité (nombre d'éléments alloués) du vecteur.
Définition à la ligne 305 du fichier AbstractArray.h.
|
inline |
Vrai si le tableau contient l'élément de valeur v.
Définition à la ligne 315 du fichier AbstractArray.h.
|
inline |
Libère la mémoire utilisée par le tableau.
Définition à la ligne 270 du fichier AbstractArray.h.
|
inline |
Capacité (nombre d'éléments alloués) du vecteur.
Définition à la ligne 313 du fichier AbstractArray.h.
|
inline |
Positionne l'emplacement physique de la zone mémoire.
Définition à la ligne 360 du fichier AbstractArray.h.
|
inline |
Capacité (nombre d'éléments alloués) du vecteur (en 64 bits)
Définition à la ligne 311 du fichier AbstractArray.h.
|
inline |
Nombre d'éléments du vecteur (en 64 bits)
Définition à la ligne 309 du fichier AbstractArray.h.
|
inline |
Nombre d'éléments du vecteur (en 64 bits)
Définition à la ligne 307 du fichier AbstractArray.h.
|
inline |
Nombre d'éléments du vecteur.
Définition à la ligne 303 du fichier AbstractArray.h.
|
inline |
Définition à la ligne 285 du fichier AbstractArray.h.
|
inline |
Définition à la ligne 293 du fichier AbstractArray.h.
|
inline |
Définition à la ligne 289 du fichier AbstractArray.h.
|
inline |
Elément d'indice i.
Définition à la ligne 334 du fichier AbstractArray.h.
|
inline |
Elément d'indice i.
Définition à la ligne 328 du fichier AbstractArray.h.
|
inline |
Définition à la ligne 556 du fichier AbstractArray.h.
|
inline |
Modifie les informations sur la localisation mémoire.
Définition à la ligne 343 du fichier AbstractArray.h.
|
inline |
Nombre d'éléments du vecteur.
Définition à la ligne 301 du fichier AbstractArray.h.
|
inlinestaticconstexprprotected |
Définition à la ligne 229 du fichier AbstractArray.h.
|
friend |
Définition à la ligne 372 du fichier AbstractArray.h.
|
friend |
Définition à la ligne 382 du fichier AbstractArray.h.
|
friend |
Définition à la ligne 392 du fichier AbstractArray.h.
|
friend |
Définition à la ligne 397 du fichier AbstractArray.h.
|
friend |
Définition à la ligne 367 du fichier AbstractArray.h.
|
friend |
Définition à la ligne 377 du fichier AbstractArray.h.
|
friend |
Définition à la ligne 387 du fichier AbstractArray.h.
|
protected |
Définition à la ligne 412 du fichier AbstractArray.h.