Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::IIncrementalItemConnectivity Class Referenceabstract

Interface for managing an incremental connectivity. More...

#include <arcane/core/IIncrementalItemConnectivity.h>

Public Member Functions

virtual String name () const =0
 Name of the connectivity.
virtual ConstArrayView< IItemFamily * > families () const =0
 List of families (sourceFamily() + targetFamily()).
virtual IItemFamilytargetFamily () const =0
 Target family.
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 void setConnectedItems (ItemLocalId source_item, Int32ConstArrayView target_local_ids)
 Allocates and positions 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 removeConnectedItems (ItemLocalId source_item)=0
 Removes all entities connected to source_item.
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 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 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_id.
virtual Int32 maxNbConnectedItem () const =0
 Maximum number of entities connected to a source entity.
virtual Integer preAllocatedSize () const =0
 Number of entities pre-allocated for the connectivity of each entity.
virtual void setPreAllocatedSize (Integer value)=0
 Sets the number of entities to pre-allocate for the connectivity of each entity.
virtual void dumpStats (std::ostream &out) const =0
 Dumps statistics on usage and memory used to the stream out.
virtual IIncrementalItemConnectivityInternal * _internalApi ()=0
 Internal Arcane API.
Public Member Functions inherited from Arcane::IItemConnectivityAccessor
virtual Integer nbConnectedItem (ItemLocalId lid) const =0
 Number of entities connected to the source entity with local ID lid.
virtual Int32 connectedItemLocalId (ItemLocalId lid, Integer index) const =0
 localId() of the index-th entity connected to the source entity with local ID lid
Public Member Functions inherited from Arcane::IIncrementalItemSourceConnectivity
virtual IItemFamilysourceFamily () 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 void reserveMemoryForNbSourceItems (Int32 n, bool pre_alloc_connectivity)
 Reserves memory for n source entities.
virtual void notifyReadFromDump ()=0
 Notifies the connectivity that a read has been performed from a dump.
virtual Ref< IIncrementalItemSourceConnectivitytoSourceReference ()=0
 Returns a reference to the instance.
Public Member Functions inherited from Arcane::IIncrementalItemTargetConnectivity
virtual void notifyTargetFamilyLocalIdChanged (Int32ConstArrayView old_to_new_ids)=0
 Notifies the connectivity that the target family has been compacted.
virtual Ref< IIncrementalItemTargetConnectivitytoTargetReference ()=0
 Returns a reference to the instance.

Additional Inherited Members

Protected Member Functions inherited from Arcane::IItemConnectivityAccessor
virtual void _initializeStorage (ConnectivityItemVector *civ)=0
 Implements the initialization of civ for this connectivity.
virtual ItemVectorView _connectedItems (ItemLocalId item, ConnectivityItemVector &con_items) const =0
 Fills con_items with the entities connected to item.

Detailed Description

Interface for managing an incremental connectivity.

A connectivity links two families: a source (sourceFamily()) and a target (targetFamily()).

Definition at line 115 of file IIncrementalItemConnectivity.h.

Member Function Documentation

◆ maxNbConnectedItem()

virtual Int32 Arcane::IIncrementalItemConnectivity::maxNbConnectedItem ( ) const
pure virtual

Maximum number of entities connected to a source entity.

This value may be greater than the current maximum number of connected entities if removeConnectedItem() and removeConnectedItems() have been called.

◆ setConnectedItems()

void Arcane::IIncrementalItemConnectivity::setConnectedItems ( ItemLocalId source_item,
Int32ConstArrayView target_local_ids )
virtual

Allocates and positions entities connected to source_item.

If there were already entities connected to source_item, they are removed. target_local_ids contains the list of local IDs of entities to add. This method is equivalent to calling the following code but allows for memory management optimizations:

c->removeConnectedItems(source_item);
for( Int32 x : target_local_ids )
c->addConnectedItem(source_item,ItemLocalId{x});
Interface for managing an incremental connectivity.
virtual void removeConnectedItems(ItemLocalId source_item)=0
Removes all entities connected to 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.
Index of an Item in a variable.
Definition ItemLocalId.h:42
std::int32_t Int32
Signed integer type of 32 bits.

Definition at line 261 of file InterfaceImpl.cc.

References addConnectedItem(), and removeConnectedItems().

Referenced by addConnectedItem().


The documentation for this class was generated from the following files: