Classe de base interne pour les tableaux. Plus de détails...
#include <arccore/collections/Array.h>
Fonctions membres publiques | |
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 | |
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 RunQueue * | _nullRunQueue () |
Méthode explicite pour une RunQueue nulle. | |
Attributs protégés | |
ArrayMetaData * | m_md = nullptr |
ArrayMetaData | m_meta_data |
Classe de base interne pour les tableaux.
Cette classe gère uniquement les meta-données pour les tableaux comme le nombre d'éléments ou la capacité.
m_md est un pointeur contenant les meta-donné du tableau. Si le tableau est partagé (SharedArray, SharedArray2), alors ce pointeur est alloué dynamiquement et dans ce cas _isUseOwnMetaData() doit retourner false. Si le tableau n'est pas partagé (UniqueArray ou UniqueArray2), alors les meta-données sont conservées directement dans l'instance du tableau pour éviter des allocations inutiles et m_md pointe alors vers m_meta_data. Dans tous les cas, il ne faut pas utiliser m_meta_data directement, mais toujours passer par m_md.
Définition à la ligne 158 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inline |
Définition à la ligne 162 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotected |
Définition à la ligne 228 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotected |
Définition à la ligne 253 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotected |
Définition à la ligne 218 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotected |
Définition à la ligne 245 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotectedvirtual |
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 dans Arcane::SharedArray2< T >, Arcane::SharedArray2< BFloat16 >, Arcane::SharedArray2< BFloat16 >, Arcane::SharedArray2< BFloat16 >, Arcane::SharedArray2< BFloat16 >, Arcane::SharedArray2< bool >, Arcane::SharedArray2< bool >, Arcane::SharedArray2< bool >, Arcane::SharedArray2< bool >, Arcane::SharedArray2< Byte >, Arcane::SharedArray2< Byte >, Arcane::SharedArray2< Byte >, Arcane::SharedArray2< Byte >, Arcane::SharedArray2< Float16 >, Arcane::SharedArray2< Float16 >, Arcane::SharedArray2< Float16 >, Arcane::SharedArray2< Float16 >, Arcane::SharedArray2< Float32 >, Arcane::SharedArray2< Float32 >, Arcane::SharedArray2< Float32 >, Arcane::SharedArray2< Float32 >, Arcane::SharedArray2< Int16 >, Arcane::SharedArray2< Int16 >, Arcane::SharedArray2< Int16 >, Arcane::SharedArray2< Int16 >, Arcane::SharedArray2< Int32 >, Arcane::SharedArray2< Int32 >, Arcane::SharedArray2< Int32 >, Arcane::SharedArray2< Int32 >, Arcane::SharedArray2< Int64 >, Arcane::SharedArray2< Int64 >, Arcane::SharedArray2< Int64 >, Arcane::SharedArray2< Int64 >, Arcane::SharedArray2< Int8 >, Arcane::SharedArray2< Int8 >, Arcane::SharedArray2< Int8 >, Arcane::SharedArray2< Int8 >, Arcane::SharedArray2< Integer >, Arcane::SharedArray2< Integer >, Arcane::SharedArray2< Integer >, Arcane::SharedArray2< Integer >, Arcane::SharedArray2< Pointer >, Arcane::SharedArray2< Pointer >, Arcane::SharedArray2< Pointer >, Arcane::SharedArray2< Pointer >, Arcane::SharedArray2< Real >, Arcane::SharedArray2< Real >, Arcane::SharedArray2< Real >, Arcane::SharedArray2< Real >, Arcane::SharedArray2< Real2 >, Arcane::SharedArray2< Real2 >, Arcane::SharedArray2< Real2 >, Arcane::SharedArray2< Real2 >, Arcane::SharedArray2< Real2x2 >, Arcane::SharedArray2< Real2x2 >, Arcane::SharedArray2< Real2x2 >, Arcane::SharedArray2< Real2x2 >, Arcane::SharedArray2< Real3 >, Arcane::SharedArray2< Real3 >, Arcane::SharedArray2< Real3 >, Arcane::SharedArray2< Real3 >, Arcane::SharedArray2< Real3x3 >, Arcane::SharedArray2< Real3x3 >, Arcane::SharedArray2< Real3x3 >, Arcane::SharedArray2< Real3x3 >, Arcane::SharedArray2< String >, Arcane::SharedArray2< String >, Arcane::SharedArray2< String >, Arcane::SharedArray2< String >, Arcane::SharedArray2< UChar >, Arcane::SharedArray2< UChar >, Arcane::SharedArray2< UChar >, Arcane::SharedArray2< UChar >, Arcane::SharedArray< T >, Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< Arcane::ItemLocalId >, Arcane::SharedArray< BFloat16 >, Arcane::SharedArray< BFloat16 >, Arcane::SharedArray< BFloat16 >, Arcane::SharedArray< BFloat16 >, Arcane::SharedArray< bool >, Arcane::SharedArray< bool >, Arcane::SharedArray< bool >, Arcane::SharedArray< bool >, Arcane::SharedArray< Byte >, Arcane::SharedArray< Byte >, Arcane::SharedArray< Byte >, Arcane::SharedArray< Byte >, Arcane::SharedArray< DataType >, Arcane::SharedArray< DataType >, Arcane::SharedArray< DataType >, Arcane::SharedArray< EdgeTypeConstRef >, Arcane::SharedArray< EdgeTypeConstRef >, Arcane::SharedArray< EdgeTypeConstRef >, Arcane::SharedArray< EdgeTypeConstRef >, Arcane::SharedArray< EdgeTypeRef >, Arcane::SharedArray< EdgeTypeRef >, Arcane::SharedArray< EdgeTypeRef >, Arcane::SharedArray< EdgeTypeRef >, Arcane::SharedArray< Float16 >, Arcane::SharedArray< Float16 >, Arcane::SharedArray< Float16 >, Arcane::SharedArray< Float16 >, Arcane::SharedArray< Float32 >, Arcane::SharedArray< Float32 >, Arcane::SharedArray< Float32 >, Arcane::SharedArray< Float32 >, Arcane::SharedArray< Int16 >, Arcane::SharedArray< Int16 >, Arcane::SharedArray< Int16 >, Arcane::SharedArray< Int16 >, Arcane::SharedArray< Int32 >, Arcane::SharedArray< Int32 >, Arcane::SharedArray< Int32 >, Arcane::SharedArray< Int32 >, Arcane::SharedArray< Int64 >, Arcane::SharedArray< Int64 >, Arcane::SharedArray< Int64 >, Arcane::SharedArray< Int64 >, Arcane::SharedArray< Int8 >, Arcane::SharedArray< Int8 >, Arcane::SharedArray< Int8 >, Arcane::SharedArray< Int8 >, Arcane::SharedArray< Integer >, Arcane::SharedArray< Integer >, Arcane::SharedArray< Integer >, Arcane::SharedArray< Integer >, Arcane::SharedArray< Pointer >, Arcane::SharedArray< Pointer >, Arcane::SharedArray< Pointer >, Arcane::SharedArray< Pointer >, Arcane::SharedArray< Real >, Arcane::SharedArray< Real >, Arcane::SharedArray< Real >, Arcane::SharedArray< Real >, Arcane::SharedArray< Real2 >, Arcane::SharedArray< Real2 >, Arcane::SharedArray< Real2 >, Arcane::SharedArray< Real2 >, Arcane::SharedArray< Real2x2 >, Arcane::SharedArray< Real2x2 >, Arcane::SharedArray< Real2x2 >, Arcane::SharedArray< Real2x2 >, Arcane::SharedArray< Real3 >, Arcane::SharedArray< Real3 >, Arcane::SharedArray< Real3 >, Arcane::SharedArray< Real3 >, Arcane::SharedArray< Real3x3 >, Arcane::SharedArray< Real3x3 >, Arcane::SharedArray< Real3x3 >, Arcane::SharedArray< Real3x3 >, Arcane::SharedArray< String >, Arcane::SharedArray< String >, Arcane::SharedArray< String >, Arcane::SharedArray< String >, Arcane::SharedArray< UChar >, Arcane::SharedArray< UChar >, Arcane::SharedArray< UChar >, Arcane::SharedArray< UChar >, Arcane::SharedArray< VertexTypeConstRef >, Arcane::SharedArray< VertexTypeConstRef >, Arcane::SharedArray< VertexTypeConstRef >, Arcane::SharedArray< VertexTypeConstRef >, Arcane::SharedArray< VertexTypeRef >, Arcane::SharedArray< VertexTypeRef >, Arcane::SharedArray< VertexTypeRef >, Arcane::SharedArray< VertexTypeRef >, Arcane::SharedArray< XmlNode >, Arcane::SharedArray< XmlNode >, Arcane::SharedArray< XmlNode >, Arcane::SharedArray< XmlNode >, Arccore::SharedArray2< T >, et Arccore::SharedArray< T >.
Définition à la ligne 203 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlinestaticconstexprprotected |
Méthode explicite pour une RunQueue nulle.
Définition à la ligne 195 du fichier arccore/src/collections/arccore/collections/Array.h.
Référencé par Arcane::AbstractArray< DataType >::_checkFreeMemory(), Arcane::AbstractArray< DataType >::_initFromSpan(), et Arcane::AbstractArray< DataType >::_move().
|
inlineprotected |
Définition à la ligne 210 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inline |
Définition à la ligne 174 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inline |
Définition à la ligne 170 du fichier arccore/src/collections/arccore/collections/Array.h.
String Arcane::AbstractArrayBase::debugName | ( | ) | const |
Nom de debug (nul si aucun nom spécifié)
Définition à la ligne 283 du fichier arccore/src/collections/arccore/collections/Array.cc.
void Arcane::AbstractArrayBase::setDebugName | ( | const String & | name | ) |
Positionne le nom du tableau pour les informations de debug.
Ce nom peut être utilisé par exemple pour les affichages listing.
Définition à la ligne 274 du fichier arccore/src/collections/arccore/collections/Array.cc.
|
protected |
Définition à la ligne 189 du fichier arccore/src/collections/arccore/collections/Array.h.
|
protected |
Définition à la ligne 190 du fichier arccore/src/collections/arccore/collections/Array.h.