Public Member Functions | |
| IncrementalItemConnectivityContainer (IMesh *mesh, const String &var_name) | |
| Integer | size () const |
| bool | isAllocated () const |
| void | _checkResize (Int32 lid) |
| void | reserveForItems (Int32 capacity) |
Public Attributes | |
| String | m_var_name |
| VariableArrayInt32 | m_connectivity_nb_item_variable |
| VariableArrayInt32 | m_connectivity_index_variable |
| VariableArrayInt32 | m_connectivity_list_variable |
| VariableArrayInt32::ContainerType & | m_connectivity_nb_item_array |
| VariableArrayInt32::ContainerType & | m_connectivity_index_array |
| VariableArrayInt32::ContainerType & | m_connectivity_list_array |
| ObserverPool | m_observers |
| Int32 | m_max_nb_item = 0 |
| Maximum number of connected items. | |
| Int32 | m_lazy_nb_source = 0 |
| Lazy state: this connectivity has never had a connected item. | |
| LazyMemoryPool::Buffer * | m_lazy_buffer = nullptr |
| Buffer of m_lazy_pool the lazy views point into. | |
Static Public Attributes | |
| static LazyMemoryPool | m_lazy_pool |
| Zero buffers read by the lazy views. | |
Definition at line 106 of file IncrementalItemConnectivity.cc.
|
inline |
Definition at line 110 of file IncrementalItemConnectivity.cc.
|
inline |
Definition at line 155 of file IncrementalItemConnectivity.cc.
|
inline |
Definition at line 153 of file IncrementalItemConnectivity.cc.
|
inline |
Definition at line 178 of file IncrementalItemConnectivity.cc.
|
inline |
Definition at line 151 of file IncrementalItemConnectivity.cc.
| VariableArrayInt32::ContainerType& Arcane::mesh::IncrementalItemConnectivityContainer::m_connectivity_index_array |
Definition at line 135 of file IncrementalItemConnectivity.cc.
| VariableArrayInt32 Arcane::mesh::IncrementalItemConnectivityContainer::m_connectivity_index_variable |
Definition at line 131 of file IncrementalItemConnectivity.cc.
| VariableArrayInt32::ContainerType& Arcane::mesh::IncrementalItemConnectivityContainer::m_connectivity_list_array |
Definition at line 136 of file IncrementalItemConnectivity.cc.
| VariableArrayInt32 Arcane::mesh::IncrementalItemConnectivityContainer::m_connectivity_list_variable |
Definition at line 132 of file IncrementalItemConnectivity.cc.
| VariableArrayInt32::ContainerType& Arcane::mesh::IncrementalItemConnectivityContainer::m_connectivity_nb_item_array |
Definition at line 134 of file IncrementalItemConnectivity.cc.
| VariableArrayInt32 Arcane::mesh::IncrementalItemConnectivityContainer::m_connectivity_nb_item_variable |
Definition at line 130 of file IncrementalItemConnectivity.cc.
| LazyMemoryPool::Buffer* Arcane::mesh::IncrementalItemConnectivityContainer::m_lazy_buffer = nullptr |
Buffer of m_lazy_pool the lazy views point into.
Definition at line 206 of file IncrementalItemConnectivity.cc.
| Int32 Arcane::mesh::IncrementalItemConnectivityContainer::m_lazy_nb_source = 0 |
Lazy state: this connectivity has never had a connected item.
A mesh registers every connectivity its families could have, whether or not the mesh can use them: on a mesh with no edge, no AMR and no tied interface, the six HParent/HChild ones, FaceFace and the three Edge ones hold nothing for the whole run, and every item created still resizes their two arrays.
While lazy, the two per-source variables stay empty, so isAllocated() is false and the compaction skips them, and both published views are served from the zero buffers of m_lazy_pool, which are never written. The first addConnectedItem() materialises the real arrays. No connectivity is named anywhere: which ones stay empty is discovered at run time.
The flag itself is IncrementalItemConnectivityBase::m_is_lazy, one indirection closer to the caller. Number of source items the lazy views must cover
Definition at line 204 of file IncrementalItemConnectivity.cc.
|
static |
Zero buffers read by the lazy views.
A connectivity republishes from its own notify path, when its own localIds outgrow the view it published, so its view always covers its own items without depending on what another thread did.
Definition at line 214 of file IncrementalItemConnectivity.cc.
Referenced by Arcane::mesh::IncrementalItemConnectivityBase::_materialize(), Arcane::mesh::IncrementalItemConnectivityBase::_notifyConnectivityNbItemChangedFromObservable(), Arcane::mesh::IncrementalItemConnectivityBase::_publishLazyViews(), and Arcane::mesh::IncrementalItemConnectivityBase::_trimLazyViews().
| Int32 Arcane::mesh::IncrementalItemConnectivityContainer::m_max_nb_item = 0 |
Maximum number of connected items.
This is an upper bound of the maximum number of connected items. For performance reasons, this value is not updated if items are removed.
Definition at line 147 of file IncrementalItemConnectivity.cc.
| ObserverPool Arcane::mesh::IncrementalItemConnectivityContainer::m_observers |
Definition at line 138 of file IncrementalItemConnectivity.cc.
| String Arcane::mesh::IncrementalItemConnectivityContainer::m_var_name |
Definition at line 128 of file IncrementalItemConnectivity.cc.