12#ifndef ARCANE_MESH_CONNECTIVITYNEWWITHDEPENDENCIESINFO_H
13#define ARCANE_MESH_CONNECTIVITYNEWWITHDEPENDENCIESINFO_H
21#include "arcane/core/IIncrementalItemConnectivity.h"
23#include "arcane/mesh/MeshGlobal.h"
24#include "arcane/mesh/ConnectivityNewWithDependenciesTypes.h"
25#include "arcane/mesh/IncrementalItemConnectivity.h"
26#include "arcane/mesh/CompactIncrementalItemConnectivity.h"
27#include "arcane/mesh/ItemConnectivitySelector.h"
46template <
class SourceFamily,
class TargetFamily,
class LegacyType,
class CustomType = IncrementalItemConnectivity>
47class ARCANE_MESH_EXPORT NewWithLegacyConnectivity
48:
public ItemConnectivitySelectorT<LegacyType,CustomType>
54 friend class ConnectivityItemVector;
58 : ItemConnectivitySelectorT<LegacyType,CustomType>(source_family,target_family,
name)
61 Base::template build<SourceFamily,TargetFamily>();
64 typedef ItemConnectivitySelectorT<LegacyType,CustomType> Base;
66 String name()
const override {
return Base::trueCustomConnectivity()->name();}
68 bool isEmpty()
const {
122 void dumpStats(std::ostream& out)
const override { Base::trueCustomConnectivity()->dumpStats(out); }
143 return Base::trueCustomConnectivity()->_internalApi();
149 void _initializeStorage(ConnectivityItemVector* civ)
override {Base::trueCustomConnectivity()->_initializeStorage(civ);};
157template <
class SourceFamily,
class TargetFamily>
Fichier de configuration d'Arcane.
#define ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro pour définir les méthodes gérant les compteurs de référence.
Vue constante d'un tableau de type T.
API interne à Arcane de IIncrementalItemConnectivity.
Interface pour gérer une connectivité incrémentale.
Interface d'une famille d'entités.
Index d'un Item dans une variable.
Vue sur un vecteur d'entités.
Référence à une instance.
Implémentation thread-safe d'un compteur de référence.
Chaîne de caractères unicode.
class holding a new connectivity but filling also the legacy one Both custom and legacy connectivitie...
ItemVectorView _connectedItems(ItemLocalId item, ConnectivityItemVector &con_items) const override
Remplit con_items avec les entités connectées à item.
IItemFamily * sourceFamily() const override
Famille source.
void _initializeStorage(ConnectivityItemVector *civ) override
Implémente l'initialisation de civ pour cette connectivitée.
void replaceConnectedItem(ItemLocalId source_item, Integer index, ItemLocalId target_local_id) override
Remplace l'entité d'index index de source_item par l'entité de localId() target_local_id.
void setPreAllocatedSize(Integer value) override
Positionne le nombre d'entités à préallouer pour la connectivité de chaque entité
String name() const override
Nom de la connectivité
void removeConnectedItems(ItemLocalId source_item) override
Supprime toute les entités connectées à source_item.
void notifyTargetFamilyLocalIdChanged(Int32ConstArrayView old_to_new_ids) override
Notifie la connectivité que la famille cible est compactée.
void dumpStats(std::ostream &out) const override
Sort sur le flot out des statistiques sur l'utilisation et la mémoire utilisée.
void notifySourceItemAdded(ItemLocalId item) override
Notifie la connectivité qu'une entité a été ajoutée à la famille source.
bool hasConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id) const override
Test l'existence d'un connectivité entre source_item et l'entité de localId() target_local_id.
void addConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id) override
Ajoute l'entité de localId() target_local_id à la connectivité de source_item.
Ref< IIncrementalItemTargetConnectivity > toTargetReference() override
Retourne une référence sur l'instance.
void notifyReadFromDump() override
Notifie la connectivité qu'on a effectué une relecture à partir d'une protection.
IItemFamily * targetFamily() const override
Famille cible.
Integer nbConnectedItem(ItemLocalId lid) const override
Nombre d'entité connectées à l'entité source de numéro local lid.
void replaceConnectedItems(ItemLocalId source_item, Int32ConstArrayView target_local_ids) override
Remplace les entités de source_item par les entités de localId() target_local_ids.
Ref< IIncrementalItemSourceConnectivity > toSourceReference() override
Retourne une référence sur l'instance.
Int32 connectedItemLocalId(ItemLocalId lid, Integer index) const override
localId() de la index-ième entitée connectées à l'entité source de numéro local lid
Integer preAllocatedSize() const override
Nombre d'entités préalloués pour la connectivité de chaque entité
Int32 maxNbConnectedItem() const override
Nombre maximum d'entités connectées à une entité source.
void removeConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id) override
Supprime l'entité de localId() target_local_id à la connectivité de source_item.
void notifySourceFamilyLocalIdChanged(Int32ConstArrayView new_to_old_ids) override
Notifie la connectivité que la famille source est compactée.
IIncrementalItemConnectivityInternal * _internalApi() override
API interne à Arcane.
ConstArrayView< IItemFamily * > families() const override
Liste des familles (sourceFamily() + targetFamily())
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
std::int32_t Int32
Type entier signé sur 32 bits.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.