Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::AnyItem::FamilyInternal Class Reference

AnyItem internal family Aggregation of groups to describe variables / partial variables. More...

#include <arcane/core/anyitem/AnyItemFamily.h>

Collaboration diagram for Arcane::AnyItem::FamilyInternal:

Public Member Functions

FamilyInternal & operator<< (GroupBuilder builder)
 Add a group to the family.
bool contains (const ItemGroup &group) const
 Returns true if the family contains the group.
bool isPartial (const ItemGroup &group) const
 Returns true if the group is associated with a partial variable.
Group allItems () const
 Group of all items.
Integer groupIndex (const ItemGroup &group) const
 Position of the group in the family.
Integer firstLocalId (const ItemGroup &group) const
 Position in the family of the first localId of this group.
template<typename AnyItemT>
Item item (const AnyItemT &any_item) const
 Returns the concrete item associated with this AnyItem.
Integer groupSize () const
 Size of the family, i.e., number of groups.
Integer maxLocalId () const
 Number of items in this family.
ItemGroup group (Integer i) const
 Accessor for the i-th group of the family.
void clear ()
 Clear the family.
void registerObserver (IFamilyObserver &observer) const
 Register an observer.
void removeObserver (IFamilyObserver &observer) const
 Remove an observer.
const Private::GroupIndexInfofindGroupInfo (ItemGroup agroup)

Private Types

typedef std::set< IFamilyObserver * > FamilyObservers

Private Member Functions

void _notifyFamilyIsInvalidate ()
void _notifyFamilyIsIncreased ()
void _notifyGroupHasChanged ()

Private Attributes

Private::GroupIndexMapping m_groups
 Container of groups.
Integer m_max_local_id
 Maximum identifier (equivalent to the size of the family).
FamilyObservers m_observers
 So that objects built on the family cannot modify it.

Detailed Description

AnyItem internal family Aggregation of groups to describe variables / partial variables.

Definition at line 44 of file AnyItemFamily.h.

Member Typedef Documentation

◆ FamilyObservers

typedef std::set<IFamilyObserver*> Arcane::AnyItem::FamilyInternal::FamilyObservers
private

Definition at line 48 of file AnyItemFamily.h.

Constructor & Destructor Documentation

◆ FamilyInternal()

Arcane::AnyItem::FamilyInternal::FamilyInternal ( )
inline

Definition at line 52 of file AnyItemFamily.h.

◆ ~FamilyInternal()

Arcane::AnyItem::FamilyInternal::~FamilyInternal ( )
inline

Definition at line 55 of file AnyItemFamily.h.

Member Function Documentation

◆ _notifyFamilyIsIncreased()

void Arcane::AnyItem::FamilyInternal::_notifyFamilyIsIncreased ( )
inlineprivate

Definition at line 208 of file AnyItemFamily.h.

◆ _notifyFamilyIsInvalidate()

void Arcane::AnyItem::FamilyInternal::_notifyFamilyIsInvalidate ( )
inlineprivate

Definition at line 202 of file AnyItemFamily.h.

◆ _notifyGroupHasChanged()

void Arcane::AnyItem::FamilyInternal::_notifyGroupHasChanged ( )
inlineprivate

Definition at line 214 of file AnyItemFamily.h.

◆ allItems()

Group Arcane::AnyItem::FamilyInternal::allItems ( ) const
inline

Group of all items.

Definition at line 103 of file AnyItemFamily.h.

References m_groups.

◆ clear()

void Arcane::AnyItem::FamilyInternal::clear ( )
inline

Clear the family.

Definition at line 162 of file AnyItemFamily.h.

References m_groups, and m_max_local_id.

◆ contains()

bool Arcane::AnyItem::FamilyInternal::contains ( const ItemGroup & group) const
inline

Returns true if the family contains the group.

Definition at line 87 of file AnyItemFamily.h.

References group(), and m_groups.

Here is the call graph for this function:

◆ findGroupInfo()

const Private::GroupIndexInfo * Arcane::AnyItem::FamilyInternal::findGroupInfo ( ItemGroup agroup)
inline

Definition at line 195 of file AnyItemFamily.h.

◆ firstLocalId()

Integer Arcane::AnyItem::FamilyInternal::firstLocalId ( const ItemGroup & group) const
inline

Position in the family of the first localId of this group.

Definition at line 118 of file AnyItemFamily.h.

References ARCANE_FATAL, group(), and m_groups.

Here is the call graph for this function:

◆ group()

ItemGroup Arcane::AnyItem::FamilyInternal::group ( Integer i) const
inline

Accessor for the i-th group of the family.

Definition at line 156 of file AnyItemFamily.h.

References group(), and m_groups.

Referenced by contains(), firstLocalId(), group(), groupIndex(), isPartial(), item(), and operator<<().

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

◆ groupIndex()

Integer Arcane::AnyItem::FamilyInternal::groupIndex ( const ItemGroup & group) const
inline

Position of the group in the family.

Definition at line 109 of file AnyItemFamily.h.

References group(), and m_groups.

Here is the call graph for this function:

◆ groupSize()

Integer Arcane::AnyItem::FamilyInternal::groupSize ( ) const
inline

Size of the family, i.e., number of groups.

Definition at line 143 of file AnyItemFamily.h.

References m_groups.

◆ isPartial()

bool Arcane::AnyItem::FamilyInternal::isPartial ( const ItemGroup & group) const
inline

Returns true if the group is associated with a partial variable.

Definition at line 93 of file AnyItemFamily.h.

References group(), and m_groups.

Here is the call graph for this function:

◆ item()

template<typename AnyItemT>
Item Arcane::AnyItem::FamilyInternal::item ( const AnyItemT & any_item) const
inline

Returns the concrete item associated with this AnyItem.

Definition at line 128 of file AnyItemFamily.h.

References group(), item(), and m_groups.

Referenced by item().

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

◆ maxLocalId()

Integer Arcane::AnyItem::FamilyInternal::maxLocalId ( ) const
inline

Number of items in this family.

Sum of the size of all groups composing it

Definition at line 150 of file AnyItemFamily.h.

References m_max_local_id.

◆ operator<<()

FamilyInternal & Arcane::AnyItem::FamilyInternal::operator<< ( GroupBuilder builder)
inline

Add a group to the family.

Definition at line 63 of file AnyItemFamily.h.

References Arcane::ItemGroupImpl::attachObserver(), group(), m_groups, m_max_local_id, and Arcane::newItemGroupObserverT().

Here is the call graph for this function:

◆ registerObserver()

void Arcane::AnyItem::FamilyInternal::registerObserver ( IFamilyObserver & observer) const
inline

Register an observer.

Definition at line 176 of file AnyItemFamily.h.

References m_observers.

◆ removeObserver()

void Arcane::AnyItem::FamilyInternal::removeObserver ( IFamilyObserver & observer) const
inline

Remove an observer.

Definition at line 185 of file AnyItemFamily.h.

References m_observers.

Member Data Documentation

◆ m_groups

Private::GroupIndexMapping Arcane::AnyItem::FamilyInternal::m_groups
private

Container of groups.

Definition at line 222 of file AnyItemFamily.h.

Referenced by allItems(), clear(), contains(), firstLocalId(), group(), groupIndex(), groupSize(), isPartial(), item(), and operator<<().

◆ m_max_local_id

Integer Arcane::AnyItem::FamilyInternal::m_max_local_id
private

Maximum identifier (equivalent to the size of the family).

Definition at line 225 of file AnyItemFamily.h.

Referenced by clear(), maxLocalId(), and operator<<().

◆ m_observers

FamilyObservers Arcane::AnyItem::FamilyInternal::m_observers
mutableprivate

So that objects built on the family cannot modify it.

Definition at line 228 of file AnyItemFamily.h.

Referenced by registerObserver(), and removeObserver().


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