Internal AnyItem Link Family The stored data are the local IDs of the items and the group offset within the family. More...
#include <arcane/core/anyitem/AnyItemLinkFamily.h>
Classes | |
| class | LinkData |
| Data per link. More... | |
| class | LinkIndex |
| Link index. More... | |
| class | Enumerator |
| Link enumerator. More... | |
| class | Link |
| Link. More... | |
Public Member Functions | |
| LinkFamilyInternal (const Family &family) | |
| Link family for an anyitem family. | |
| Link | newLink () |
| Creation of a new empty link. | |
| void | reserve (Integer size) |
| Reserves a capacity of links. | |
| Enumerator | enumerator () const |
| Link enumerators. | |
| Integer | capacity () const |
| returns the capacity | |
| void | clear () |
| Clears the family. | |
| void | registerObserver (ILinkFamilyObserver &observer) const |
| Registers a family observer. | |
| void | removeObserver (ILinkFamilyObserver &observer) const |
| Removes a family observer. | |
| void | notifyFamilyIsInvalidate () |
| Notifies that the family is invalidated. | |
| void | notifyFamilyIsIncreased () |
| Notifies the observer that the family has been increased. | |
| template<typename T, typename V> | |
| void | addSourceNode (const T &t, ItemGroupT< V > group) |
| template<typename T, typename V> | |
| void | addTargetNode (const T &t, ItemGroupT< V > group) |
| const LinkData & | source (const LinkIndex &link) const |
| const LinkData & | target (const LinkIndex &link) const |
| const Family & | family () const |
| template<typename T> | |
| void | initLinkData (LinkData &data, const T &t, ItemGroupT< T > group) const |
| Adding link nodes by item type. | |
| template<typename T> | |
| void | initLinkData (LinkData &data, const ItemEnumeratorT< T > &t, ItemGroupT< T > group) const |
| Adding link nodes by enumerators. | |
| Item | item (const LinkData &link_data) const |
| Returns the concrete item associated with this AnyItem. | |
Private Types | |
| typedef std::set< ILinkFamilyObserver * > | LinkFamilyObservers |
Private Member Functions | |
| void | _notifyFamilyIsInvalidate () |
| void | _notifyFamilyIsReserved () |
Private Attributes | |
| const Family | m_family |
| AnyItem family. | |
| Arcane::UniqueArray< LinkData > | m_source_nodes |
| Back data. | |
| Arcane::UniqueArray< LinkData > | m_target_nodes |
| Front data. | |
| Integer | m_nb_link |
| Number of links. | |
| LinkFamilyObservers | m_observers |
| Family observers. | |
Internal AnyItem Link Family The stored data are the local IDs of the items and the group offset within the family.
For example:
AnyItem::LinkFamily link_family(family); link_family.reserve(allFaces.size());
ENUMERATE_FACE(iface, allCells().internalFaceGroup()) { AnyItem::LinkFamily::Link link = link_family.newLink(); link(allFaces(),allCells()) << AnyItem::Pair(iface,iface->backCell()); }
Definition at line 68 of file AnyItemLinkFamily.h.
|
private |
Definition at line 304 of file AnyItemLinkFamily.h.
|
inline |
Link family for an anyitem family.
Definition at line 309 of file AnyItemLinkFamily.h.
|
inline |
Definition at line 316 of file AnyItemLinkFamily.h.
|
inlineprivate |
Definition at line 512 of file AnyItemLinkFamily.h.
|
inlineprivate |
Definition at line 518 of file AnyItemLinkFamily.h.
|
inline |
Definition at line 396 of file AnyItemLinkFamily.h.
|
inline |
Definition at line 403 of file AnyItemLinkFamily.h.
|
inline |
returns the capacity
Definition at line 347 of file AnyItemLinkFamily.h.
References m_source_nodes.
Referenced by newLink().
|
inline |
Clears the family.
Definition at line 353 of file AnyItemLinkFamily.h.
References m_nb_link, m_source_nodes, and m_target_nodes.
Referenced by notifyFamilyIsInvalidate().
|
inline |
Link enumerators.
Definition at line 344 of file AnyItemLinkFamily.h.
References m_source_nodes, and m_target_nodes.
|
inline |
Definition at line 421 of file AnyItemLinkFamily.h.
|
inline |
Adding link nodes by enumerators.
Definition at line 489 of file AnyItemLinkFamily.h.
References Arcane::ItemEnumeratorBase::index(), Arcane::ItemEnumeratorBase::localId(), and m_family.
|
inline |
Adding link nodes by item type.
Definition at line 470 of file AnyItemLinkFamily.h.
References Arcane::ItemGroup::localIdToIndex(), and m_family.
Returns the concrete item associated with this AnyItem.
Definition at line 505 of file AnyItemLinkFamily.h.
References m_family.
|
inline |
Creation of a new empty link.
Definition at line 322 of file AnyItemLinkFamily.h.
References capacity(), m_nb_link, m_source_nodes, and m_target_nodes.
|
inlinevirtual |
Notifies the observer that the family has been increased.
Implements Arcane::AnyItem::IFamilyObserver.
Definition at line 388 of file AnyItemLinkFamily.h.
|
inlinevirtual |
Notifies that the family is invalidated.
Implements Arcane::AnyItem::IFamilyObserver.
Definition at line 380 of file AnyItemLinkFamily.h.
References clear().
|
inline |
Registers a family observer.
Definition at line 362 of file AnyItemLinkFamily.h.
References m_observers.
|
inline |
Removes a family observer.
Definition at line 371 of file AnyItemLinkFamily.h.
References m_observers.
|
inline |
Reserves a capacity of links.
Definition at line 336 of file AnyItemLinkFamily.h.
References m_source_nodes, and m_target_nodes.
Definition at line 409 of file AnyItemLinkFamily.h.
Definition at line 414 of file AnyItemLinkFamily.h.
|
private |
AnyItem family.
Definition at line 527 of file AnyItemLinkFamily.h.
Referenced by initLinkData(), initLinkData(), item(), and LinkFamilyInternal().
|
private |
Number of links.
Definition at line 536 of file AnyItemLinkFamily.h.
Referenced by clear(), LinkFamilyInternal(), and newLink().
|
mutableprivate |
Family observers.
Definition at line 540 of file AnyItemLinkFamily.h.
Referenced by registerObserver(), and removeObserver().
|
private |
Back data.
Definition at line 530 of file AnyItemLinkFamily.h.
Referenced by capacity(), clear(), enumerator(), newLink(), and reserve().
|
private |
Front data.
Definition at line 533 of file AnyItemLinkFamily.h.
Referenced by clear(), enumerator(), newLink(), and reserve().