12#ifndef ARCANE_CORE_IINCREMENTALITEMCONNECTIVITY_H
13#define ARCANE_CORE_IINCREMENTALITEMCONNECTIVITY_H
17#include "arcane/utils/ArrayView.h"
20#include "arcane/core/IItemConnectivityAccessor.h"
Declarations of types on entities.
#define ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro to declare the virtual methods managing reference counters.
Constant view of an array of type T.
Interface for managing an incremental connectivity.
virtual bool hasConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id) const =0
Tests the existence of a connectivity between source_item and the entity with localId() target_local_...
virtual void replaceConnectedItem(ItemLocalId source_item, Integer index, ItemLocalId target_local_id)=0
Replaces the entity at index index of source_item with the entity with localId() target_local_id.
virtual String name() const =0
Name of the connectivity.
virtual void dumpStats(std::ostream &out) const =0
Dumps statistics on usage and memory used to the stream out.
virtual ConstArrayView< IItemFamily * > families() const =0
List of families (sourceFamily() + targetFamily()).
virtual void replaceConnectedItems(ItemLocalId source_item, Int32ConstArrayView target_local_ids)=0
Replaces the entities of source_item with the entities with localId() target_local_ids.
virtual void removeConnectedItems(ItemLocalId source_item)=0
Removes all entities connected to source_item.
virtual void removeConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id)=0
Removes the entity with localId() target_local_id from the connectivity of source_item.
virtual void addConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id)=0
Adds the entity with localId() target_local_id to the connectivity of source_item.
virtual IItemFamily * targetFamily() const =0
Target family.
virtual IIncrementalItemConnectivityInternal * _internalApi()=0
Internal Arcane API.
virtual Int32 maxNbConnectedItem() const =0
Maximum number of entities connected to a source entity.
virtual void setConnectedItems(ItemLocalId source_item, Int32ConstArrayView target_local_ids)
Allocates and positions entities connected to source_item.
virtual void setPreAllocatedSize(Integer value)=0
Sets the number of entities to pre-allocate for the connectivity of each entity.
virtual Integer preAllocatedSize() const =0
Number of entities pre-allocated for the connectivity of each entity.
Interface for the source of an incremental connectivity.
virtual void notifyReadFromDump()=0
Notifies the connectivity that a read has been performed from a dump.
virtual void reserveMemoryForNbSourceItems(Int32 n, bool pre_alloc_connectivity)
Reserves memory for n source entities.
virtual IItemFamily * sourceFamily() const =0
Source family.
virtual void notifySourceFamilyLocalIdChanged(Int32ConstArrayView new_to_old_ids)=0
Notifies the connectivity that the source family has been compacted.
virtual void notifySourceItemAdded(ItemLocalId item)=0
Notifies the connectivity that an entity has been added to the source family.
virtual Ref< IIncrementalItemSourceConnectivity > toSourceReference()=0
Returns a reference to the instance.
Interface for the target of an incremental connectivity.
virtual void notifyTargetFamilyLocalIdChanged(Int32ConstArrayView old_to_new_ids)=0
Notifies the connectivity that the target family has been compacted.
virtual Ref< IIncrementalItemTargetConnectivity > toTargetReference()=0
Returns a reference to the instance.
Interface to manage access to a connectivity.
Interface of an entity family.
Index of an Item in a variable.
Reference to an instance.
Unicode character string.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
std::int32_t Int32
Signed integer type of 32 bits.