Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::IIncrementalItemSourceConnectivity Class Referenceabstract

Interface for the source of an incremental connectivity. More...

#include <arcane/core/IIncrementalItemConnectivity.h>

Inheritance diagram for Arcane::IIncrementalItemSourceConnectivity:
Collaboration diagram for Arcane::IIncrementalItemSourceConnectivity:

Public Member Functions

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.

Private Member Functions

 ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS ()
virtual void _internalNotifySourceItemsAdded (Int32ConstArrayView items)
 Notifies the connectivity that the entities items have been added to the source family.

Detailed Description

Interface for the source of an incremental connectivity.

Definition at line 34 of file IIncrementalItemConnectivity.h.

Member Function Documentation

◆ _internalNotifySourceItemsAdded()

void Arcane::IIncrementalItemSourceConnectivity::_internalNotifySourceItemsAdded ( Int32ConstArrayView items)
privatevirtual

Notifies the connectivity that the entities items have been added to the source family.

Definition at line 251 of file InterfaceImpl.cc.

References notifySourceItemAdded().

Referenced by toSourceReference().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ notifyReadFromDump()

◆ notifySourceFamilyLocalIdChanged()

◆ notifySourceItemAdded()

virtual void Arcane::IIncrementalItemSourceConnectivity::notifySourceItemAdded ( ItemLocalId item)
pure virtual

Notifies the connectivity that an entity has been added to the source family.

Implemented in Arcane::Materials::ConstituentConnectivityList, Arcane::Materials::ConstituentConnectivityList, Arcane::mesh::IncrementalItemConnectivity, Arcane::mesh::NewWithLegacyConnectivity< SourceFamily, TargetFamily, LegacyType, CustomType >, Arcane::mesh::NewWithLegacyConnectivity< SourceFamily, TargetFamily, typename LegacyConnectivityTraitsT< TargetFamily >::type >, and Arcane::mesh::OneItemIncrementalItemConnectivity.

References reserveMemoryForNbSourceItems().

Referenced by _internalNotifySourceItemsAdded().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reserveMemoryForNbSourceItems()

void Arcane::IIncrementalItemSourceConnectivity::reserveMemoryForNbSourceItems ( Int32 n,
bool pre_alloc_connectivity )
virtual

Reserves memory for n source entities.

Calling this method is optional but prevents multiple reallocations during successive calls to notifySourceItemAdded().

If pre_alloc_connectivity is true, it also pre-allocates the list of connectivities based on the value of preAllocatedSize(). For example, if preAllocatedSize() is 4 and n is 10000, we will pre-allocate for 40000 connectivities. To avoid unnecessary memory overconsumption, connectivities should only be pre-allocated if we are sure we will use them.

Reimplemented in Arcane::Materials::ConstituentConnectivityList, Arcane::Materials::ConstituentConnectivityList, and Arcane::mesh::IncrementalItemConnectivityBase.

Definition at line 242 of file InterfaceImpl.cc.

Referenced by notifySourceItemAdded().

Here is the caller graph for this function:

◆ sourceFamily()

◆ toSourceReference()

virtual Ref< IIncrementalItemSourceConnectivity > Arcane::IIncrementalItemSourceConnectivity::toSourceReference ( )
pure virtual

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