Base class for incremental item->item[] connectivities. More...
#include <arcane/mesh/IncrementalItemConnectivity.h>
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()). | |
| IItemFamily * | sourceFamily () const override |
| Source family. | |
| IItemFamily * | targetFamily () const override |
| Target family. | |
| Ref< IIncrementalItemSourceConnectivity > | toSourceReference () override |
| Returns a reference to the instance. | |
| Ref< IIncrementalItemTargetConnectivity > | toTargetReference () 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. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () 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 |
| IncrementalItemConnectivityContainer * | m_p = nullptr |
| ItemInternalConnectivityList * | m_item_connectivity_list = nullptr |
| Integer | m_item_connectivity_index = -1 |
| std::unique_ptr< InternalApi > | m_internal_api |
Private Member Functions | |
| void | _shrinkMemory () |
| void | _addMemoryInfos (ItemConnectivityMemoryInfo &mem_info) |
Friends | |
| template<class SourceFamily, class TargetFamily, class LegacyType, class CustomType> | |
| class | NewWithLegacyConnectivity |
Base class for incremental item->item[] connectivities.
Definition at line 98 of file IncrementalItemConnectivity.h.
| Arcane::mesh::IncrementalItemConnectivityBase::IncrementalItemConnectivityBase | ( | IItemFamily * | source_family, |
| IItemFamily * | target_family, | ||
| const String & | aname ) |
Definition at line 213 of file IncrementalItemConnectivity.cc.
|
override |
Definition at line 249 of file IncrementalItemConnectivity.cc.
|
private |
Definition at line 846 of file IncrementalItemConnectivity.cc.
|
protected |
Definition at line 348 of file IncrementalItemConnectivity.cc.
|
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().
|
inline |
Definition at line 154 of file IncrementalItemConnectivity.h.
|
inline |
Definition at line 146 of file IncrementalItemConnectivity.h.
|
inlineoverrideprotectedvirtual |
Implements the initialization of civ for this connectivity.
Implements Arcane::IItemConnectivityAccessor.
Definition at line 171 of file IncrementalItemConnectivity.h.
|
overridevirtual |
Implements Arcane::IIncrementalItemConnectivity.
Definition at line 456 of file IncrementalItemConnectivity.cc.
|
protected |
Definition at line 291 of file IncrementalItemConnectivity.cc.
|
protected |
Definition at line 280 of file IncrementalItemConnectivity.cc.
|
protected |
Definition at line 302 of file IncrementalItemConnectivity.cc.
|
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.
|
protected |
Definition at line 313 of file IncrementalItemConnectivity.cc.
|
protected |
Definition at line 336 of file IncrementalItemConnectivity.cc.
|
private |
Definition at line 832 of file IncrementalItemConnectivity.cc.
|
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.
| IndexedItemConnectivityAccessor Arcane::mesh::IncrementalItemConnectivityBase::connectivityAccessor | ( | ) | const |
Definition at line 447 of file IncrementalItemConnectivity.cc.
| ItemConnectivityContainerView Arcane::mesh::IncrementalItemConnectivityBase::connectivityContainerView | ( | ) | const |
Definition at line 429 of file IncrementalItemConnectivity.cc.
|
inline |
Definition at line 163 of file IncrementalItemConnectivity.h.
|
inline |
Definition at line 164 of file IncrementalItemConnectivity.h.
| IndexedItemConnectivityViewBase Arcane::mesh::IncrementalItemConnectivityBase::connectivityView | ( | ) | const |
Definition at line 438 of file IncrementalItemConnectivity.cc.
| void Arcane::mesh::IncrementalItemConnectivityBase::dumpInfos | ( | ) |
Definition at line 465 of file IncrementalItemConnectivity.cc.
|
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.
|
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().
|
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.
|
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().
|
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().
| 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().
|
friend |
Definition at line 106 of file IncrementalItemConnectivity.h.
|
protected |
Definition at line 181 of file IncrementalItemConnectivity.h.
|
protected |
Definition at line 182 of file IncrementalItemConnectivity.h.
|
protected |
Definition at line 180 of file IncrementalItemConnectivity.h.
|
protected |
Definition at line 186 of file IncrementalItemConnectivity.h.
|
protected |
Definition at line 179 of file IncrementalItemConnectivity.h.
|
protected |
Definition at line 185 of file IncrementalItemConnectivity.h.
|
protected |
Definition at line 184 of file IncrementalItemConnectivity.h.
|
protected |
Definition at line 183 of file IncrementalItemConnectivity.h.