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 169 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inline |
Définition à la ligne 173 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotected |
Définition à la ligne 239 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotected |
Définition à la ligne 264 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotected |
Définition à la ligne 229 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlineprotected |
Définition à la ligne 256 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 214 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inlinestaticconstexprprotected |
Méthode explicite pour une RunQueue nulle.
Définition à la ligne 206 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 221 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inline |
Définition à la ligne 185 du fichier arccore/src/collections/arccore/collections/Array.h.
|
inline |
Définition à la ligne 181 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 253 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 244 du fichier arccore/src/collections/arccore/collections/Array.cc.
|
protected |
Définition à la ligne 200 du fichier arccore/src/collections/arccore/collections/Array.h.
|
protected |
Définition à la ligne 201 du fichier arccore/src/collections/arccore/collections/Array.h.