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

Classe de base des vecteurs 1D de données. Plus de détails...

#include <arccore/collections/Array.h>

Est dérivée de Arccore::AbstractArray< T >.

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

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

Types publics

typedef AbstractArray< T > BaseClassType
 
typedef ArrayTraits< T >::ConstReferenceType ConstReferenceType
 
typedef T value_type
 Type des éléments 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 std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
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 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.
 
- Types publics hérités de Arccore::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_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

 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.
 
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< pointerrange ()
 Intervalle d'itération du premier au dernièr élément.
 
ArrayRange< const_pointerrange () 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 Arccore::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 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

 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 Arccore::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 (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 ()
 

Membres hérités additionnels

- Fonctions membres protégées statiques hérités de Arccore::AbstractArray< T >
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 hérités de Arccore::AbstractArray< T >
T * m_ptr = nullptr
 
- Attributs protégés hérités de Arccore::AbstractArrayBase
ArrayMetaDatam_md = nullptr
 
ArrayMetaData m_meta_data
 

Description détaillée

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

Classe de base des vecteurs 1D de données.

Cette classe manipule un vecteur (tableau) 1D de données.

Les instances de cette classe ne sont pas copiables ni affectable. Pour créer un tableau copiable, il faut utiliser SharedArray (pour une sémantique par référence) ou UniqueArray (pour une sémantique par valeur comme la STL).

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

Documentation des définitions de type membres

◆ BaseClassType

template<typename T >
typedef AbstractArray<T> Arccore::Array< T >::BaseClassType

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

◆ 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.

◆ 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.

◆ 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

◆ Array() [1/2]

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

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

◆ Array() [2/2]

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

Constructeur par déplacement (uniquement pour UniqueArray)

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

◆ ~Array()

template<typename T >
Arccore::Array< T >::~Array ( )
inline

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

Documentation des fonctions membres

◆ _initFromInitializerList()

template<typename T >
void Arccore::Array< T >::_initFromInitializerList ( std::initializer_list< T >  alist)
inlineprotected

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

◆ add()

template<typename T >
void Arccore::Array< T >::add ( ConstReferenceType  val)
inline

Ajoute l'élément val à la fin du tableau.

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

Références Arccore::AbstractArray< T >::_internalRealloc(), Arccore::ArrayMetaData::capacity, et 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::ItemVectorT< VectorItemType >::addItem(), Arcane::ItemVectorT< VectorItemType >::addItem(), Arcane::ItemGroupImpl::addItems(), Arccore::MessagePassing::Mpi::MpiSerializeMessageList::addMessage(), Arcane::MeshUtils::checkUniqueIdsHashCollective(), Arcane::XmlNode::children(), Arcane::XmlNode::children(), Arcane::CartesianMeshAMRPatchMng::coarse(), Arcane::BasicRayMeshIntersection::compute(), Arcane::CartesianMeshCoarsening::createCoarseCells(), Arcane::CaseOptionList::deepGetChildren(), Arcane::Variable::dependInfos(), Arcane::Materials::MeshMaterialVariable::dependInfos(), Arcane::Process::execute(), Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::ItemItemGroupComputeFunctor< ItemType >::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ItemGroupPartialVariableObserver::executeReduce(), Arcane::MessagePassing::filterCommonStrings(), Arcane::CaseOptionEnumValues::getValidNames(), Arcane::CaseTable::insertElement(), Arcane::Hdf5VariableReaderHelper::open(), Arcane::Hdf5VariableReaderHelper2::open(), Arccore::UniqueArray< T >::operator=(), Arccore::Array< T >::push_back(), Arcane::CartesianMeshImpl::reduceNbGhostLayers(), Arcane::CartesianMeshAMRPatchMng::refine(), Arcane::CartesianMeshCoarsening::removeRefinedCells(), Arcane::ItemGroupImpl::removeSuppressedItems(), Arcane::XmlDocumentHolderLibXml2::save(), Arcane::Materials::ItemMaterialVariableScalar< DataType >::serialize(), Arccore::MessagePassing::internal::RequestListBase::wait(), Arcane::Hdf5VariableInfoBase::writeGroup(), et Arcane::MeshUtils::writeMeshConnectivity().

◆ addRange() [1/6]

template<typename T >
void Arccore::Array< T >::addRange ( ArrayView< T >  val)
inline

Ajoute n élément de valeur val à la fin du tableau.

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

Références Arccore::AbstractArray< T >::_addRange().

◆ addRange() [2/6]

template<typename T >
void Arccore::Array< T >::addRange ( const Array< T > &  val)
inline

Ajoute n élément de valeur val à la fin du tableau.

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

Références Arccore::AbstractArray< T >::_addRange(), et Arccore::Array< T >::constSpan().

◆ addRange() [3/6]

template<typename T >
void Arccore::Array< T >::addRange ( ConstArrayView< T >  val)
inline

Ajoute n élément de valeur val à la fin du tableau.

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

Références Arccore::AbstractArray< T >::_addRange().

◆ addRange() [4/6]

template<typename T >
void Arccore::Array< T >::addRange ( ConstReferenceType  val,
Int64  n 
)
inline

◆ addRange() [5/6]

template<typename T >
void Arccore::Array< T >::addRange ( Span< const T >  val)
inline

Ajoute n élément de valeur val à la fin du tableau.

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

Références Arccore::AbstractArray< T >::_addRange().

◆ addRange() [6/6]

template<typename T >
void Arccore::Array< T >::addRange ( Span< T >  val)
inline

Ajoute n élément de valeur val à la fin du tableau.

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

Références Arccore::AbstractArray< T >::_addRange().

◆ at()

template<typename T >
ConstReferenceType Arccore::Array< T >::at ( Int64  i) const
inline

Elément d'indice i. Vérifie toujours les débordements.

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

Références Arccore::arccoreCheckAt(), et Arccore::ArrayMetaData::size.

Référencé par Arcane::VariableArrayT< T >::compact().

◆ back() [1/2]

template<typename T >
T & Arccore::Array< T >::back ( )
inline

Dernier élément du tableau.

Le tableau ne doit pas être vide

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

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

◆ back() [2/2]

template<typename T >
ConstReferenceType Arccore::Array< T >::back ( ) const
inline

Dernier élément du tableau (const)

Le tableau ne doit pas être vide

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

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

◆ begin() [1/2]

◆ begin() [2/2]

template<typename T >
const_iterator Arccore::Array< T >::begin ( ) const
inline

Itérateur constant sur le premier élément du tableau.

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

◆ clear()

◆ clone()

template<typename T >
Array< T > Arccore::Array< T >::clone ( ) const
inline

Clone le tableau.

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

Références Arccore::Array< T >::constSpan(), et Arccore::Array< T >::copy().

◆ constSmallSpan()

template<typename T >
SmallSpan< const T > Arccore::Array< T >::constSmallSpan ( ) const
inline

Vue immutable sur ce tableau.

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

Références Arccore::Array< T >::smallSpan().

◆ constSpan()

◆ constView()

template<typename T >
ConstArrayView< T > Arccore::Array< T >::constView ( ) const
inline

Vue constante sur ce tableau.

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

Références Arccore::arccoreCheckArraySize(), et Arccore::ArrayMetaData::size.

Référencé par Arcane::ItemVectorT< VectorItemType >::view().

◆ copy()

◆ data() [1/2]

template<typename T >
T * Arccore::Array< T >::data ( )
inline

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

◆ data() [2/2]

◆ end() [1/2]

template<typename T >
iterator Arccore::Array< T >::end ( )
inline

◆ end() [2/2]

template<typename T >
const_iterator Arccore::Array< T >::end ( ) const
inline

Itérateur constant sur le premier élément après la fin du tableau.

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

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

◆ fill()

◆ front() [1/2]

template<typename T >
T & Arccore::Array< T >::front ( )
inline

Premier élément du tableau.

Le tableau ne doit pas être vide

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

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

◆ front() [2/2]

template<typename T >
ConstReferenceType Arccore::Array< T >::front ( ) const
inline

Premier élément du tableau (const)

Le tableau ne doit pas être vide

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

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

◆ item()

template<typename T >
ConstReferenceType Arccore::Array< T >::item ( Int64  i) const
inline

Elément d'indice i.

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

◆ operator ArrayView< T >()

template<typename T >
Arccore::Array< T >::operator ArrayView< T > ( )
inline

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

◆ operator ConstArrayView< T >()

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

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

◆ operator Span< const T >()

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

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

◆ operator Span< T >()

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

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

◆ operator()() [1/2]

template<typename T >
T & Arccore::Array< T >::operator() ( Int64  i)
inline

Elément d'indice i.

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

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

◆ operator()() [2/2]

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

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

◆ operator[]() [1/2]

template<typename T >
T & Arccore::Array< T >::operator[] ( Int64  i)
inline

Elément d'indice i.

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

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

◆ operator[]() [2/2]

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

Elément d'indice i.

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

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

◆ popBack()

template<typename T >
void Arccore::Array< T >::popBack ( )
inline

Supprime la dernière entité du tableau.

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

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

◆ push_back()

template<typename T >
void Arccore::Array< T >::push_back ( ConstReferenceType  val)
inline

Ajoute l'élément val à la fin du tableau.

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

Références Arccore::Array< T >::add().

◆ range() [1/2]

template<typename T >
ArrayRange< pointer > Arccore::Array< T >::range ( )
inline

Intervalle d'itération du premier au dernièr élément.

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

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

◆ range() [2/2]

template<typename T >
ArrayRange< const_pointer > Arccore::Array< T >::range ( ) const
inline

Intervalle d'itération du premier au dernièr élément.

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

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

◆ rbegin() [1/2]

template<typename T >
reverse_iterator Arccore::Array< T >::rbegin ( )
inline

Itérateur inverse sur le premier élément du tableau.

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

Références Arccore::Array< T >::end().

Référencé par Arcane::VariableCollection::sortByName().

◆ rbegin() [2/2]

template<typename T >
const_reverse_iterator Arccore::Array< T >::rbegin ( ) const
inline

Itérateur inverse sur le premier élément du tableau.

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

Références Arccore::Array< T >::end().

◆ remove()

template<typename T >
void Arccore::Array< T >::remove ( Int64  index)
inline

Supprime l'entité ayant l'indice index.

Tous les éléments de ce tableau après celui supprimé sont décalés.

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

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

Référencé par Arcane::CaseTable::removeElement().

◆ rend() [1/2]

template<typename T >
reverse_iterator Arccore::Array< T >::rend ( )
inline

Itérateur inverse sur le premier élément après la fin du tableau.

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

Références Arccore::Array< T >::begin().

Référencé par Arcane::VariableCollection::sortByName().

◆ rend() [2/2]

template<typename T >
const_reverse_iterator Arccore::Array< T >::rend ( ) const
inline

Itérateur inverse sur le premier élément après la fin du tableau.

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

Références Arccore::Array< T >::begin().

◆ reserve()

◆ resize() [1/2]

template<typename T >
void Arccore::Array< T >::resize ( Int64  s)
inline

Change le nombre d'éléments du tableau à s.

Note
Si le nouveau tableau est plus grand que l'ancien, les nouveaux éléments ne sont pas initialisés s'il s'agit d'un type POD.

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

Référencé par Arcane::CellDirectionMng::_internalResizeInfos(), Arcane::NodeDirectionMng::_internalResizeInfos(), Arcane::CaseOptionMultiExtended::_search(), Arcane::Materials::OneBufferMeshMaterialSynchronizeBuffer::allocate(), Arcane::CaseOptionServiceContainer< InterfaceType >::allocate(), Arcane::Parallel::VariableParallelOperationBase::applyOperation(), Arcane::ParallelMngDispatcher::broadcastMemoryBuffer(), Arcane::RayTriangle3DIntersection::compute(), Arcane::BasicRayMeshIntersection::compute(), Arcane::BasicRayMeshIntersection::compute(), Arcane::CartesianMeshCoarsening::createCoarseCells(), Arcane::Hdf5Utils::StandardArrayT< DataType >::directRead(), Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >::fillToArray(), Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >::fillToArray(), Arcane::MeshUtils::fillUniqueIds(), Arccore::BasicSerializer::getArray(), Arccore::BasicSerializer::getArray(), Arccore::BasicSerializer::getArray(), Arccore::BasicSerializer::getArray(), Arccore::BasicSerializer::getArray(), Arccore::BasicSerializer::getArray(), Arccore::BasicSerializer::getArray(), Arccore::BasicSerializer::getArray(), Arccore::BasicSerializer::getArray(), Arcane::ItemVector::ItemVector(), Arcane::ItemVector::ItemVector(), Arcane::ItemGroupImpl::removeAddItems(), Arcane::ItemGroupImpl::removeSuppressedItems(), Arcane::Materials::ItemMaterialVariableScalar< DataType >::serialize(), Arcane::Materials::ItemMaterialVariableArray< DataType >::serialize(), Arcane::ItemGroupImpl::setItems(), Arcane::SHA3Algorithm::SHA3::sha3_final(), Arcane::MeshUtils::writeMeshConnectivity(), et Arcane::Hdf5ItemVariableInfo< VariableType, DataType >::writeVariable().

◆ resize() [2/2]

template<typename T >
void Arccore::Array< T >::resize ( Int64  s,
ConstReferenceType  fill_value 
)
inline

Change le nombre d'éléments du tableau à s.

Si le nouveau tableau est plus grand que l'ancien, les nouveaux éléments sont initialisé avec la valeur fill_value.

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

◆ resizeNoInit()

template<typename T >
void Arccore::Array< T >::resizeNoInit ( Int64  s)
inline

Redimensionne sans initialiser les nouvelles valeurs.

Avertissement
Cela peut provoquer un comportement indéfini si le type T n'est pas copiable trivialement car les valeurs ne sont pas initialisées par la suite et le destructeur de T sera appelé lors de la destruction de l'instance.

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

Références Arccore::AbstractArray< T >::_resizeNoInit().

◆ sample()

template<typename T >
void Arccore::Array< T >::sample ( ConstArrayView< Integer indexes,
ArrayView< T >  result 
) const
inline

Extrait un sous-tableau à à partir d'une liste d'index.

Le résultat est stocké dans result dont la taille doit être au moins égale à celle de indexes.

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

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

◆ setAt()

template<typename T >
void Arccore::Array< T >::setAt ( Int64  i,
ConstReferenceType  value 
)
inline

Positionne l'élément d'indice i. Vérifie toujours les débordements.

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

Références Arccore::arccoreCheckAt(), et Arccore::ArrayMetaData::size.

◆ setItem()

template<typename T >
void Arccore::Array< T >::setItem ( Int64  i,
ConstReferenceType  v 
)
inline

Elément d'indice i.

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

◆ shrink() [1/2]

template<typename T >
void Arccore::Array< T >::shrink ( )
inline

Réalloue pour libérer la mémoire non utilisée.

Après cet appel, capacity() sera équal à size(). Si size() est nul ou est très petit, il est possible que capacity() soit légèrement supérieur.

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

◆ shrink() [2/2]

template<typename T >
void Arccore::Array< T >::shrink ( Int64  new_capacity)
inline

Réalloue la mémoire avoir une capacité proche de new_capacity.

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

◆ shrink_to_fit()

template<typename T >
void Arccore::Array< T >::shrink_to_fit ( )
inline

Réalloue pour libérer la mémoire non utilisée.

Voir également
shrink().

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

◆ smallSpan() [1/2]

template<typename T >
SmallSpan< T > Arccore::Array< T >::smallSpan ( )
inline

Vue mutable sur ce tableau.

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

Références Arccore::arccoreCheckArraySize(), et Arccore::ArrayMetaData::size.

◆ smallSpan() [2/2]

template<typename T >
SmallSpan< const T > Arccore::Array< T >::smallSpan ( ) const
inline

Vue immutable sur ce tableau.

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

Références Arccore::arccoreCheckArraySize(), et Arccore::ArrayMetaData::size.

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

◆ span() [1/2]

template<typename T >
Span< T > Arccore::Array< T >::span ( )
inline

Vue mutable sur ce tableau.

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

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

◆ span() [2/2]

◆ subConstView()

template<typename T >
ConstArrayView< T > Arccore::Array< T >::subConstView ( Int64  abegin,
Int32  asize 
) const
inline

Sous-vue à partir de l'élément abegin et contenant asize éléments.

Si (abegin + asize) est supérieur à la taille du tableau, la vue est tronqué à cette taille, retournant éventuellement une vue vide.

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

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

◆ subView()

template<typename T >
ArrayView< T > Arccore::Array< T >::subView ( Int64  abegin,
Integer  asize 
)
inline

Sous-vue à partir de l'élément abegin et contenant asize éléments.

Si (abegin + asize) est supérieur à la taille du tableau, la vue est tronqué à cette taille, retournant éventuellement une vue vide.

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

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

Référencé par Arcane::ItemGroupImpl::addItems(), Arcane::CartesianMeshAMRPatchMng::coarse(), et Arcane::CartesianMeshAMRPatchMng::refine().

◆ unguardedBasePointer() [1/2]

template<typename T >
T * Arccore::Array< T >::unguardedBasePointer ( )
inline

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

◆ unguardedBasePointer() [2/2]

template<typename T >
const T * Arccore::Array< T >::unguardedBasePointer ( ) const
inline

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

◆ view()


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