Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arccore::AbstractArray< T >

Classe abstraite de base d'un vecteur. Plus de détails...

#include <arccore/collections/Array.h>

Est dérivée de Arccore::AbstractArrayBase.

Dérivée par Arccore::Array< PrivatePartType * >, Arccore::Array< ContainerViewType >, Arccore::Array< XmlNode >, Arccore::Array< DataType >, Arccore::Array< ItemInternal * >, Arccore::Array< Cell >, Arccore::Array< Ref< Arcane::Accelerator::RunQueue > >, Arccore::Array< Arcane::Accelerator::RunQueue >, Arccore::Array< Arcane::Accelerator::DeviceInfo >, Arccore::Array< std::byte >, Arccore::Array< Int32 >, Arccore::Array< Arcane::ApplicationBuildInfo::Impl::NameValuePair >, Arccore::Array< OutputType >, Arccore::Array< Arcane::AxlOptionsBuilder::OneOption >, Arccore::Array< Int64 >, Arccore::Array< CartesianConnectivity::Index >, Arccore::Array< CartesianConnectivity::Permutation >, Arccore::Array< Arcane::ItemGroupT >, Arccore::Array< Ref< CartesianMeshPatch > >, Arccore::Array< Arcane::ICartesianMeshPatch * >, Arccore::Array< Arcane::ICaseOptionList * >, Arccore::Array< Arccore::String >, Arccore::Array< Arccore::ReferenceCounter< Arcane::ICaseOptions > >, Arccore::Array< InterfaceType * >, Arccore::Array< Ref< InterfaceType > >, Arccore::Array< Arcane::SmallVariant >, Arccore::Array< SmallVariant >, Arccore::Array< Arcane::impl::CartesianItemDirectionInfo >, Arccore::Array< Real >, Arccore::Array< Arcane::DependencyInjection::Injector::Impl::InstanceInfo >, Arccore::Array< Ref< impl::IInstanceFactory > >, Arccore::Array< Ref< IInstanceFactory > >, Arccore::Array< Arcane::EventObserverBase * >, Arccore::Array< Byte >, Arccore::Array< KeyTypeValue >, Arccore::Array< Arcane::HashTableBaseT::HashData * >, Arccore::Array< Arccore::UniqueArray * >, Arccore::Array< Arcane::HashTableMapT::Data * >, Arccore::Array< Arcane::Hdf5VariableReaderHelper * >, Arccore::Array< Arcane::Hdf5VariableInfoBase * >, Arccore::Array< Arcane::Hdf5VariableReaderHelper::TimeVariableInfoBase * >, Arccore::Array< Arcane::IVariable * >, Arccore::Array< Arcane::Hdf5VariableReaderHelper2::TimeVariableInfoBase * >, Arccore::Array< TimePathPair >, Arccore::Array< Arcane::Hdf5VariableWriterHelper * >, Arccore::Array< Arccore::ReferenceCounter< Arcane::Internal::IServiceFactory2 > >, Arccore::Array< Arcane::ItemAllocationInfo::FamilyInfo >, Arccore::Array< Arcane::ItemAllocationInfo::ConnectedFamilyInfo >, Arccore::Array< Arcane::ItemTypeInfo * >, Arccore::Array< Integer >, Arccore::Array< String >, Arccore::Array< Arccore::Span< Arcane::Materials::ComponentItemLocalId > >, Arccore::Array< Arcane::Materials::ComponentItemLocalId >, Arccore::Array< Int16 >, Arccore::Array< Arcane::Materials::MeshEnvironmentBuildInfo::MatInfo >, Arccore::Array< Arcane::Materials::IMeshMaterialVariable * >, Arccore::Array< Arccore::Span< std::byte > >, Arccore::Array< Arcane::Materials::MeshMaterialVariable * >, Arccore::Array< Arccore::MessagePassing::Request >, Arccore::Array< Arcane::Materials::MultiBufferMeshMaterialSynchronizeBuffer::BufferInfo >, Arccore::Array< Arcane::Materials::OneBufferMeshMaterialSynchronizeBuffer::BufferInfo >, Arccore::Array< Arcane::Materials::IMeshEnvironment * >, Arccore::Array< Ref< Arcane::IMeshReader > >, Arccore::Array< Arcane::ITimeLoopService * >, Arccore::Array< ItemDirectionInfo >, Arccore::Array< Arcane::IObserver * >, Arccore::Array< KeyType >, Arccore::Array< Arccore::SharedArray< Arcane::ItemLocalId > >, Arccore::Array< Arcane::ItemLocalId >, Arccore::Array< Arcane::ParameterList::Impl::NameValuePair >, Arccore::Array< Arcane::IPropertyType * >, Arccore::Array< bool >, Arccore::Array< TestFuncInfo >, Arccore::Array< Arcane::VariableDiff::DiffInfo >, Arccore::Array< Arcane::VariableDependInfo >, Arccore::Array< CompareStatus >, Arccore::Array< MPI_Status >, Arccore::Array< Arccore::MessagePassing::Mpi::MpiSerializeDispatcher::SerializeSubRequest * >, Arccore::Array< Arccore::MessagePassing::internal::BasicSerializeMessage * >, Arccore::Array< Arccore::MessagePassing::Mpi::MpiSerializeMessageRequest >, Arccore::Array< Ref< Arccore::MessagePassing::ISerializeMessage > >, Arccore::Array< BasicSerializeMessage * >, Arccore::Array< ProbeInfo >, Arccore::Array< Arcane::Node >, Arccore::Array2< T > [private], Arccore::Array2< Int32 > [private], Arccore::Array2< Real > [private], et Arccore::Array< T >.

+ Graphe de collaboration de Arccore::AbstractArray< T >:

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_typepointer
 Type pointeur d'un élément du tableau.
 
typedef const value_typeconst_pointer
 Type pointeur constant d'un élément du tableau.
 
typedef ArrayIterator< pointeriterator
 Type de l'itérateur sur un élément du tableau.
 
typedef ArrayIterator< const_pointerconst_iterator
 Type de l'itérateur constant sur un élément du tableau.
 
typedef value_typereference
 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< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_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 printInfos (std::ostream &o)
 
- Fonctions membres publiques hérités de Arccore::AbstractArrayBase
IMemoryAllocatorallocator () 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 (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 ()
 
- Fonctions membres protégées hérités de Arccore::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 Arccore::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 Arccore::AbstractArrayBase
ArrayMetaDatam_md = nullptr
 
ArrayMetaData m_meta_data
 

Amis

bool operator== (const AbstractArray< 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 AbstractArray< T > &rhs, const Span< const T > &lhs)
 
bool operator== (const Span< const T > &rhs, const AbstractArray< T > &lhs)
 
bool operator!= (const Span< const T > &rhs, const AbstractArray< T > &lhs)
 
std::ostream & operator<< (std::ostream &o, const AbstractArray< T > &val)
 

Description détaillée

template<typename T>
class Arccore::AbstractArray< T >

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 278 du fichier arccore/src/collections/arccore/collections/Array.h.

Documentation des définitions de type membres

◆ const_iterator

template<typename T >
typedef ArrayIterator<const_pointer> Arccore::AbstractArray< T >::const_iterator

Type de l'itérateur constant sur un élément du tableau.

Définition à la ligne 299 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ const_pointer

template<typename T >
typedef const value_type* Arccore::AbstractArray< T >::const_pointer

Type pointeur constant d'un élément du tableau.

Définition à la ligne 295 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ const_reference

template<typename T >
typedef ConstReferenceType Arccore::AbstractArray< T >::const_reference

Type référence constante d'un élément du tableau.

Définition à la ligne 303 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ const_reverse_iterator

template<typename T >
typedef std::reverse_iterator<const_iterator> Arccore::AbstractArray< T >::const_reverse_iterator

Définition à la ligne 310 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ ConstReferenceType

template<typename T >
typedef ArrayTraits<T>::ConstReferenceType Arccore::AbstractArray< T >::ConstReferenceType

Définition à la ligne 283 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ difference_type

template<typename T >
typedef ptrdiff_t Arccore::AbstractArray< T >::difference_type

Type d'une distance entre itérateur éléments du tableau.

Définition à la ligne 307 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ IsPODType

template<typename T >
typedef ArrayTraits<T>::IsPODType Arccore::AbstractArray< T >::IsPODType

Définition à la ligne 284 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ iterator

template<typename T >
typedef ArrayIterator<pointer> Arccore::AbstractArray< T >::iterator

Type de l'itérateur sur un élément du tableau.

Définition à la ligne 297 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ pointer

template<typename T >
typedef value_type* Arccore::AbstractArray< T >::pointer

Type pointeur d'un élément du tableau.

Définition à la ligne 293 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ reference

template<typename T >
typedef value_type& Arccore::AbstractArray< T >::reference

Type référence d'un élément du tableau.

Définition à la ligne 301 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ reverse_iterator

template<typename T >
typedef std::reverse_iterator<iterator> Arccore::AbstractArray< T >::reverse_iterator

Définition à la ligne 309 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ size_type

template<typename T >
typedef Int64 Arccore::AbstractArray< T >::size_type

Type indexant le tableau.

Définition à la ligne 305 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ ThatClassType

template<typename T >
typedef AbstractArray<T> Arccore::AbstractArray< T >::ThatClassType

Définition à la ligne 285 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ TrueImpl

template<typename T >
using Arccore::AbstractArray< T >::TrueImpl = T

Définition à la ligne 286 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ value_type

template<typename T >
typedef T Arccore::AbstractArray< T >::value_type

Type des éléments du tableau.

Définition à la ligne 291 du fichier arccore/src/collections/arccore/collections/Array.h.

Documentation des constructeurs et destructeur

◆ AbstractArray() [1/2]

template<typename T >
Arccore::AbstractArray< T >::AbstractArray ( )
inlineprotected

Construit un vecteur vide avec l'allocateur par défaut.

Définition à la ligne 315 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ AbstractArray() [2/2]

template<typename T >
Arccore::AbstractArray< T >::AbstractArray ( ThatClassType &&  rhs)
inlineprotected

Constructeur par déplacement. Ne doit être utilisé que par UniqueArray.

Définition à la ligne 319 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ ~AbstractArray()

template<typename T >
Arccore::AbstractArray< T >::~AbstractArray ( )
inlineoverrideprotected

Définition à la ligne 326 du fichier arccore/src/collections/arccore/collections/Array.h.

Documentation des fonctions membres

◆ _addRange() [1/2]

◆ _addRange() [2/2]

◆ _assignFromArray()

template<typename T >
void Arccore::AbstractArray< T >::_assignFromArray ( const AbstractArray< T > &  rhs)
inlineprotected

Définition à la ligne 919 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _checkFreeMemory()

template<typename T >
void Arccore::AbstractArray< T >::_checkFreeMemory ( )
inlineprotected

Détruit l'instance si plus personne ne la référence.

Définition à la ligne 686 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::AbstractArrayBase::_nullRunQueue(), et Arccore::ArrayMetaData::nb_ref.

◆ _clampSizeOffet()

template<typename T >
constexpr Integer Arccore::AbstractArray< T >::_clampSizeOffet ( Int64  offset,
Int32  asize 
) const
inlineconstexprprotected

Définition à la ligne 909 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _clear()

template<typename T >
void Arccore::AbstractArray< T >::_clear ( )
inlineprotected

Définition à la ligne 778 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _clone()

template<typename T >
void Arccore::AbstractArray< T >::_clone ( const ThatClassType orig_array)
inlineprotected

Définition à la ligne 746 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _copy() [1/3]

template<typename T >
void Arccore::AbstractArray< T >::_copy ( const T *  rhs_begin)
inlineprotected

Définition à la ligne 806 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _copy() [2/3]

template<typename T >
void Arccore::AbstractArray< T >::_copy ( const T *  rhs_begin,
FalseType   
)
inlineprotected

Définition à la ligne 801 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _copy() [3/3]

template<typename T >
void Arccore::AbstractArray< T >::_copy ( const T *  rhs_begin,
TrueType   
)
inlineprotected

Définition à la ligne 797 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _copyFromMemory()

template<typename T >
void Arccore::AbstractArray< T >::_copyFromMemory ( const T *  source)
inlineprotected

Définition à la ligne 604 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _createRange() [1/3]

template<typename T >
void Arccore::AbstractArray< T >::_createRange ( Int64  abegin,
Int64  aend,
const T *  values 
)
inlineprotected

Définition à la ligne 732 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _createRange() [2/3]

template<typename T >
void Arccore::AbstractArray< T >::_createRange ( Int64  abegin,
Int64  aend,
ConstReferenceType  value,
FalseType   
)
inlineprotected

Définition à la ligne 725 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _createRange() [3/3]

template<typename T >
void Arccore::AbstractArray< T >::_createRange ( Int64  abegin,
Int64  aend,
ConstReferenceType  value,
TrueType   
)
inlineprotected

Définition à la ligne 718 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _createRangeDefault() [1/2]

template<typename T >
void Arccore::AbstractArray< T >::_createRangeDefault ( Int64  abegin,
Int64  aend,
FalseType   
)
inlineprotected

Définition à la ligne 711 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _createRangeDefault() [2/2]

template<typename T >
void Arccore::AbstractArray< T >::_createRangeDefault ( Int64  ,
Int64  ,
TrueType   
)
inlineprotected

Définition à la ligne 708 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _currentMemoryInfo()

template<typename T >
AllocatedMemoryInfo Arccore::AbstractArray< T >::_currentMemoryInfo ( ) const
inlineprotected

Définition à la ligne 340 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _destroy()

template<typename T >
void Arccore::AbstractArray< T >::_destroy ( )
inlineprotected

Définition à la ligne 693 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _destroyRange() [1/2]

template<typename T >
void Arccore::AbstractArray< T >::_destroyRange ( Int64  abegin,
Int64  aend,
FalseType   
)
inlineprotected

Définition à la ligne 701 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _destroyRange() [2/2]

template<typename T >
void Arccore::AbstractArray< T >::_destroyRange ( Int64  ,
Int64  ,
TrueType   
)
inlineprotected

Définition à la ligne 697 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _fill()

template<typename T >
void Arccore::AbstractArray< T >::_fill ( ConstReferenceType  value)
inlineprotected

Définition à la ligne 741 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _getNbRef()

◆ _initFromAllocator() [1/2]

◆ _initFromAllocator() [2/2]

template<typename T >
void Arccore::AbstractArray< T >::_initFromAllocator ( MemoryAllocationOptions  o,
Int64  acapacity 
)
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 382 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _initFromSpan()

◆ _internalAllocate()

template<typename T >
void Arccore::AbstractArray< T >::_internalAllocate ( Int64  new_capacity,
RunQueue queue 
)
inlineprotected

Définition à la ligne 597 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _internalDeallocate()

template<typename T >
void Arccore::AbstractArray< T >::_internalDeallocate ( RunQueue queue = nullptr)
inlineprotected

Définition à la ligne 590 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _internalRealloc() [1/2]

template<typename T >
void Arccore::AbstractArray< T >::_internalRealloc ( Int64  new_capacity,
bool  compute_capacity 
)
inlineprotected

Définition à la ligne 554 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _internalRealloc() [2/2]

template<typename T >
template<typename PodType >
void Arccore::AbstractArray< T >::_internalRealloc ( Int64  new_capacity,
bool  compute_capacity,
PodType  pod_type,
RunQueue queue = nullptr 
)
inlineprotected

◆ _internalReallocate() [1/2]

template<typename T >
void Arccore::AbstractArray< T >::_internalReallocate ( Int64  new_capacity,
FalseType  ,
RunQueue queue 
)
inlineprotected

Réallocation pour un type complexe (non POD)

Définition à la ligne 572 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::AbstractArray< T >::_updateReferences(), Arccore::ArrayMetaData::nb_ref, et Arccore::ArrayMetaData::size.

◆ _internalReallocate() [2/2]

template<typename T >
void Arccore::AbstractArray< T >::_internalReallocate ( Int64  new_capacity,
TrueType  ,
RunQueue queue 
)
inlineprotected

◆ _isSharedNull()

template<typename T >
bool Arccore::AbstractArray< T >::_isSharedNull ( )
inlineprotected

Définition à la ligne 953 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _move()

template<typename T >
void Arccore::AbstractArray< T >::_move ( ThatClassType rhs)
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 851 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::AbstractArrayBase::_nullRunQueue().

Référencé par Arccore::UniqueArray< T >::operator=().

◆ _reserve()

template<typename T >
void Arccore::AbstractArray< T >::_reserve ( Int64  new_capacity)
inlineprotected

Réserve le mémoire pour new_capacity éléments.

Définition à la ligne 520 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::AbstractArray< T >::_internalRealloc(), et Arccore::AbstractArray< T >::capacity().

Référencé par Arccore::Array< T >::reserve().

◆ _reset()

template<typename T >
void Arccore::AbstractArray< T >::_reset ( )
inlineprotected

Réinitialise le tableau à un tableau vide.

Avertissement
Cette méthode n'est valide que pour les UniqueArray et pas les SharedArray.

Définition à la ligne 904 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _resize() [1/2]

template<typename T >
void Arccore::AbstractArray< T >::_resize ( Int64  s)
inlineprotected

Définition à la ligne 769 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _resize() [2/2]

template<typename T >
void Arccore::AbstractArray< T >::_resize ( Int64  s,
ConstReferenceType  value 
)
inlineprotected

Redimensionne et remplit les nouvelles valeurs avec value.

Définition à la ligne 784 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::AbstractArray< T >::_internalRealloc(), et Arccore::ArrayMetaData::size.

◆ _resizeAndCopyView()

template<typename T >
void Arccore::AbstractArray< T >::_resizeAndCopyView ( Span< const T >  rhs)
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.

Postcondition
size()==rhs.size()

Définition à la ligne 819 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::AbstractArray< T >::_internalRealloc(), Arccore::SpanImpl< T, SizeType, Extent, MinValue >::data(), Arccore::SpanImpl< T, SizeType, Extent, MinValue >::size(), et Arccore::ArrayMetaData::size.

Référencé par Arccore::Array< T >::copy().

◆ _resizeHelper()

template<typename T >
template<typename PodType >
void Arccore::AbstractArray< T >::_resizeHelper ( Int64  s,
PodType  pod_type,
RunQueue queue 
)
inlineprotected

Définition à la ligne 756 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _resizeNoInit()

template<typename T >
void Arccore::AbstractArray< T >::_resizeNoInit ( Int64  s,
RunQueue queue = nullptr 
)
inlineprotected

Redimensionne sans initialiser les nouvelles valeurs.

Définition à la ligne 774 du fichier arccore/src/collections/arccore/collections/Array.h.

Référencé par Arccore::Array< T >::resizeNoInit().

◆ _setMP()

template<typename T >
void Arccore::AbstractArray< T >::_setMP ( TrueImpl *  new_mp)
inlineprotected

Définition à la ligne 938 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _setMP2()

template<typename T >
void Arccore::AbstractArray< T >::_setMP2 ( TrueImpl *  new_mp,
ArrayMetaData new_md 
)
inlineprotected

Définition à la ligne 943 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _shrink() [1/2]

template<typename T >
void Arccore::AbstractArray< T >::_shrink ( )
inlineprotected

Définition à la ligne 881 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _shrink() [2/2]

template<typename T >
void Arccore::AbstractArray< T >::_shrink ( Int64  new_capacity)
inlineprotected

Définition à la ligne 887 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ _swap()

template<typename T >
void Arccore::AbstractArray< T >::_swap ( ThatClassType rhs)
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 875 du fichier arccore/src/collections/arccore/collections/Array.h.

Référencé par Arccore::UniqueArray< T >::swap().

◆ _updateReferences()

◆ capacity()

template<typename T >
Integer Arccore::AbstractArray< T >::capacity ( ) const
inline

◆ contains()

template<typename T >
bool Arccore::AbstractArray< T >::contains ( ConstReferenceType  v) const
inline

Vrai si le tableau contient l'élément de valeur v.

Définition à la ligne 435 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::ArrayMetaData::size.

Référencé par Arcane::CartesianMeshAMRPatchMng::coarse().

◆ dispose()

template<typename T >
void Arccore::AbstractArray< T >::dispose ( )
inline

Libère la mémoire utilisée par le tableau.

Définition à la ligne 390 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::AbstractArray< T >::_updateReferences(), et Arccore::ArrayMetaData::allocation_options.

◆ empty()

template<typename T >
bool Arccore::AbstractArray< T >::empty ( ) const
inline

Capacité (nombre d'éléments alloués) du vecteur.

Définition à la ligne 433 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::ArrayMetaData::size.

Référencé par Arcane::ItemGroupImpl::clear().

◆ largeCapacity()

template<typename T >
Int64 Arccore::AbstractArray< T >::largeCapacity ( ) const
inline

Capacité (nombre d'éléments alloués) du vecteur (en 64 bits)

Définition à la ligne 431 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::ArrayMetaData::capacity.

◆ largeLength()

template<typename T >
Int64 Arccore::AbstractArray< T >::largeLength ( ) const
inline

Nombre d'éléments du vecteur (en 64 bits)

Définition à la ligne 429 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::ArrayMetaData::size.

◆ largeSize()

◆ length()

template<typename T >
Integer Arccore::AbstractArray< T >::length ( ) const
inline

Nombre d'éléments du vecteur.

Définition à la ligne 423 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::ArrayMetaData::size.

◆ operator ConstArrayView< T >()

template<typename T >
Arccore::AbstractArray< T >::operator ConstArrayView< T > ( ) const
inline

Définition à la ligne 405 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator SmallSpan< const T >()

template<typename T >
Arccore::AbstractArray< T >::operator SmallSpan< const T > ( ) const
inline

Définition à la ligne 413 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator Span< const T >()

template<typename T >
Arccore::AbstractArray< T >::operator Span< const T > ( ) const
inline

Définition à la ligne 409 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator()()

template<typename T >
ConstReferenceType Arccore::AbstractArray< T >::operator() ( Int64  i) const
inline

Elément d'indice i.

Définition à la ligne 454 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::ArrayMetaData::size.

◆ operator[]()

template<typename T >
ConstReferenceType Arccore::AbstractArray< T >::operator[] ( Int64  i) const
inline

Elément d'indice i.

Définition à la ligne 448 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::ArrayMetaData::size.

◆ printInfos()

template<typename T >
void Arccore::AbstractArray< T >::printInfos ( std::ostream &  o)
inline

Définition à la ligne 646 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ setMemoryLocationHint()

template<typename T >
void Arccore::AbstractArray< T >::setMemoryLocationHint ( eMemoryLocationHint  new_hint)
inline

Modifie les informations sur la localisation mémoire.

Définition à la ligne 463 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ size()

template<typename T >
Integer Arccore::AbstractArray< T >::size ( ) const
inline

Nombre d'éléments du vecteur.

Définition à la ligne 421 du fichier arccore/src/collections/arccore/collections/Array.h.

Références Arccore::ArrayMetaData::size.

Référencé par Arcane::ItemTypeInfoBuilder::addEdge(), Arcane::ItemTypeInfoBuilder::addFaceGeneric(), Arcane::ItemTypeInfoBuilder::addFaceHeptagon(), Arcane::ItemTypeInfoBuilder::addFaceHexagon(), Arcane::ItemTypeInfoBuilder::addFaceLine(), Arcane::ItemTypeInfoBuilder::addFaceLine3(), Arcane::ItemTypeInfoBuilder::addFaceOctogon(), Arcane::ItemTypeInfoBuilder::addFacePentagon(), Arcane::ItemTypeInfoBuilder::addFaceQuad(), Arcane::ItemTypeInfoBuilder::addFaceQuad8(), Arcane::ItemTypeInfoBuilder::addFaceTriangle(), Arcane::ItemTypeInfoBuilder::addFaceTriangle6(), Arcane::ItemTypeInfoBuilder::addFaceVertex(), Arcane::ItemGroupImpl::addItems(), Arcane::CaseTable::appendElement(), Arcane::CartesianMeshAMRPatchMng::coarse(), Arcane::BasicRayMeshIntersection::compute(), Arcane::SerializedData::computeHash(), Arcane::IHashAlgorithm::computeHash(), Arcane::ItemItemGroupComputeFunctor< ItemType >::executeFunctor(), Arcane::platform::fillCommandLineArguments(), Arcane::CaseOptionServiceContainer< InterfaceType >::nbElem(), Arcane::CartesianMeshImpl::nbPatch(), Arcane::Hdf5VariableReaderHelper2::open(), Arccore::MessagePassing::Mpi::MpiSerializeMessageList::processPendingMessages(), Arcane::CartesianMeshImpl::recreateFromDump(), Arcane::CartesianMeshImpl::reduceNbGhostLayers(), Arcane::CartesianMeshAMRPatchMng::refine(), Arcane::HashTableBaseT< KeyType, TraitsType >::rehash(), Arcane::ItemGroupImpl::removeSuppressedItems(), Arcane::HashTableBaseT< KeyType, TraitsType >::resize(), Arcane::Materials::ItemMaterialVariableScalar< DataType >::serialize(), et Arcane::MeshUtils::writeMeshConnectivity().

◆ typeSize()

template<typename T >
static constexpr Int64 Arccore::AbstractArray< T >::typeSize ( )
inlinestaticconstexprprotected

Définition à la ligne 339 du fichier arccore/src/collections/arccore/collections/Array.h.

Documentation des fonctions amies et associées

◆ operator!= [1/3]

template<typename T >
bool operator!= ( const AbstractArray< T > &  rhs,
const AbstractArray< T > &  lhs 
)
friend

Définition à la ligne 475 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator!= [2/3]

template<typename T >
bool operator!= ( const AbstractArray< T > &  rhs,
const Span< const T > &  lhs 
)
friend

Définition à la ligne 485 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator!= [3/3]

template<typename T >
bool operator!= ( const Span< const T > &  rhs,
const AbstractArray< T > &  lhs 
)
friend

Définition à la ligne 495 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator<<

template<typename T >
std::ostream & operator<< ( std::ostream &  o,
const AbstractArray< T > &  val 
)
friend

Définition à la ligne 500 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator== [1/3]

template<typename T >
bool operator== ( const AbstractArray< T > &  rhs,
const AbstractArray< T > &  lhs 
)
friend

Définition à la ligne 470 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator== [2/3]

template<typename T >
bool operator== ( const AbstractArray< T > &  rhs,
const Span< const T > &  lhs 
)
friend

Définition à la ligne 480 du fichier arccore/src/collections/arccore/collections/Array.h.

◆ operator== [3/3]

template<typename T >
bool operator== ( const Span< const T > &  rhs,
const AbstractArray< T > &  lhs 
)
friend

Définition à la ligne 490 du fichier arccore/src/collections/arccore/collections/Array.h.

Documentation des données membres

◆ m_ptr

template<typename T >
T* Arccore::AbstractArray< T >::m_ptr = nullptr
protected

Définition à la ligne 515 du fichier arccore/src/collections/arccore/collections/Array.h.


La documentation de cette classe a été générée à partir du fichier suivant :