12#ifndef ARCANE_CORE_ITEMVECTOR_H
13#define ARCANE_CORE_ITEMVECTOR_H
18#include "arcane/core/ItemVectorView.h"
19#include "arcane/core/IItemFamily.h"
93 void add(Int32 local_id) { m_local_ids.add(local_id); }
105 Int32
size()
const {
return m_local_ids.size(); }
108 void reserve(Integer capacity) { m_local_ids.reserve(capacity); }
111 void clear() { m_local_ids.clear(); }
123 void removeAt(Int32 index) { m_local_ids.remove(index); }
131 void resize(Integer new_size) { m_local_ids.resize(new_size); }
163template <
typename VectorItemType>
169 using ItemType = VectorItemType;
206 return ItemType(m_local_ids[index], m_shared_info);
210 void addItem(ItemType item) { m_local_ids.
add(item.localId()); }
231template <
typename ItemType>
inline ItemVectorViewT<ItemType>::
232ItemVectorViewT(
const ItemVectorT<ItemType>& rhs)
233: ItemVectorView(rhs.view())
Interface d'une famille d'entités.
Index d'une entité ItemType dans une variable.
Index d'un Item dans une variable.
ItemEnumeratorT< ItemType > enumerator() const
Enumérateur.
void addItem(ItemType item)
Ajoute une entité à la fin du vecteur.
ItemType operator[](Int32 index) const
Entité à la position index du vecteur.
void addItem(ItemLocalIdT< ItemType > local_id)
Ajoute une entité à la fin du vecteur.
ItemVectorT()=default
Constructeur vide.
ItemVectorT(IItemFamily *afamily, Integer asize)
Constructeur pour asize élément pour la familly afamily.
ItemVectorT(IItemFamily *afamily, ConstArrayView< Int32 > local_ids)
Créé un vecteur associé à la famille afamily et contenant les entités local_ids.
ItemVectorT(IItemFamily *afamily)
Constructeur vide avec famille.
ItemVectorViewT< ItemType > view() const
Vue sur le tableau entier.
ItemVectorT(const ItemVector &rhs)
Constructeur par copie.
Vue sur un tableau typé d'entités.
Vue sur un vecteur d'entités.
ConstArrayView< Int32 > viewAsArray() const
Vue constante sur les numéros locaux.
void add(Int32 local_id)
Ajoute une entité de numéro local local_id à la fin du vecteur.
void removeAt(Int32 index)
Supprime l'entité à l'index index.
void clear()
Supprime toutes les entités du vecteur.
ItemVector clone()
Clone ce vecteur.
IItemFamily * family() const
Famille associée au vecteur.
ItemVectorView view() const
Vue sur le vecteur.
void addItem(Item item)
Ajoute une entité à la fin du vecteur.
void resize(Integer new_size)
Positionne le nombre d'éléments du tableau.
Int32 size() const
Nombre d'éléments du vecteur.
ArrayView< Int32 > viewAsArray()
Vue sur les numéros locaux.
void addItem(ItemLocalId local_id)
Ajoute une entité de numéro local local_id à la fin du vecteur.
Item operator[](Int32 index) const
Entité à la position index du vecteur.
ItemEnumerator enumerator() const
Enumérateur.
void reserve(Integer capacity)
Réserve la mémoire pour capacity entités.
void add(ConstArrayView< Int32 > local_ids)
Ajoute une liste d'entité de numéros locaux local_ids à la fin du vecteur.
Classe de base d'un élément de maillage.
constexpr Int32 localId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Vue modifiable d'un tableau d'un type T.
ConstArrayView< T > constView() const
Vue constante sur ce tableau.
void add(ConstReferenceType val)
Ajoute l'élément val à la fin du tableau.
Vue constante d'un tableau de type T.
Vecteur 1D de données avec sémantique par référence.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-