Vecteur d'entités. Plus de détails...
#include <arcane/core/ItemVector.h>
Types publics | |
using | ItemType = Item |
Fonctions membres publiques | |
ItemVector (IItemFamily *afamily) | |
Créé un vecteur vide associé à la famille family. | |
ItemVector (IItemFamily *afamily, Int32ConstArrayView local_ids) | |
Créé un vecteur associé à la famille family et contenant les entités local_ids. | |
ItemVector (IItemFamily *afamily, Integer asize) | |
Créé un vecteur pour size éléments associé à la famille family. | |
ItemVector () | |
Créé un vecteur nul. Il faudra ensuite appeler setFamily() pour l'utiliser. | |
operator ItemVectorView () const | |
Operateur de cast vers ItemVectorView. | |
void | setFamily (IItemFamily *afamily) |
Positionne la famille associée. | |
void | add (Int32 local_id) |
Ajoute une entité de numéro local local_id à la fin du vecteur. | |
void | add (ConstArrayView< Int32 > local_ids) |
Ajoute une liste d'entité de numéros locaux local_ids à la fin du vecteur. | |
void | addItem (ItemLocalId local_id) |
Ajoute une entité de numéro local local_id à la fin du vecteur. | |
void | addItem (Item item) |
Ajoute une entité à la fin du vecteur. | |
Int32 | size () const |
Nombre d'éléments du vecteur. | |
void | reserve (Integer capacity) |
Réserve la mémoire pour capacity entités. | |
void | clear () |
Supprime toutes les entités du vecteur. | |
ItemVectorView | view () const |
Vue sur le vecteur. | |
ArrayView< Int32 > | viewAsArray () |
Vue sur les numéros locaux. | |
ConstArrayView< Int32 > | viewAsArray () const |
Vue constante sur les numéros locaux. | |
void | removeAt (Int32 index) |
Supprime l'entité à l'index index. | |
void | resize (Integer new_size) |
Positionne le nombre d'éléments du tableau. | |
ItemVector | clone () |
Clone ce vecteur. | |
Item | operator[] (Int32 index) const |
Entité à la position index du vecteur. | |
IItemFamily * | family () const |
Famille associée au vecteur. | |
ItemEnumerator | enumerator () const |
Enumérateur. | |
Attributs protégés | |
SharedArray< Int32 > | m_local_ids |
IItemFamily * | m_family = nullptr |
ItemSharedInfo * | m_shared_info = ItemSharedInfo::nullInstance() |
Fonctions membres privées | |
void | _init () |
Vecteur d'entités.
La classe ItemVector utilise une sémantique par référence.
ItemVector est la classe générique. Il est possible d'avoir une version spécialisée par genre d'entité via ItemVectorT.
Le fonctionnement du vecteur d'entité est similaire à celui du groupe d'entité ItemGroup à la différence suivante:
Un vecteur est intéressant pour construire une liste temporaire d'entités. Il reprend les fonctionnalités similaires à la classe Array et il est donc possible par exemple d'ajouter des éléments un par un, soit via un localId(), soit via une entité.
Définition à la ligne 58 du fichier ItemVector.h.
Définition à la ligne 62 du fichier ItemVector.h.
|
explicit |
Créé un vecteur vide associé à la famille family.
Définition à la ligne 37 du fichier ItemVector.cc.
Arcane::ItemVector::ItemVector | ( | IItemFamily * | afamily, |
Int32ConstArrayView | local_ids | ||
) |
Créé un vecteur associé à la famille family et contenant les entités local_ids.
Définition à la ligne 48 du fichier ItemVector.cc.
Références Arccore::Array< T >::resize(), et Arccore::Array< T >::span().
Arcane::ItemVector::ItemVector | ( | IItemFamily * | afamily, |
Integer | asize | ||
) |
Créé un vecteur pour size éléments associé à la famille family.
Définition à la ligne 61 du fichier ItemVector.cc.
Références Arccore::Array< T >::resize().
Arcane::ItemVector::ItemVector | ( | ) |
Créé un vecteur nul. Il faudra ensuite appeler setFamily() pour l'utiliser.
Définition à la ligne 73 du fichier ItemVector.cc.
|
private |
Définition à la ligne 82 du fichier ItemVector.cc.
|
inline |
Ajoute une liste d'entité de numéros locaux local_ids à la fin du vecteur.
Définition à la ligne 96 du fichier ItemVector.h.
|
inline |
Ajoute une entité de numéro local local_id à la fin du vecteur.
Définition à la ligne 93 du fichier ItemVector.h.
Ajoute une entité à la fin du vecteur.
Définition à la ligne 102 du fichier ItemVector.h.
Références Arcane::Item::localId().
|
inline |
Ajoute une entité de numéro local local_id à la fin du vecteur.
Définition à la ligne 99 du fichier ItemVector.h.
|
inline |
Supprime toutes les entités du vecteur.
Définition à la ligne 111 du fichier ItemVector.h.
|
inline |
Clone ce vecteur.
Définition à la ligne 134 du fichier ItemVector.h.
|
inline |
Enumérateur.
Définition à la ligne 143 du fichier ItemVector.h.
|
inline |
Famille associée au vecteur.
Définition à la ligne 140 du fichier ItemVector.h.
|
inline |
Operateur de cast vers ItemVectorView.
Définition à la ligne 81 du fichier ItemVector.h.
|
inline |
Entité à la position index du vecteur.
Définition à la ligne 137 du fichier ItemVector.h.
|
inline |
Supprime l'entité à l'index index.
Définition à la ligne 123 du fichier ItemVector.h.
|
inline |
Réserve la mémoire pour capacity entités.
Définition à la ligne 108 du fichier ItemVector.h.
|
inline |
Positionne le nombre d'éléments du tableau.
Si la nouvelle taille est supérieure à l'ancienne, les éléments ajoutés sont indéfinis.
Définition à la ligne 131 du fichier ItemVector.h.
Référencé par Arcane::ConnectivityItemVector::resizeAndCopy(), et Arcane::ConnectivityItemVector::setItem().
void Arcane::ItemVector::setFamily | ( | IItemFamily * | afamily | ) |
Positionne la famille associée.
Le vecteur est vidé de ses éléments
Définition à la ligne 96 du fichier ItemVector.cc.
Références Arccore::Array< T >::clear().
|
inline |
Nombre d'éléments du vecteur.
Définition à la ligne 105 du fichier ItemVector.h.
|
inline |
Vue sur le vecteur.
Définition à la ligne 114 du fichier ItemVector.h.
|
inline |
Vue sur les numéros locaux.
Définition à la ligne 117 du fichier ItemVector.h.
Référencé par Arcane::ConnectivityItemVector::resizeAndCopy(), et Arcane::ConnectivityItemVector::setItem().
|
inline |
Vue constante sur les numéros locaux.
Définition à la ligne 120 du fichier ItemVector.h.
|
protected |
Définition à la ligne 148 du fichier ItemVector.h.
|
protected |
Définition à la ligne 147 du fichier ItemVector.h.
|
protected |
Définition à la ligne 149 du fichier ItemVector.h.