Arcane  v4.1.2.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::ListImplBase< T >

Tableau avec allocateur virtuel. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/common/arccore/common/List.h>

+ Graphe d'héritage de Arcane::ListImplBase< T >:
+ Graphe de collaboration de Arcane::ListImplBase< T >:

Types publics

typedef CollectionImplT< T > BaseClass
 
typedef const T & ObjectRef
 
typedef T value_type
 Type des éléments du tableau.
 
typedef value_typeiterator
 Type de l'itérateur sur un élément du tableau.
 
typedef const value_typeconst_iterator
 Type de l'itérateur constant sur un élément 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 value_typereference
 Type référence d'un élément du tableau.
 
typedef const value_typeconst_reference
 Type référence constante d'un élément du tableau.
 
typedef IterT< ListImplBase< T > > iter
 Type d'un itérateur sur tout le tableau.
 
typedef ConstIterT< ListImplBase< T > > const_iter
 Type d'un itérateur constant sur tout le tableau.
 
- Types publics hérités de Arcane::CollectionImplT< T >
typedef const T & ObjectRef
 
typedef T * ObjectIterator
 
typedef const T * ConstObjectIterator
 
- Types publics hérités de Arcane::CollectionImplBase
typedef Integer size_type
 Type indexant le tableau.
 
typedef ptrdiff_t difference_type
 Type d'une distance entre itérateur éléments du tableau.
 

Fonctions membres publiques

 ListImplBase ()=default
 Construit un tableau vide.
 
void assign (const ListImplBase< T > &s)
 Recopie le tableau s.
 
void assign (const ConstArrayView< T > &s)
 Recopie le tableau s.
 
void assign (const ArrayView< T > &s)
 Recopie le tableau s.
 
T & operator[] (Integer i)
 i-ème élément du tableau.
 
const T & operator[] (Integer i) const
 i-ème élément du tableau.
 
iterator begin () override
 Retourne un iterateur sur le premier élément du tableau.
 
iterator end () override
 Retourne un iterateur sur le premier élément après la fin du tableau.
 
const_iterator begin () const override
 Retourne un iterateur constant sur le premier élément du tableau.
 
const_iterator end () const override
 Retourne un iterateur constant sur le premier élément après la fin du tableau.
 
T * begin2 () const override
 Retourne un iterateur sur le premier élément du tableau.
 
T * end2 () const override
 Retourne un iterateur sur le premier élément après la fin du tableau.
 
template<class Function>
Function each (Function f)
 Applique le fonctor f à tous les éléments du tableau.
 
void reserve (Integer new_capacity)
 Signale qu'il faut réserver de la mémoire pour new_capacity éléments Il s'agit juste d'une indication. La classe dérivée est libre de ne pas en tenir compte.
 
Integer capacity () const
 Retourne le nombre d'éléments alloués du tableau.
 
void clear () override
 Supprime tous les éléments de la collection.
 
void add (ObjectRef elem) override
 Ajoute l'élément elem à la fin du tableau.
 
bool remove (ObjectRef element) override
 
void removeAt (Integer index) override
 
const_iterator find (ObjectRef element) const
 
bool contains (ObjectRef element) const override
 
EnumeratorImplBaseenumerator () const override
 Retourne un énumérateur générique sur la collection.
 
void resize (Integer new_size)
 Modifie la taille du tableau. new_size est le nouveau nombre d'éléments du tableau.
 
- Fonctions membres publiques hérités de Arcane::CollectionImplT< T >
template<class Function>
Function each (Function f)
 Applique le fonctor f à tous les éléments de la collection.
 
- Fonctions membres publiques hérités de Arcane::CollectionImplBase
 CollectionImplBase ()=default
 Construit une collection vide.
 
 CollectionImplBase (Integer acount)
 Construit une collection avec acount éléments.
 
 CollectionImplBase (const CollectionImplBase &from)=delete
 Opérateur de recopie. les handlers d'évènements ne sont pas recopiés.
 
Integer count () const
 Retourne le nombre d'éléments de la collection.
 
virtual void onClear ()
 Evènement envoyé avant de supprimer tous les éléments.
 
virtual void onClearComplete ()
 Evènement envoyé lorsque tous les éléments ont été supprimés.
 
virtual void onInsert ()
 Evènement envoyé avant d'insérer un élément.
 
virtual void onInsertComplete (void *object, Integer position)
 Evènement envoyé après insertion d'un élément.
 
virtual void onRemove ()
 Evènement envoyé avant de supprimer un élément.
 
virtual void onRemoveComplete (void *object, Integer position)
 Evènement envoyé après supression d'un élément.
 
virtual void onSet ()
 
virtual void onSetComplete (void *object, Integer position)
 
virtual void onValidate ()
 
CollectionChangeEventHandler & change ()
 
- Fonctions membres publiques hérités de Arcane::ObjectImpl
 ObjectImpl (const ObjectImpl &rhs)=delete
 
ObjectImploperator= (const ObjectImpl &rhs)=delete
 
void addRef ()
 Incrémente le compteur de référence.
 
void removeRef ()
 Décrémente le compteur de référence.
 
Int32 refCount () const
 Retourne la valeur du compteur de référence.
 
virtual void deleteMe ()
 Détruit cet objet.
 

Fonctions membres protégées

void _removeAt (Integer index)
 
Integer _capacity () const
 
void _arrayCopy (const ListImplBase< T > &array)
 
void _arrayCopy (const ConstArrayView< T > &array)
 
void _arrayCopy (const ArrayView< T > &array)
 
void _arrayCopy (const T *from_ptr, Integer from_size)
 
T * _ptr ()
 Retourne un pointeur sur le tableau.
 
const T * _ptr () const
 
- Fonctions membres protégées hérités de Arcane::CollectionImplBase
void _setCount (Integer acount)
 

Attributs privés

UniqueArray< T > m_array
 

Description détaillée

template<class T>
class Arcane::ListImplBase< T >

Tableau avec allocateur virtuel.

C'est à la classe virtuelle de détruire les objets dans le destructeur virtuel.

Définition à la ligne 41 du fichier arccore/src/common/arccore/common/List.h.

Documentation des définitions de type membres

◆ BaseClass

template<class T>
typedef CollectionImplT<T> Arcane::ListImplBase< T >::BaseClass

Définition à la ligne 46 du fichier arccore/src/common/arccore/common/List.h.

◆ const_iter

template<class T>
typedef ConstIterT<ListImplBase<T> > Arcane::ListImplBase< T >::const_iter

Type d'un itérateur constant sur tout le tableau.

Définition à la ligne 70 du fichier arccore/src/common/arccore/common/List.h.

◆ const_iterator

template<class T>
typedef const value_type* Arcane::ListImplBase< T >::const_iterator

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

Définition à la ligne 57 du fichier arccore/src/common/arccore/common/List.h.

◆ const_pointer

template<class T>
typedef const value_type* Arcane::ListImplBase< T >::const_pointer

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

Définition à la ligne 61 du fichier arccore/src/common/arccore/common/List.h.

◆ const_reference

template<class T>
typedef const value_type& Arcane::ListImplBase< T >::const_reference

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

Définition à la ligne 65 du fichier arccore/src/common/arccore/common/List.h.

◆ iter

template<class T>
typedef IterT<ListImplBase<T> > Arcane::ListImplBase< T >::iter

Type d'un itérateur sur tout le tableau.

Définition à la ligne 68 du fichier arccore/src/common/arccore/common/List.h.

◆ iterator

template<class T>
typedef value_type* Arcane::ListImplBase< T >::iterator

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

Définition à la ligne 55 du fichier arccore/src/common/arccore/common/List.h.

◆ ObjectRef

template<class T>
typedef const T& Arcane::ListImplBase< T >::ObjectRef

Définition à la ligne 50 du fichier arccore/src/common/arccore/common/List.h.

◆ pointer

template<class T>
typedef value_type* Arcane::ListImplBase< T >::pointer

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

Définition à la ligne 59 du fichier arccore/src/common/arccore/common/List.h.

◆ reference

template<class T>
typedef value_type& Arcane::ListImplBase< T >::reference

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

Définition à la ligne 63 du fichier arccore/src/common/arccore/common/List.h.

◆ value_type

template<class T>
typedef T Arcane::ListImplBase< T >::value_type

Type des éléments du tableau.

Définition à la ligne 53 du fichier arccore/src/common/arccore/common/List.h.

Documentation des fonctions membres

◆ _arrayCopy() [1/4]

template<class T>
void Arcane::ListImplBase< T >::_arrayCopy ( const ArrayView< T > & array)
inlineprotected

Définition à la ligne 280 du fichier arccore/src/common/arccore/common/List.h.

◆ _arrayCopy() [2/4]

template<class T>
void Arcane::ListImplBase< T >::_arrayCopy ( const ConstArrayView< T > & array)
inlineprotected

Définition à la ligne 276 du fichier arccore/src/common/arccore/common/List.h.

◆ _arrayCopy() [3/4]

template<class T>
void Arcane::ListImplBase< T >::_arrayCopy ( const ListImplBase< T > & array)
inlineprotected

Définition à la ligne 272 du fichier arccore/src/common/arccore/common/List.h.

◆ _arrayCopy() [4/4]

template<class T>
void Arcane::ListImplBase< T >::_arrayCopy ( const T * from_ptr,
Integer from_size )
inlineprotected

Définition à la ligne 284 du fichier arccore/src/common/arccore/common/List.h.

◆ _capacity()

template<class T>
Integer Arcane::ListImplBase< T >::_capacity ( ) const
inlineprotected

Définition à la ligne 265 du fichier arccore/src/common/arccore/common/List.h.

◆ _ptr() [1/2]

template<class T>
T * Arcane::ListImplBase< T >::_ptr ( )
inlineprotected

Retourne un pointeur sur le tableau.

Avertissement
Il est préférable de ne pas utiliser cette méthode pour accéder à un élément du tableau car ce pointeur peut être invalidé par un redimensionnement du tableau. De plus, accéder aux éléments du tableau par ce pointeur ne permet aucune vérification de dépassement, même en mode DEBUG.

Définition à la ligne 305 du fichier arccore/src/common/arccore/common/List.h.

Référencé par add().

+ Voici le graphe des appelants de cette fonction :

◆ _ptr() [2/2]

template<class T>
const T * Arcane::ListImplBase< T >::_ptr ( ) const
inlineprotected

Définition à la ligne 310 du fichier arccore/src/common/arccore/common/List.h.

◆ _removeAt()

template<class T>
void Arcane::ListImplBase< T >::_removeAt ( Integer index)
inlineprotected

Définition à la ligne 240 du fichier arccore/src/common/arccore/common/List.h.

◆ add()

template<class T>
void Arcane::ListImplBase< T >::add ( ObjectRef elem)
inlineoverridevirtual

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

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 191 du fichier arccore/src/common/arccore/common/List.h.

Références _ptr(), Arcane::CollectionImplBase::count(), Arcane::CollectionImplBase::onInsert(), et Arcane::CollectionImplBase::onInsertComplete().

+ Voici le graphe d'appel pour cette fonction :

◆ assign() [1/3]

template<class T>
void Arcane::ListImplBase< T >::assign ( const ArrayView< T > & s)
inline

Recopie le tableau s.

Définition à la ligne 90 du fichier arccore/src/common/arccore/common/List.h.

◆ assign() [2/3]

template<class T>
void Arcane::ListImplBase< T >::assign ( const ConstArrayView< T > & s)
inline

Recopie le tableau s.

Définition à la ligne 85 du fichier arccore/src/common/arccore/common/List.h.

◆ assign() [3/3]

template<class T>
void Arcane::ListImplBase< T >::assign ( const ListImplBase< T > & s)
inline

Recopie le tableau s.

Définition à la ligne 80 du fichier arccore/src/common/arccore/common/List.h.

Références ListImplBase().

+ Voici le graphe d'appel pour cette fonction :

◆ begin() [1/2]

template<class T>
const_iterator Arcane::ListImplBase< T >::begin ( ) const
inlineoverridevirtual

Retourne un iterateur constant sur le premier élément du tableau.

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 128 du fichier arccore/src/common/arccore/common/List.h.

◆ begin() [2/2]

template<class T>
iterator Arcane::ListImplBase< T >::begin ( )
inlineoverridevirtual

Retourne un iterateur sur le premier élément du tableau.

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 118 du fichier arccore/src/common/arccore/common/List.h.

Référencé par each().

+ Voici le graphe des appelants de cette fonction :

◆ begin2()

template<class T>
T * Arcane::ListImplBase< T >::begin2 ( ) const
inlineoverridevirtual

Retourne un iterateur sur le premier élément du tableau.

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 139 du fichier arccore/src/common/arccore/common/List.h.

Référencé par end2(), et enumerator().

+ Voici le graphe des appelants de cette fonction :

◆ capacity()

template<class T>
Integer Arcane::ListImplBase< T >::capacity ( ) const
inline

Retourne le nombre d'éléments alloués du tableau.

Il s'agit juste d'une indication. La classe dérivée est libre de ne pas en tenir compte.

Définition à la ligne 177 du fichier arccore/src/common/arccore/common/List.h.

◆ clear()

template<class T>
void Arcane::ListImplBase< T >::clear ( )
inlineoverridevirtual

Supprime tous les éléments de la collection.

Implémente Arcane::CollectionImplBase.

Définition à la ligne 182 du fichier arccore/src/common/arccore/common/List.h.

Références Arcane::CollectionImplBase::onClear(), et Arcane::CollectionImplBase::onClearComplete().

+ Voici le graphe d'appel pour cette fonction :

◆ contains()

template<class T>
bool Arcane::ListImplBase< T >::contains ( ObjectRef element) const
inlineoverridevirtual

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 230 du fichier arccore/src/common/arccore/common/List.h.

◆ each()

template<class T>
template<class Function>
Function Arcane::ListImplBase< T >::each ( Function f)
inline

Applique le fonctor f à tous les éléments du tableau.

Définition à la ligne 154 du fichier arccore/src/common/arccore/common/List.h.

Références begin(), et end().

+ Voici le graphe d'appel pour cette fonction :

◆ end() [1/2]

template<class T>
const_iterator Arcane::ListImplBase< T >::end ( ) const
inlineoverridevirtual

Retourne un iterateur constant sur le premier élément après la fin du tableau.

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 133 du fichier arccore/src/common/arccore/common/List.h.

Références Arcane::CollectionImplBase::count().

+ Voici le graphe d'appel pour cette fonction :

◆ end() [2/2]

template<class T>
iterator Arcane::ListImplBase< T >::end ( )
inlineoverridevirtual

Retourne un iterateur sur le premier élément après la fin du tableau.

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 123 du fichier arccore/src/common/arccore/common/List.h.

Références Arcane::CollectionImplBase::count().

Référencé par each().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ end2()

template<class T>
T * Arcane::ListImplBase< T >::end2 ( ) const
inlineoverridevirtual

Retourne un iterateur sur le premier élément après la fin du tableau.

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 145 du fichier arccore/src/common/arccore/common/List.h.

Références begin2(), et Arcane::CollectionImplBase::count().

Référencé par enumerator().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ enumerator()

template<class T>
EnumeratorImplBase * Arcane::ListImplBase< T >::enumerator ( ) const
overridevirtual

Retourne un énumérateur générique sur la collection.

Implémente Arcane::CollectionImplBase.

Définition à la ligne 428 du fichier arccore/src/common/arccore/common/List.h.

Références begin2(), et end2().

+ Voici le graphe d'appel pour cette fonction :

◆ find()

template<class T>
const_iterator Arcane::ListImplBase< T >::find ( ObjectRef element) const
inline

Définition à la ligne 221 du fichier arccore/src/common/arccore/common/List.h.

◆ operator[]() [1/2]

template<class T>
T & Arcane::ListImplBase< T >::operator[] ( Integer i)
inline

i-ème élément du tableau.

En mode check, vérifie les débordements.

Définition à la ligne 102 du fichier arccore/src/common/arccore/common/List.h.

◆ operator[]() [2/2]

template<class T>
const T & Arcane::ListImplBase< T >::operator[] ( Integer i) const
inline

i-ème élément du tableau.

En mode check, vérifie les débordements.

Définition à la ligne 112 du fichier arccore/src/common/arccore/common/List.h.

◆ remove()

template<class T>
bool Arcane::ListImplBase< T >::remove ( ObjectRef element)
inlineoverridevirtual

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 200 du fichier arccore/src/common/arccore/common/List.h.

◆ removeAt()

template<class T>
void Arcane::ListImplBase< T >::removeAt ( Integer index)
inlineoverridevirtual

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 213 du fichier arccore/src/common/arccore/common/List.h.

◆ reserve()

template<class T>
void Arcane::ListImplBase< T >::reserve ( Integer new_capacity)
inline

Signale qu'il faut réserver de la mémoire pour new_capacity éléments Il s'agit juste d'une indication. La classe dérivée est libre de ne pas en tenir compte.

Définition à la ligne 166 du fichier arccore/src/common/arccore/common/List.h.

◆ resize()

template<class T>
void Arcane::ListImplBase< T >::resize ( Integer new_size)
inline

Modifie la taille du tableau. new_size est le nouveau nombre d'éléments du tableau.

Définition à la ligne 257 du fichier arccore/src/common/arccore/common/List.h.

Documentation des données membres

◆ m_array

template<class T>
UniqueArray<T> Arcane::ListImplBase< T >::m_array
private

Définition à la ligne 317 du fichier arccore/src/common/arccore/common/List.h.


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