Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::mesh::IncrementalItemConnectivityBase Class Reference

Base class for incremental item->item[] connectivities. More...

#include <arcane/mesh/IncrementalItemConnectivity.h>

Inheritance diagram for Arcane::mesh::IncrementalItemConnectivityBase:
Collaboration diagram for Arcane::mesh::IncrementalItemConnectivityBase:

Classes

class  InternalApi

Public Member Functions

 IncrementalItemConnectivityBase (IItemFamily *source_family, IItemFamily *target_family, const String &aname)
 IncrementalItemConnectivityBase (const IncrementalItemConnectivityBase &)=delete
 IncrementalItemConnectivityBase (IncrementalItemConnectivityBase &&)=delete
IncrementalItemConnectivityBase & operator= (const IncrementalItemConnectivityBase &)=delete
IncrementalItemConnectivityBase & operator= (IncrementalItemConnectivityBase &&)=delete
void notifySourceFamilyLocalIdChanged (Int32ConstArrayView new_to_old_ids) override
 Notifies the connectivity that the source family has been compacted.
void notifyTargetFamilyLocalIdChanged (Int32ConstArrayView old_to_new_ids) override
 Notifies the connectivity that the target family has been compacted.
Integer nbConnectedItem (ItemLocalId lid) const final
 Number of entities connected to the source entity with local ID lid.
Int32 connectedItemLocalId (ItemLocalId lid, Integer index) const final
 localId() of the index-th entity connected to the source entity with local ID lid
IndexedItemConnectivityViewBase connectivityView () const
IndexedItemConnectivityAccessor connectivityAccessor () const
ItemConnectivityContainerView connectivityContainerView () const
Int32 maxNbConnectedItem () const override
 Maximum number of entities connected to a source entity.
void reserveMemoryForNbSourceItems (Int32 n, bool pre_alloc_connectivity) override
 Reserves memory for n source entities.
IIncrementalItemConnectivityInternal_internalApi () override
 Internal Arcane API.
Int32ConstArrayView _connectedItemsLocalId (ItemLocalId lid) const
Int32ArrayView _connectedItemsLocalId (ItemLocalId lid)
Int32ArrayView connectivityIndex ()
Int32ArrayView connectivityList ()
void setItemConnectivityList (ItemInternalConnectivityList *ilist, Int32 index)
 Indicates that this connectivity is associated with one of the connectivities of ItemInternal.
void dumpInfos ()
Public Member Functions inherited from Arcane::mesh::AbstractIncrementalItemConnectivity
 AbstractIncrementalItemConnectivity (IItemFamily *source_family, IItemFamily *target_family, const String &connectivity_name)
String name () const final
 Name of the connectivity.
ConstArrayView< IItemFamily * > families () const override
 List of families (sourceFamily() + targetFamily()).
IItemFamilysourceFamily () const override
 Source family.
IItemFamilytargetFamily () const override
 Target family.
Ref< IIncrementalItemSourceConnectivitytoSourceReference () override
 Returns a reference to the instance.
Ref< IIncrementalItemTargetConnectivitytoTargetReference () override
 Returns a reference to the instance.
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::ReferenceCounterImpl
void addReference ()
void removeReference ()
void _internalAddReference ()
bool _internalRemoveReference ()
Public Member Functions inherited from Arcane::IIncrementalItemConnectivity
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 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.
Public Member Functions inherited from Arcane::IIncrementalItemSourceConnectivity
virtual void notifySourceItemAdded (ItemLocalId item)=0
 Notifies the connectivity that an entity has been added to the source family.
virtual void notifyReadFromDump ()=0
 Notifies the connectivity that a read has been performed from a dump.

Protected Member Functions

void _initializeStorage (ConnectivityItemVector *civ) override
 Implements the initialization of civ for this connectivity.
ItemVectorView _connectedItems (ItemLocalId item, ConnectivityItemVector &con_items) const final
 Fills con_items with the entities connected to item.
void _notifyConnectivityListChanged ()
void _notifyConnectivityIndexChanged ()
void _notifyConnectivityNbItemChanged ()
void _notifyConnectivityNbItemChangedFromObservable ()
void _computeMaxNbConnectedItem ()
void _setNewMaxNbConnectedItems (Int32 new_max)
void _setMaxNbConnectedItemsInConnectivityList ()
Protected Member Functions inherited from Arcane::mesh::AbstractIncrementalItemConnectivity
ConstArrayView< IItemFamily * > _families () const
IItemFamily_sourceFamily () const
IItemFamily_targetFamily () const
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Protected Attributes

bool m_is_empty = true
Int32ArrayView m_connectivity_nb_item
Int32ArrayView m_connectivity_index
Int32ArrayView m_connectivity_list
IncrementalItemConnectivityContainerm_p = nullptr
ItemInternalConnectivityListm_item_connectivity_list = nullptr
Integer m_item_connectivity_index = -1
std::unique_ptr< InternalApim_internal_api

Private Member Functions

void _shrinkMemory ()
void _addMemoryInfos (ItemConnectivityMemoryInfo &mem_info)

Friends

template<class SourceFamily, class TargetFamily, class LegacyType, class CustomType>
class NewWithLegacyConnectivity

Detailed Description

Base class for incremental item->item[] connectivities.

Definition at line 98 of file IncrementalItemConnectivity.h.

Constructor & Destructor Documentation

◆ IncrementalItemConnectivityBase()

Arcane::mesh::IncrementalItemConnectivityBase::IncrementalItemConnectivityBase ( IItemFamily * source_family,
IItemFamily * target_family,
const String & aname )

Definition at line 213 of file IncrementalItemConnectivity.cc.

◆ ~IncrementalItemConnectivityBase()

Arcane::mesh::IncrementalItemConnectivityBase::~IncrementalItemConnectivityBase ( )
override

Definition at line 249 of file IncrementalItemConnectivity.cc.

Member Function Documentation

◆ _addMemoryInfos()

void Arcane::mesh::IncrementalItemConnectivityBase::_addMemoryInfos ( ItemConnectivityMemoryInfo & mem_info)
private

Definition at line 846 of file IncrementalItemConnectivity.cc.

◆ _computeMaxNbConnectedItem()

void Arcane::mesh::IncrementalItemConnectivityBase::_computeMaxNbConnectedItem ( )
protected

Definition at line 348 of file IncrementalItemConnectivity.cc.

◆ _connectedItems()

ItemVectorView Arcane::mesh::IncrementalItemConnectivityBase::_connectedItems ( ItemLocalId item,
ConnectivityItemVector & con_items ) const
finalprotectedvirtual

Fills con_items with the entities connected to item.

Implements Arcane::IItemConnectivityAccessor.

Definition at line 420 of file IncrementalItemConnectivity.cc.

References Arcane::ConnectivityItemVector::resizeAndCopy().

Here is the call graph for this function:

◆ _connectedItemsLocalId() [1/2]

Int32ArrayView Arcane::mesh::IncrementalItemConnectivityBase::_connectedItemsLocalId ( ItemLocalId lid)
inline

Definition at line 154 of file IncrementalItemConnectivity.h.

◆ _connectedItemsLocalId() [2/2]

Int32ConstArrayView Arcane::mesh::IncrementalItemConnectivityBase::_connectedItemsLocalId ( ItemLocalId lid) const
inline

Definition at line 146 of file IncrementalItemConnectivity.h.

◆ _initializeStorage()

void Arcane::mesh::IncrementalItemConnectivityBase::_initializeStorage ( ConnectivityItemVector * civ)
inlineoverrideprotectedvirtual

Implements the initialization of civ for this connectivity.

Implements Arcane::IItemConnectivityAccessor.

Definition at line 171 of file IncrementalItemConnectivity.h.

◆ _internalApi()

IIncrementalItemConnectivityInternal * Arcane::mesh::IncrementalItemConnectivityBase::_internalApi ( )
overridevirtual

◆ _notifyConnectivityIndexChanged()

void Arcane::mesh::IncrementalItemConnectivityBase::_notifyConnectivityIndexChanged ( )
protected

Definition at line 291 of file IncrementalItemConnectivity.cc.

◆ _notifyConnectivityListChanged()

void Arcane::mesh::IncrementalItemConnectivityBase::_notifyConnectivityListChanged ( )
protected

Definition at line 280 of file IncrementalItemConnectivity.cc.

◆ _notifyConnectivityNbItemChanged()

void Arcane::mesh::IncrementalItemConnectivityBase::_notifyConnectivityNbItemChanged ( )
protected

Definition at line 302 of file IncrementalItemConnectivity.cc.

◆ _notifyConnectivityNbItemChangedFromObservable()

void Arcane::mesh::IncrementalItemConnectivityBase::_notifyConnectivityNbItemChangedFromObservable ( )
protected

Method called when the number of entities is modified externally, for example during recovery or after a rollback.

Definition at line 326 of file IncrementalItemConnectivity.cc.

◆ _setMaxNbConnectedItemsInConnectivityList()

void Arcane::mesh::IncrementalItemConnectivityBase::_setMaxNbConnectedItemsInConnectivityList ( )
protected

Definition at line 313 of file IncrementalItemConnectivity.cc.

◆ _setNewMaxNbConnectedItems()

void Arcane::mesh::IncrementalItemConnectivityBase::_setNewMaxNbConnectedItems ( Int32 new_max)
protected

Definition at line 336 of file IncrementalItemConnectivity.cc.

◆ _shrinkMemory()

void Arcane::mesh::IncrementalItemConnectivityBase::_shrinkMemory ( )
private

Definition at line 832 of file IncrementalItemConnectivity.cc.

◆ connectedItemLocalId()

Int32 Arcane::mesh::IncrementalItemConnectivityBase::connectedItemLocalId ( ItemLocalId lid,
Integer index ) const
inlinefinalvirtual

localId() of the index-th entity connected to the source entity with local ID lid

Implements Arcane::IItemConnectivityAccessor.

Definition at line 130 of file IncrementalItemConnectivity.h.

◆ connectivityAccessor()

IndexedItemConnectivityAccessor Arcane::mesh::IncrementalItemConnectivityBase::connectivityAccessor ( ) const

Definition at line 447 of file IncrementalItemConnectivity.cc.

◆ connectivityContainerView()

ItemConnectivityContainerView Arcane::mesh::IncrementalItemConnectivityBase::connectivityContainerView ( ) const

Definition at line 429 of file IncrementalItemConnectivity.cc.

◆ connectivityIndex()

Int32ArrayView Arcane::mesh::IncrementalItemConnectivityBase::connectivityIndex ( )
inline

Definition at line 163 of file IncrementalItemConnectivity.h.

◆ connectivityList()

Int32ArrayView Arcane::mesh::IncrementalItemConnectivityBase::connectivityList ( )
inline

Definition at line 164 of file IncrementalItemConnectivity.h.

◆ connectivityView()

IndexedItemConnectivityViewBase Arcane::mesh::IncrementalItemConnectivityBase::connectivityView ( ) const

Definition at line 438 of file IncrementalItemConnectivity.cc.

◆ dumpInfos()

void Arcane::mesh::IncrementalItemConnectivityBase::dumpInfos ( )

Definition at line 465 of file IncrementalItemConnectivity.cc.

◆ maxNbConnectedItem()

Int32 Arcane::mesh::IncrementalItemConnectivityBase::maxNbConnectedItem ( ) const
overridevirtual

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.

Implements Arcane::IIncrementalItemConnectivity.

Definition at line 363 of file IncrementalItemConnectivity.cc.

◆ nbConnectedItem()

Integer Arcane::mesh::IncrementalItemConnectivityBase::nbConnectedItem ( ItemLocalId lid) const
inlinefinalvirtual

Number of entities connected to the source entity with local ID lid.

Implements Arcane::IItemConnectivityAccessor.

Definition at line 126 of file IncrementalItemConnectivity.h.

Referenced by Arcane::mesh::FaceToCellIncrementalItemConnectivity::_removeConnectedItem().

Here is the caller graph for this function:

◆ notifySourceFamilyLocalIdChanged()

void Arcane::mesh::IncrementalItemConnectivityBase::notifySourceFamilyLocalIdChanged ( Int32ConstArrayView new_to_old_ids)
overridevirtual

Notifies the connectivity that the source family has been compacted.

Implements Arcane::IIncrementalItemSourceConnectivity.

Reimplemented in Arcane::mesh::OneItemIncrementalItemConnectivity.

Definition at line 393 of file IncrementalItemConnectivity.cc.

◆ notifyTargetFamilyLocalIdChanged()

void Arcane::mesh::IncrementalItemConnectivityBase::notifyTargetFamilyLocalIdChanged ( Int32ConstArrayView old_to_new_ids)
overridevirtual

Notifies the connectivity that the target family has been compacted.

Implements Arcane::IIncrementalItemTargetConnectivity.

Definition at line 407 of file IncrementalItemConnectivity.cc.

References Arcane::ArrayView< T >::size().

Here is the call graph for this function:

◆ reserveMemoryForNbSourceItems()

void Arcane::mesh::IncrementalItemConnectivityBase::reserveMemoryForNbSourceItems ( Int32 n,
bool pre_alloc_connectivity )
overridevirtual

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 from Arcane::IIncrementalItemSourceConnectivity.

Definition at line 258 of file IncrementalItemConnectivity.cc.

References Arcane::IIncrementalItemConnectivity::preAllocatedSize().

Here is the call graph for this function:

◆ setItemConnectivityList()

void Arcane::mesh::IncrementalItemConnectivityBase::setItemConnectivityList ( ItemInternalConnectivityList * ilist,
Int32 index )

Indicates that this connectivity is associated with one of the connectivities of ItemInternal.

This allows direct updating of the ilist structure whenever this connectivity is modified.

Definition at line 378 of file IncrementalItemConnectivity.cc.

References Arcane::TraceAccessor::info(), and Arcane::mesh::AbstractIncrementalItemConnectivity::name().

Here is the call graph for this function:

◆ NewWithLegacyConnectivity

template<class SourceFamily, class TargetFamily, class LegacyType, class CustomType>
friend class NewWithLegacyConnectivity
friend

Definition at line 106 of file IncrementalItemConnectivity.h.

Member Data Documentation

◆ m_connectivity_index

Int32ArrayView Arcane::mesh::IncrementalItemConnectivityBase::m_connectivity_index
protected

Definition at line 181 of file IncrementalItemConnectivity.h.

◆ m_connectivity_list

Int32ArrayView Arcane::mesh::IncrementalItemConnectivityBase::m_connectivity_list
protected

Definition at line 182 of file IncrementalItemConnectivity.h.

◆ m_connectivity_nb_item

Int32ArrayView Arcane::mesh::IncrementalItemConnectivityBase::m_connectivity_nb_item
protected

Definition at line 180 of file IncrementalItemConnectivity.h.

◆ m_internal_api

std::unique_ptr<InternalApi> Arcane::mesh::IncrementalItemConnectivityBase::m_internal_api
protected

Definition at line 186 of file IncrementalItemConnectivity.h.

◆ m_is_empty

bool Arcane::mesh::IncrementalItemConnectivityBase::m_is_empty = true
protected

Definition at line 179 of file IncrementalItemConnectivity.h.

◆ m_item_connectivity_index

Integer Arcane::mesh::IncrementalItemConnectivityBase::m_item_connectivity_index = -1
protected

Definition at line 185 of file IncrementalItemConnectivity.h.

◆ m_item_connectivity_list

ItemInternalConnectivityList* Arcane::mesh::IncrementalItemConnectivityBase::m_item_connectivity_list = nullptr
protected

Definition at line 184 of file IncrementalItemConnectivity.h.

◆ m_p

IncrementalItemConnectivityContainer* Arcane::mesh::IncrementalItemConnectivityBase::m_p = nullptr
protected

Definition at line 183 of file IncrementalItemConnectivity.h.


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