Arcane  v3.14.10.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 <arcane/utils/ListImpl.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
 
typedefvalue_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 43 du fichier ListImpl.h.

Documentation des définitions de type membres

◆ BaseClass

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

Définition à la ligne 48 du fichier ListImpl.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 72 du fichier ListImpl.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 59 du fichier ListImpl.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 63 du fichier ListImpl.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 67 du fichier ListImpl.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 70 du fichier ListImpl.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 57 du fichier ListImpl.h.

◆ ObjectRef

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

Définition à la ligne 52 du fichier ListImpl.h.

◆ pointer

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

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

Définition à la ligne 61 du fichier ListImpl.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 65 du fichier ListImpl.h.

◆ value_type

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

Type des éléments du tableau.

Définition à la ligne 55 du fichier ListImpl.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 282 du fichier ListImpl.h.

◆ _arrayCopy() [2/4]

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

Définition à la ligne 278 du fichier ListImpl.h.

◆ _arrayCopy() [3/4]

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

Définition à la ligne 274 du fichier ListImpl.h.

◆ _arrayCopy() [4/4]

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

Définition à la ligne 286 du fichier ListImpl.h.

◆ _capacity()

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

Définition à la ligne 267 du fichier ListImpl.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 307 du fichier ListImpl.h.

Référencé par Arcane::ListImplBase< T >::add().

◆ _ptr() [2/2]

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

Définition à la ligne 312 du fichier ListImpl.h.

◆ _removeAt()

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

Définition à la ligne 242 du fichier ListImpl.h.

◆ add()

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

◆ assign() [1/3]

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

Recopie le tableau s.

Définition à la ligne 92 du fichier ListImpl.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 87 du fichier ListImpl.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 82 du fichier ListImpl.h.

◆ 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 130 du fichier ListImpl.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 120 du fichier ListImpl.h.

Référencé par Arcane::ListImplBase< T >::each().

◆ 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 141 du fichier ListImpl.h.

Référencé par Arcane::ListImplBase< T >::end2().

◆ 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 179 du fichier ListImpl.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 184 du fichier ListImpl.h.

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

◆ contains()

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

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 232 du fichier ListImpl.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 156 du fichier ListImpl.h.

Références Arcane::ListImplBase< T >::begin(), et Arcane::ListImplBase< T >::end().

◆ 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 135 du fichier ListImpl.h.

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

◆ 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 125 du fichier ListImpl.h.

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

Référencé par Arcane::ListImplBase< T >::each().

◆ 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 147 du fichier ListImpl.h.

Références Arcane::ListImplBase< T >::begin2(), et Arcane::CollectionImplBase::count().

◆ 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 430 du fichier ListImpl.h.

◆ find()

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

Définition à la ligne 223 du fichier ListImpl.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 104 du fichier ListImpl.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 114 du fichier ListImpl.h.

◆ remove()

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

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 202 du fichier ListImpl.h.

◆ removeAt()

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

Implémente Arcane::CollectionImplT< T >.

Définition à la ligne 215 du fichier ListImpl.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 168 du fichier ListImpl.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 259 du fichier ListImpl.h.

Documentation des données membres

◆ m_array

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

Définition à la ligne 319 du fichier ListImpl.h.


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