Tableau 1D de données avec buffer pré-alloué sur la pile. Plus de détails...
#include <arccore/common/SmallArray.h>
Types publics | |
| typedef ArrayTraits< T >::ConstReferenceType | ConstReferenceType |
| Types publics hérités de Arcane::Array< T > | |
| typedef AbstractArray< T > | BaseClassType |
| typedef ArrayTraits< T >::ConstReferenceType | ConstReferenceType |
| 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 ConstReferenceType | const_reference |
| Type référence constante d'un élément du tableau. | |
| 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 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 & | reference |
| Type référence d'un élément du tableau. | |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| typedef Int64 | size_type |
| Type indexant le 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 | |
| SmallArray () | |
| Crée un tableau vide. | |
| SmallArray (Int64 req_size, ConstReferenceType value) | |
| Crée un tableau de size éléments contenant la valeur value. | |
| SmallArray (Int64 asize) | |
| Crée un tableau de asize éléments contenant la valeur par défaut du type T(). | |
| SmallArray (Int32 asize) | |
| Crée un tableau de asize éléments contenant la valeur par défaut du type T(). | |
| SmallArray (size_t asize) | |
| Crée un tableau de asize éléments contenant la valeur par défaut du type T(). | |
| SmallArray (const ConstArrayView< T > &aview) | |
| Crée un tableau en copiant les valeurs de la vue aview. | |
| SmallArray (const Span< const T > &aview) | |
| Crée un tableau en copiant les valeurs de la vue aview. | |
| SmallArray (const ArrayView< T > &aview) | |
| Crée un tableau en copiant les valeurs de la vue aview. | |
| SmallArray (const Span< T > &aview) | |
| Crée un tableau en copiant les valeurs de la vue aview. | |
| SmallArray (std::initializer_list< T > alist) | |
| SmallArray (const Array< T > &rhs) | |
| Crée un tableau en copiant les valeurs rhs. | |
| void | operator= (const Array< T > &rhs) |
| Copie les valeurs de rhs dans cette instance. | |
| void | operator= (const ArrayView< 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 Span< const T > &rhs) |
| Copie les valeurs de la vue rhs dans cette instance. | |
| ~SmallArray () override | |
| Détruit l'instance. | |
| template<Int32 N> | |
| SmallArray (SmallArray< T, N > &&rhs)=delete | |
| template<Int32 N> | |
| SmallArray< T, NbElement > | operator= (SmallArray< T, N > &&rhs)=delete |
| Fonctions membres publiques hérités de Arcane::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. | |
| 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. | |
| 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. | |
| 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. | |
| 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) |
Attributs publics statiques | |
| static constexpr Int32 | MemorySize = NbElement * SizeOfType |
Membres hérités additionnels | |
| 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) |
| 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) |
| 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 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 |
Tableau 1D de données avec buffer pré-alloué sur la pile.
Cette classe s'utilise comme UniqueArray mais contient un buffer de taille fixe pour conserver NbElement éléments qui est utilisé si le tableau contient au plus NbElement éléments. Cela permet d'éviter des allocations dynamiques lorsque le nombre d'éléments est faible.
Si le tableau doit contenir plus de NbElement éléments, alors on utilise une allocation dynamique standard.
Définition à la ligne 107 du fichier arccore/src/common/arccore/common/SmallArray.h.
| typedef ArrayTraits<T>::ConstReferenceType Arcane::AbstractArray< T >::ConstReferenceType |
Définition à la ligne 176 du fichier AbstractArray.h.
|
inline |
Crée un tableau vide.
Définition à la ligne 122 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::AbstractArray< T >::_initFromAllocator().
Référencé par SmallArray(), SmallArray(), SmallArray(), SmallArray(), SmallArray(), SmallArray(), SmallArray(), SmallArray(), et SmallArray().
|
inline |
Crée un tableau de size éléments contenant la valeur value.
Définition à la ligne 129 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références SmallArray().
|
inlineexplicit |
Crée un tableau de asize éléments contenant la valeur par défaut du type T().
Définition à la ligne 136 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références SmallArray().
|
inlineexplicit |
Crée un tableau de asize éléments contenant la valeur par défaut du type T().
Définition à la ligne 143 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références SmallArray().
|
inlineexplicit |
Crée un tableau de asize éléments contenant la valeur par défaut du type T().
Définition à la ligne 149 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références SmallArray().
|
inline |
Crée un tableau en copiant les valeurs de la vue aview.
Définition à la ligne 155 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références SmallArray().
|
inline |
Crée un tableau en copiant les valeurs de la vue aview.
Définition à la ligne 161 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::AbstractArray< T >::_initFromSpan(), et SmallArray().
|
inline |
Crée un tableau en copiant les valeurs de la vue aview.
Définition à la ligne 168 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références SmallArray().
|
inline |
Crée un tableau en copiant les valeurs de la vue aview.
Définition à la ligne 174 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références SmallArray().
|
inline |
Définition à la ligne 179 du fichier arccore/src/common/arccore/common/SmallArray.h.
|
inline |
Crée un tableau en copiant les valeurs rhs.
Définition à la ligne 186 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::Array< T >::constSpan(), et SmallArray().
|
inlineoverride |
Détruit l'instance.
Définition à la ligne 222 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::AbstractArray< T >::_reset().
|
inline |
Copie les valeurs de rhs dans cette instance.
Définition à la ligne 192 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::Array< T >::constSpan(), et Arcane::Array< T >::copy().
|
inline |
Copie les valeurs de la vue rhs dans cette instance.
Définition à la ligne 198 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::Array< T >::copy().
|
inline |
Copie les valeurs de la vue rhs dans cette instance.
Définition à la ligne 210 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::Array< T >::copy().
|
inline |
Copie les valeurs de la vue rhs dans cette instance.
Définition à la ligne 216 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::Array< T >::copy().
|
inline |
Copie les valeurs de la vue rhs dans cette instance.
Définition à la ligne 204 du fichier arccore/src/common/arccore/common/SmallArray.h.
Références Arcane::Array< T >::copy().
|
staticconstexpr |
Définition à la ligne 117 du fichier arccore/src/common/arccore/common/SmallArray.h.