Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::AbstractItemFamily Class Reference
Inheritance diagram for Alien::AbstractItemFamily:
Collaboration diagram for Alien::AbstractItemFamily:

Public Member Functions

 AbstractItemFamily (const AbstractItemFamily &family)
 AbstractItemFamily (ConstArrayView< Int64 > uniqueIds, ConstArrayView< Integer > owners, IMessagePassingMng *parallel_mng, ITraceMng *trace_mng=nullptr)
 AbstractItemFamily (ConstArrayView< Int64 > uniqueIds, ConstArrayView< Int64 > ghost_uniqueIds, ConstArrayView< Integer > ghost_owners, IMessagePassingMng *parallel_mng, ITraceMng *trace_mng=nullptr)
 AbstractItemFamily (ConstArrayView< Int64 > uniqueIds, IMessagePassingMng *parallel_mng, ITraceMng *trace_mng=nullptr)
IAbstractFamily * clone () const override
Int32 maxLocalId () const override
 Max local Id for this family.
void uniqueIdToLocalId (ArrayView< Int32 > localIds, ConstArrayView< Int64 > uniqueIds) const override
IAbstractFamily::Item item (Int32 localId) const override
 Give back an Item from its local id.
SafeConstArrayView< Integer > owners (ConstArrayView< Int32 > localIds) const override
SafeConstArrayView< Int64 > uids (ConstArrayView< Int32 > localIds) const override
SafeConstArrayView< Int32 > allLocalIds () const override
 Local ids of this family members.
Public Member Functions inherited from Alien::IAbstractFamily
 IAbstractFamily (const IAbstractFamily &)=delete
 IAbstractFamily (IAbstractFamily &&)=delete
void operator= (const IAbstractFamily &)=delete
void operator= (IAbstractFamily &&)=delete
virtual void uniqueIdToLocalId (ArrayView< Integer > localIds, ConstArrayView< Int64 > uniqueIds) const =0
virtual SafeConstArrayView< Integer > owners (ConstArrayView< Integer > localIds) const =0
 Owners of the given local ids.
virtual SafeConstArrayView< Int64 > uids (ConstArrayView< Integer > localIds) const =0
 unique ids of the given local ids.

Private Attributes

IMessagePassingMng * m_parallel_mng = nullptr
ITraceMng * m_trace_mng = nullptr
UniqueArray< Int64 > m_unique_ids
UniqueArray< Integer > m_owners
std::unordered_map< Int64, Integer > m_uid2lid

Detailed Description

Definition at line 37 of file AbstractItemFamily.h.

Constructor & Destructor Documentation

◆ AbstractItemFamily() [1/4]

Alien::AbstractItemFamily::AbstractItemFamily ( const AbstractItemFamily & family)

Definition at line 35 of file AbstractItemFamily.cc.

◆ AbstractItemFamily() [2/4]

Alien::AbstractItemFamily::AbstractItemFamily ( ConstArrayView< Int64 > uniqueIds,
ConstArrayView< Integer > owners,
IMessagePassingMng * parallel_mng,
ITraceMng * trace_mng = nullptr )

Build a family for locally known unique ids.

Parameters
uniqueIdsArray of locally known uniqueIds.
ownersArray of item owners
parallel_mngParallel Manager.

Definition at line 44 of file AbstractItemFamily.cc.

◆ AbstractItemFamily() [3/4]

Alien::AbstractItemFamily::AbstractItemFamily ( ConstArrayView< Int64 > uniqueIds,
ConstArrayView< Int64 > ghost_uniqueIds,
ConstArrayView< Integer > ghost_owners,
IMessagePassingMng * parallel_mng,
ITraceMng * trace_mng = nullptr )

Build a family for locally known unique ids.

Parameters
uniqueIdsArray of locally known uniqueIds.
ghost_uniqueIdsArray of ghost known uniqueIds.
ghost_ownersArray of ghost item owners
parallel_mngParallel Manager.

Definition at line 59 of file AbstractItemFamily.cc.

◆ AbstractItemFamily() [4/4]

Alien::AbstractItemFamily::AbstractItemFamily ( ConstArrayView< Int64 > uniqueIds,
IMessagePassingMng * parallel_mng,
ITraceMng * trace_mng = nullptr )

Build a family for locally owned unique ids.

Parameters
uniqueIdsArray of locally owned uniqueIds.
parallel_mngParallel Manager.

Definition at line 93 of file AbstractItemFamily.cc.

Member Function Documentation

◆ allLocalIds()

SafeConstArrayView< Int32 > Alien::AbstractItemFamily::allLocalIds ( ) const
overridevirtual

Local ids of this family members.

Implements Alien::IAbstractFamily.

Definition at line 158 of file AbstractItemFamily.cc.

◆ clone()

IAbstractFamily * Alien::AbstractItemFamily::clone ( ) const
inlineoverridevirtual

Implements Alien::IAbstractFamily.

Definition at line 78 of file AbstractItemFamily.h.

◆ item()

IAbstractFamily::Item Alien::AbstractItemFamily::item ( Int32 localId) const
overridevirtual

Give back an Item from its local id.

Implements Alien::IAbstractFamily.

Definition at line 124 of file AbstractItemFamily.cc.

◆ maxLocalId()

Int32 Alien::AbstractItemFamily::maxLocalId ( ) const
inlineoverridevirtual

Max local Id for this family.

Implements Alien::IAbstractFamily.

Definition at line 81 of file AbstractItemFamily.h.

◆ owners()

SafeConstArrayView< Integer > Alien::AbstractItemFamily::owners ( ConstArrayView< Int32 > localIds) const
override

Definition at line 132 of file AbstractItemFamily.cc.

◆ uids()

SafeConstArrayView< Int64 > Alien::AbstractItemFamily::uids ( ConstArrayView< Int32 > localIds) const
override

Definition at line 145 of file AbstractItemFamily.cc.

◆ uniqueIdToLocalId()

void Alien::AbstractItemFamily::uniqueIdToLocalId ( ArrayView< Int32 > localIds,
ConstArrayView< Int64 > uniqueIds ) const
override

Definition at line 107 of file AbstractItemFamily.cc.

Member Data Documentation

◆ m_owners

UniqueArray<Integer> Alien::AbstractItemFamily::m_owners
private

Definition at line 98 of file AbstractItemFamily.h.

◆ m_parallel_mng

IMessagePassingMng* Alien::AbstractItemFamily::m_parallel_mng = nullptr
private

Definition at line 95 of file AbstractItemFamily.h.

◆ m_trace_mng

ITraceMng* Alien::AbstractItemFamily::m_trace_mng = nullptr
private

Definition at line 96 of file AbstractItemFamily.h.

◆ m_uid2lid

std::unordered_map<Int64, Integer> Alien::AbstractItemFamily::m_uid2lid
private

Definition at line 99 of file AbstractItemFamily.h.

◆ m_unique_ids

UniqueArray<Int64> Alien::AbstractItemFamily::m_unique_ids
private

Definition at line 97 of file AbstractItemFamily.h.


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