Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Define new entries.

Typedefs

typedef std::vector< InternalEntryIndexAlien::IndexManager::EntryIndexMap

Enumerations

enum  State { Undef , Initialized , Prepared }

Functions

 Alien::IndexManager::Iterator::Iterator (const ScalarIndexSetVector::iterator &it)
void Alien::IndexManager::Iterator::operator++ ()
bool Alien::IndexManager::Iterator::operator!= (const Iterator &it)
ScalarIndexSetAlien::IndexManager::Iterator::operator* ()
 Alien::IndexManager::ConstIterator::ConstIterator (const ScalarIndexSetVector::const_iterator &it)
void Alien::IndexManager::ConstIterator::operator++ ()
bool Alien::IndexManager::ConstIterator::operator!= (const ConstIterator &it)
const ScalarIndexSetAlien::IndexManager::ConstIterator::operator* ()
bool Alien::IndexManager::InternalEntryIndex::operator== (const InternalEntryIndex &m) const
ScalarIndexSet Alien::IndexManager::buildScalarIndexSet (const String &name, ConstArrayView< Integer > localIds, const IAbstractFamily &family, Integer kind, eKeepAlive alive=DontClone)
ScalarIndexSet Alien::IndexManager::buildScalarIndexSet (const String &name, const IAbstractFamily &family, Integer kind, eKeepAlive alive=DontClone)
VectorIndexSet Alien::IndexManager::buildVectorIndexSet (const String &name, ConstArrayView< Integer > localIds, const IAbstractFamily &family, const UniqueArray< Integer > &kind, eKeepAlive alive=DontClone)
VectorIndexSet Alien::IndexManager::buildVectorIndexSet (const String &name, const IAbstractFamily &family, const UniqueArray< Integer > &kind, eKeepAlive alive=DontClone)
void Alien::IndexManager::removeIndex (const ScalarIndexSet &entry, ConstArrayView< Integer > localIds)
UniqueArray< Integer > Alien::IndexManager::getIndexes (const ScalarIndexSet &entry) const
 Give a translation table, indexed by items.
UniqueArray2< Integer > Alien::IndexManager::getIndexes (const VectorIndexSet &entries) const
 Give a vector translation table, indexed by items then by entries.
ConstArrayView< Integer > Alien::IndexManager::getOwnIndexes (const ScalarIndexSet &entry) const
ConstArrayView< Integer > Alien::IndexManager::getOwnLocalIds (const ScalarIndexSet &entry) const
ConstArrayView< Integer > Alien::IndexManager::getAllIndexes (const ScalarIndexSet &entry) const
ConstArrayView< Integer > Alien::IndexManager::getAllLocalIds (const ScalarIndexSet &entry) const
const IAbstractFamilyAlien::IndexManager::getFamily (const ScalarIndexSet &entry) const
IMessagePassingMng * Alien::IndexManager::parallelMng () const
 Parallel Manager used for the index computation.
void Alien::IndexManager::setMaxNullIndexOpt (bool flag)
 define null index : default = -1, if true null_index = max_index+1
Integer Alien::IndexManager::nullIndex () const
Iterator Alien::IndexManager::begin ()
Iterator Alien::IndexManager::end ()
ConstIterator Alien::IndexManager::begin () const
ConstIterator Alien::IndexManager::end () const
ScalarIndexSet Alien::IndexManager::buildEntry (const String &name, const IAbstractFamily *itemFamily, Integer kind)
void Alien::IndexManager::defineIndex (const ScalarIndexSet &entry, ConstArrayView< Integer > localIds)
void Alien::IndexManager::begin_prepare (EntryIndexMap &entry_index)
void Alien::IndexManager::begin_parallel_prepare (EntryIndexMap &entry_index)
void Alien::IndexManager::end_parallel_prepare (EntryIndexMap &entry_index)
void Alien::IndexManager::sequential_prepare (EntryIndexMap &entry_index)
void Alien::IndexManager::end_prepare (EntryIndexMap &entryIndex)
const IAbstractFamilyAlien::IndexManager::addNewAbstractFamily (const IAbstractFamily *family, eKeepAlive alive)

Variables

ScalarIndexSetVector::iterator Alien::IndexManager::Iterator::m_iterator
ScalarIndexSetVector::const_iterator Alien::IndexManager::ConstIterator::m_iterator
Integer Alien::IndexManager::InternalEntryIndex::m_entry_uid
Integer Alien::IndexManager::InternalEntryIndex::m_entry_kind
Int64 Alien::IndexManager::InternalEntryIndex::m_item_uid
Integer Alien::IndexManager::InternalEntryIndex::m_item_localid
Integer Alien::IndexManager::InternalEntryIndex::m_item_index
Integer Alien::IndexManager::InternalEntryIndex::m_item_owner
Alien::IMessagePassingMng * Alien::IndexManager::m_parallel_mng = nullptr
Alien::ITraceMng * Alien::IndexManager::m_trace_mng = nullptr
Integer Alien::IndexManager::m_local_owner
 current owner.
enum Alien::IndexManager::State Alien::IndexManager::m_state
bool Alien::IndexManager::m_verbose
Integer Alien::IndexManager::m_local_entry_count
Integer Alien::IndexManager::m_global_entry_count
Integer Alien::IndexManager::m_global_entry_offset
Integer Alien::IndexManager::m_local_removed_entry_count
Integer Alien::IndexManager::m_global_removed_entry_count
bool Alien::IndexManager::m_max_null_index_opt
ScalarIndexSetVector Alien::IndexManager::m_entries
 Table des Entry connues localement.
std::map< const IAbstractFamily *, std::shared_ptr< IAbstractFamily > > Alien::IndexManager::m_abstract_families
 Abstract families and associated clones (if handled).
std::map< Integer, UniqueArray< Integer > > Alien::IndexManager::m_entry_all_items
 Local ids, sorted by owned then ghosts. By entry.
std::map< Integer, UniqueArray< Integer > > Alien::IndexManager::m_entry_all_indices
 Unique ids, sorted by owned then ghosts. By entry.
std::map< Integer, ConstArrayView< Integer > > Alien::IndexManager::m_entry_own_items
 Local ids, only for owned, by entry.
std::map< Integer, ConstArrayView< Integer > > Alien::IndexManager::m_entry_own_indices
 Unique ids, only for owned, by entry.
std::map< Integer, const IAbstractFamily * > Alien::IndexManager::m_entry_families
 Family, by entry.
std::map< Integer, std::shared_ptr< EntryLocalId > > Alien::IndexManager::m_entry_local_ids
std::shared_ptr< ParallelRequestsAlien::IndexManager::parallel

Detailed Description

}@

Typedef Documentation

◆ EntryIndexMap

typedef std::vector<InternalEntryIndex> Alien::IndexManager::EntryIndexMap
private

Definition at line 234 of file IndexManager.h.

Enumeration Type Documentation

◆ State

enum Alien::IndexManager::State
private

Definition at line 250 of file IndexManager.h.

Function Documentation

◆ addNewAbstractFamily()

const IAbstractFamily * Alien::IndexManager::addNewAbstractFamily ( const IAbstractFamily * family,
eKeepAlive alive )
private

Definition at line 956 of file IndexManager.cc.

◆ begin() [1/2]

Iterator Alien::IndexManager::begin ( )
inline

Definition at line 223 of file IndexManager.h.

◆ begin() [2/2]

ConstIterator Alien::IndexManager::begin ( ) const
inline

Definition at line 225 of file IndexManager.h.

◆ begin_parallel_prepare()

void Alien::IndexManager::begin_parallel_prepare ( EntryIndexMap & entry_index)
private

Definition at line 419 of file IndexManager.cc.

◆ begin_prepare()

void Alien::IndexManager::begin_prepare ( EntryIndexMap & entry_index)
private

Definition at line 288 of file IndexManager.cc.

◆ buildEntry()

ScalarIndexSet Alien::IndexManager::buildEntry ( const String & name,
const IAbstractFamily * itemFamily,
Integer kind )
private

Definition at line 178 of file IndexManager.cc.

◆ buildScalarIndexSet() [1/2]

ScalarIndexSet Alien::IndexManager::buildScalarIndexSet ( const String & name,
const IAbstractFamily & family,
Integer kind,
eKeepAlive alive = DontClone )

New scalar entry, on elements of a family.

Parameters
name
family
kind
alive
Returns

Definition at line 895 of file IndexManager.cc.

References Alien::IAbstractFamily::allLocalIds().

Here is the call graph for this function:

◆ buildScalarIndexSet() [2/2]

ScalarIndexSet Alien::IndexManager::buildScalarIndexSet ( const String & name,
ConstArrayView< Integer > localIds,
const IAbstractFamily & family,
Integer kind,
eKeepAlive alive = DontClone )

New scalar entry, defined on a set of abstract items.

Parameters
name
localIds
family
kind
alive
Returns

Definition at line 878 of file IndexManager.cc.

◆ buildVectorIndexSet() [1/2]

IndexManager::VectorIndexSet Alien::IndexManager::buildVectorIndexSet ( const String & name,
const IAbstractFamily & family,
const UniqueArray< Integer > & kind,
eKeepAlive alive = DontClone )

New vector entry, on elements of a family.

Parameters
name
family
kind
alive
Returns

Current implementation handles multi-scalar entries as vector.

Definition at line 933 of file IndexManager.cc.

References Alien::IAbstractFamily::allLocalIds().

Here is the call graph for this function:

◆ buildVectorIndexSet() [2/2]

IndexManager::VectorIndexSet Alien::IndexManager::buildVectorIndexSet ( const String & name,
ConstArrayView< Integer > localIds,
const IAbstractFamily & family,
const UniqueArray< Integer > & kind,
eKeepAlive alive = DontClone )

New vector entry, on a set of abstract items.

Parameters
name
localIds
family
kind
alive
Returns

Current implementation handles multi-scalar entries as vector.

Definition at line 910 of file IndexManager.cc.

◆ ConstIterator()

Alien::IndexManager::ConstIterator::ConstIterator ( const ScalarIndexSetVector::const_iterator & it)
inlineexplicit

Definition at line 69 of file IndexManager.h.

◆ defineIndex()

void Alien::IndexManager::defineIndex ( const ScalarIndexSet & entry,
ConstArrayView< Integer > localIds )
private

Definition at line 202 of file IndexManager.cc.

◆ end() [1/2]

Iterator Alien::IndexManager::end ( )
inline

Definition at line 224 of file IndexManager.h.

◆ end() [2/2]

ConstIterator Alien::IndexManager::end ( ) const
inline

Definition at line 226 of file IndexManager.h.

◆ end_parallel_prepare()

void Alien::IndexManager::end_parallel_prepare ( EntryIndexMap & entry_index)
private

Definition at line 638 of file IndexManager.cc.

◆ end_prepare()

void Alien::IndexManager::end_prepare ( EntryIndexMap & entryIndex)
private

Definition at line 335 of file IndexManager.cc.

◆ getAllIndexes()

ConstArrayView< Integer > Alien::IndexManager::getAllIndexes ( const ScalarIndexSet & entry) const

Definition at line 1025 of file IndexManager.cc.

◆ getAllLocalIds()

ConstArrayView< Integer > Alien::IndexManager::getAllLocalIds ( const ScalarIndexSet & entry) const

Definition at line 1037 of file IndexManager.cc.

◆ getFamily()

const IAbstractFamily & Alien::IndexManager::getFamily ( const ScalarIndexSet & entry) const

Definition at line 1049 of file IndexManager.cc.

◆ getIndexes() [1/2]

UniqueArray< Integer > Alien::IndexManager::getIndexes ( const ScalarIndexSet & entry) const

Give a translation table, indexed by items.

Definition at line 781 of file IndexManager.cc.

References Alien::ScalarIndexSet::manager(), and Alien::IAbstractFamily::maxLocalId().

Here is the call graph for this function:

◆ getIndexes() [2/2]

UniqueArray2< Integer > Alien::IndexManager::getIndexes ( const VectorIndexSet & entries) const

Give a vector translation table, indexed by items then by entries.

Definition at line 800 of file IndexManager.cc.

References Alien::IAbstractFamily::maxLocalId().

Here is the call graph for this function:

◆ getOwnIndexes()

ConstArrayView< Integer > Alien::IndexManager::getOwnIndexes ( const ScalarIndexSet & entry) const

Definition at line 1001 of file IndexManager.cc.

◆ getOwnLocalIds()

ConstArrayView< Integer > Alien::IndexManager::getOwnLocalIds ( const ScalarIndexSet & entry) const

Definition at line 1013 of file IndexManager.cc.

◆ Iterator()

Alien::IndexManager::Iterator::Iterator ( const ScalarIndexSetVector::iterator & it)
inlineexplicit

Definition at line 55 of file IndexManager.h.

◆ nullIndex()

Integer Alien::IndexManager::nullIndex ( ) const

Definition at line 1070 of file IndexManager.cc.

◆ operator!=() [1/2]

bool Alien::IndexManager::ConstIterator::operator!= ( const ConstIterator & it)
inline

Definition at line 73 of file IndexManager.h.

◆ operator!=() [2/2]

bool Alien::IndexManager::Iterator::operator!= ( const Iterator & it)
inline

Definition at line 59 of file IndexManager.h.

◆ operator*() [1/2]

const ScalarIndexSet & Alien::IndexManager::ConstIterator::operator* ( )
inline

Definition at line 74 of file IndexManager.h.

◆ operator*() [2/2]

ScalarIndexSet & Alien::IndexManager::Iterator::operator* ( )
inline

Definition at line 60 of file IndexManager.h.

◆ operator++() [1/2]

void Alien::IndexManager::ConstIterator::operator++ ( )
inline

Definition at line 72 of file IndexManager.h.

◆ operator++() [2/2]

void Alien::IndexManager::Iterator::operator++ ( )
inline

Definition at line 58 of file IndexManager.h.

◆ operator==()

bool Alien::IndexManager::InternalEntryIndex::operator== ( const InternalEntryIndex & m) const
inline

Definition at line 90 of file IndexManager.h.

◆ parallelMng()

IMessagePassingMng * Alien::IndexManager::parallelMng ( ) const
inline

Parallel Manager used for the index computation.

Definition at line 216 of file IndexManager.h.

◆ removeIndex()

void Alien::IndexManager::removeIndex ( const ScalarIndexSet & entry,
ConstArrayView< Integer > localIds )

}@

Remove a entities from the index.

Parameters
entry
localIds

Must be called before prepare.

Definition at line 237 of file IndexManager.cc.

References Alien::ScalarIndexSet::getUid(), m_entry_families, m_local_owner, and Alien::ScalarIndexSet::manager().

Here is the call graph for this function:

◆ sequential_prepare()

void Alien::IndexManager::sequential_prepare ( EntryIndexMap & entry_index)
private

Definition at line 751 of file IndexManager.cc.

◆ setMaxNullIndexOpt()

void Alien::IndexManager::setMaxNullIndexOpt ( bool flag)

define null index : default = -1, if true null_index = max_index+1

Definition at line 1060 of file IndexManager.cc.

Variable Documentation

◆ m_abstract_families

std::map<const IAbstractFamily*, std::shared_ptr<IAbstractFamily> > Alien::IndexManager::m_abstract_families
private

Abstract families and associated clones (if handled).

Definition at line 271 of file IndexManager.h.

Referenced by init().

◆ m_entries

ScalarIndexSetVector Alien::IndexManager::m_entries
private

Table des Entry connues localement.

Definition at line 268 of file IndexManager.h.

Referenced by init().

◆ m_entry_all_indices

std::map<Integer, UniqueArray<Integer> > Alien::IndexManager::m_entry_all_indices
private

Unique ids, sorted by owned then ghosts. By entry.

Definition at line 277 of file IndexManager.h.

◆ m_entry_all_items

std::map<Integer, UniqueArray<Integer> > Alien::IndexManager::m_entry_all_items
private

Local ids, sorted by owned then ghosts. By entry.

Definition at line 274 of file IndexManager.h.

◆ m_entry_families

std::map<Integer, const IAbstractFamily*> Alien::IndexManager::m_entry_families
private

Family, by entry.

Definition at line 286 of file IndexManager.h.

Referenced by removeIndex().

◆ m_entry_kind

Integer Alien::IndexManager::InternalEntryIndex::m_entry_kind

Definition at line 84 of file IndexManager.h.

◆ m_entry_local_ids

std::map<Integer, std::shared_ptr<EntryLocalId> > Alien::IndexManager::m_entry_local_ids
protected

Definition at line 292 of file IndexManager.h.

◆ m_entry_own_indices

std::map<Integer, ConstArrayView<Integer> > Alien::IndexManager::m_entry_own_indices
private

Unique ids, only for owned, by entry.

Definition at line 283 of file IndexManager.h.

◆ m_entry_own_items

std::map<Integer, ConstArrayView<Integer> > Alien::IndexManager::m_entry_own_items
private

Local ids, only for owned, by entry.

Definition at line 280 of file IndexManager.h.

◆ m_entry_uid

Integer Alien::IndexManager::InternalEntryIndex::m_entry_uid

Definition at line 83 of file IndexManager.h.

◆ m_global_entry_count

Integer Alien::IndexManager::m_global_entry_count
private

Definition at line 260 of file IndexManager.h.

◆ m_global_entry_offset

Integer Alien::IndexManager::m_global_entry_offset
private

Definition at line 261 of file IndexManager.h.

◆ m_global_removed_entry_count

Integer Alien::IndexManager::m_global_removed_entry_count
private

Definition at line 263 of file IndexManager.h.

◆ m_item_index

Integer Alien::IndexManager::InternalEntryIndex::m_item_index

Definition at line 87 of file IndexManager.h.

◆ m_item_localid

Integer Alien::IndexManager::InternalEntryIndex::m_item_localid

Definition at line 86 of file IndexManager.h.

◆ m_item_owner

Integer Alien::IndexManager::InternalEntryIndex::m_item_owner

Definition at line 88 of file IndexManager.h.

◆ m_item_uid

Int64 Alien::IndexManager::InternalEntryIndex::m_item_uid

Definition at line 85 of file IndexManager.h.

◆ m_iterator [1/2]

ScalarIndexSetVector::const_iterator Alien::IndexManager::ConstIterator::m_iterator
private

Definition at line 77 of file IndexManager.h.

◆ m_iterator [2/2]

ScalarIndexSetVector::iterator Alien::IndexManager::Iterator::m_iterator
private

Definition at line 63 of file IndexManager.h.

◆ m_local_entry_count

Integer Alien::IndexManager::m_local_entry_count
private

Definition at line 259 of file IndexManager.h.

◆ m_local_owner

Integer Alien::IndexManager::m_local_owner
private

current owner.

Definition at line 248 of file IndexManager.h.

Referenced by init(), and removeIndex().

◆ m_local_removed_entry_count

Integer Alien::IndexManager::m_local_removed_entry_count
private

Definition at line 262 of file IndexManager.h.

◆ m_max_null_index_opt

bool Alien::IndexManager::m_max_null_index_opt
private

Definition at line 265 of file IndexManager.h.

◆ m_parallel_mng

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

Definition at line 246 of file IndexManager.h.

◆ m_trace_mng

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

Definition at line 247 of file IndexManager.h.

◆ m_verbose

bool Alien::IndexManager::m_verbose
private

Definition at line 257 of file IndexManager.h.

◆ parallel

std::shared_ptr<ParallelRequests> Alien::IndexManager::parallel
protected

Definition at line 295 of file IndexManager.h.