Tableau 1D de données avec buffer pré-alloué sur la pile. Plus de détails...
#include <arcane/utils/SmallArray.h>
Types publics | |
typedef ArrayTraits< T >::ConstReferenceType | ConstReferenceType |
![]() | |
typedef AbstractArray< T > | BaseClassType |
typedef ArrayTraits< T >::ConstReferenceType | ConstReferenceType |
typedef T | value_type |
Type des éléments 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 std::reverse_iterator< iterator > | reverse_iterator |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
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 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 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éé un tableau vide. | |
SmallArray (Int64 req_size, ConstReferenceType value) | |
Créé un tableau de size éléments contenant la valeur value. | |
SmallArray (Int64 asize) | |
Créé un tableau de asize éléments contenant la valeur par défaut du type T() | |
SmallArray (Int32 asize) | |
Créé un tableau de asize éléments contenant la valeur par défaut du type T() | |
SmallArray (size_t asize) | |
Créé un tableau de asize éléments contenant la valeur par défaut du type T() | |
SmallArray (const ConstArrayView< T > &aview) | |
Créé un tableau en recopiant les valeurs de la value aview. | |
SmallArray (const Span< const T > &aview) | |
Créé un tableau en recopiant les valeurs de la value aview. | |
SmallArray (const ArrayView< T > &aview) | |
Créé un tableau en recopiant les valeurs de la value aview. | |
SmallArray (const Span< T > &aview) | |
Créé un tableau en recopiant les valeurs de la value aview. | |
SmallArray (std::initializer_list< T > alist) | |
SmallArray (const Array< T > &rhs) | |
Créé un tableau en recopiant 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 |
![]() | |
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. | |
![]() | |
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) |
![]() | |
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é) | |
Attributs publics statiques | |
static constexpr Int32 | MemorySize = NbElement * SizeOfType |
Membres hérités additionnels | |
![]() | |
Array (Array< T > &&rhs) ARCCORE_NOEXCEPT | |
Constructeur par déplacement (uniquement pour UniqueArray) | |
void | _initFromInitializerList (std::initializer_list< T > alist) |
![]() | |
AbstractArray () | |
Construit un vecteur vide avec l'allocateur par défaut. | |
AbstractArray (ThatClassType &&rhs) ARCCORE_NOEXCEPT | |
Constructeur par déplacement. Ne doit être utilisé que par UniqueArray. | |
AllocatedMemoryInfo | _currentMemoryInfo () const |
void | _initFromSpan (const Span< const T > &view) |
Initialise le tableau avec la vue view. | |
void | _initFromAllocator (IMemoryAllocator *a, Int64 acapacity) |
Construit un tableau avec un allocateur spécifique a. | |
void | _initFromAllocator (MemoryAllocationOptions o, Int64 acapacity) |
Construit un vecteur vide avec un allocateur spécifique a. | |
void | _reserve (Int64 new_capacity) |
Réserve le mémoire pour new_capacity éléments. | |
template<typename PodType> | |
void | _internalRealloc (Int64 new_capacity, bool compute_capacity, PodType pod_type, RunQueue *queue=nullptr) |
Réalloue le tableau pour une nouvelle capacité égale à new_capacity. | |
void | _internalRealloc (Int64 new_capacity, bool compute_capacity) |
void | _internalReallocate (Int64 new_capacity, TrueType, RunQueue *queue) |
Réallocation pour un type POD. | |
void | _internalReallocate (Int64 new_capacity, FalseType, RunQueue *queue) |
Réallocation pour un type complexe (non POD) | |
void | _internalDeallocate (RunQueue *queue=nullptr) |
void | _internalAllocate (Int64 new_capacity, RunQueue *queue) |
void | _copyFromMemory (const T *source) |
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 () |
![]() | |
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 () |
![]() | |
static constexpr Int64 | typeSize () |
![]() | |
static constexpr RunQueue * | _nullRunQueue () |
Méthode explicite pour une RunQueue nulle. | |
![]() | |
T * | m_ptr = nullptr |
![]() | |
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 87 du fichier SmallArray.h.
typedef ArrayTraits<T>::ConstReferenceType Arcane::AbstractArray< T >::ConstReferenceType |
Définition à la ligne 285 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inline |
Créé un tableau vide.
Définition à la ligne 102 du fichier 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éé un tableau de size éléments contenant la valeur value.
Définition à la ligne 109 du fichier SmallArray.h.
Références SmallArray().
|
inlineexplicit |
Créé un tableau de asize éléments contenant la valeur par défaut du type T()
Définition à la ligne 116 du fichier SmallArray.h.
Références SmallArray().
|
inlineexplicit |
Créé un tableau de asize éléments contenant la valeur par défaut du type T()
Définition à la ligne 123 du fichier SmallArray.h.
Références SmallArray().
|
inlineexplicit |
Créé un tableau de asize éléments contenant la valeur par défaut du type T()
Définition à la ligne 129 du fichier SmallArray.h.
Références SmallArray().
|
inline |
Créé un tableau en recopiant les valeurs de la value aview.
Définition à la ligne 135 du fichier SmallArray.h.
Références SmallArray().
|
inline |
Créé un tableau en recopiant les valeurs de la value aview.
Définition à la ligne 141 du fichier SmallArray.h.
Références Arcane::AbstractArray< T >::_initFromSpan(), et SmallArray().
|
inline |
Créé un tableau en recopiant les valeurs de la value aview.
Définition à la ligne 148 du fichier SmallArray.h.
Références SmallArray().
|
inline |
Créé un tableau en recopiant les valeurs de la value aview.
Définition à la ligne 154 du fichier SmallArray.h.
Références SmallArray().
|
inline |
Définition à la ligne 159 du fichier SmallArray.h.
|
inline |
Créé un tableau en recopiant les valeurs rhs.
Définition à la ligne 166 du fichier SmallArray.h.
Références Arcane::Array< T >::constSpan(), et SmallArray().
|
inlineoverride |
Détruit l'instance.
Définition à la ligne 202 du fichier SmallArray.h.
Références Arcane::AbstractArray< T >::_reset().
|
inline |
Copie les valeurs de rhs dans cette instance.
Définition à la ligne 172 du fichier 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 178 du fichier SmallArray.h.
Références Arcane::Array< T >::copy().
|
inline |
Copie les valeurs de la vue rhs dans cette instance.
Définition à la ligne 190 du fichier SmallArray.h.
Références Arcane::Array< T >::copy().
|
inline |
Copie les valeurs de la vue rhs dans cette instance.
Définition à la ligne 196 du fichier SmallArray.h.
Références Arcane::Array< T >::copy().
|
inline |
Copie les valeurs de la vue rhs dans cette instance.
Définition à la ligne 184 du fichier SmallArray.h.
Références Arcane::Array< T >::copy().
|
staticconstexpr |
Définition à la ligne 97 du fichier SmallArray.h.