Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::DualUniqueIdMng Class Reference
Inheritance diagram for Arcane::DualUniqueIdMng:
Collaboration diagram for Arcane::DualUniqueIdMng:

Classes

struct  traits_item_code
struct  traits_item_code< Node, Int64 >
struct  traits_item_code< Face, Int64 >
struct  traits_item_code< Cell, Int64 >
struct  traits_item_code< Edge, Int64 >
struct  traits_item_code< Particle, Int64 >

Public Member Functions

 DualUniqueIdMng (ITraceMng *trace_mng, bool use_dual_particle=true)
eItemKind codeToItemKind (Int64 code)
eItemKind uidToDualItemKind (Int64 unique_id)
Int64 uniqueIdOf (eItemKind item_kind, Int64 item_uid)
template<typename ItemT>
Int64 debugUniqueIdOf (const ItemT &item)
std::tuple< eItemKind, Int64uniqueIdOfDualItem (const DoF &item)
std::pair< std::tuple< eItemKind, Int64 >, std::tuple< eItemKind, Int64 > > uniqueIdOfPairOfDualItems (const DoF &item)
void info (const DoF &node, const Item &dual_item) const
void info (const DoF &link, const DoF &dual_node0, const DoF &dual_node1, const Item &dual_item0, const Item &dual_item1) const
Int64 debugDualItemUniqueId (DoF &node) const
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Static Public Member Functions

template<typename ItemT>
static Int64 uniqueIdOf (const ItemT &item)
template<typename ItemT>
static Int64 uniqueIdOf (const ItemT &item, const Integer rank)
template<typename ItemT_1, typename ItemT_2>
static Int64 uniqueIdOf (const ItemT_1 &item_1, const ItemT_2 &item_2)
template<typename ItemT_1, typename ItemT_2>
static Int64 uniqueIdOf (const ItemT_1 &item_1, const Integer item_1_rank, const ItemT_2 &item_2, const Integer item_2_rank)
static Integer rankOf (const DoF &)

Public Attributes

bool m_use_dual_particle = true

Static Public Attributes

static const Int64 node_code = 0
static const Int64 face_code = Int64(1) << 62
static const Int64 cell_code = Int64(1) << 61
static const Int64 edge_code = (Int64(1) << 61) + (Int64(1) << 62)
static const Int64 particle_code = (Int64(1) << 61) + (Int64(1) << 62)

Private Member Functions

bool _checkDualNode (const DoF &node, const Item &dual_item) const
bool _checkLink (const DoF &link, const Item &dual_item0, const Item &dual_item1) const
Int64 _extractFirstCode (const Int64 id) const
Int64 _extractSecondCode (const Int64 id) const
Int64 _extractFirstId (const Int64 id) const
Int64 _extractSecondId (const Int64 id) const
bool _codeIsValid (const Item &item, const Int64 code) const
bool _idIsValid (const Item &item, const Int64 id) const
TraceMessage info () const
 Flow for an information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.

Static Private Member Functions

template<Integer Nbit, typename Type>
static bool _onlyFirstBitUsed (const Type id)

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Definition at line 116 of file DualUniqueIdMng.h.

Constructor & Destructor Documentation

◆ DualUniqueIdMng()

Arcane::DualUniqueIdMng::DualUniqueIdMng ( ITraceMng * trace_mng,
bool use_dual_particle = true )
inline

Definition at line 133 of file DualUniqueIdMng.h.

◆ ~DualUniqueIdMng()

Arcane::DualUniqueIdMng::~DualUniqueIdMng ( )
inline

Definition at line 138 of file DualUniqueIdMng.h.

Member Function Documentation

◆ _checkDualNode()

bool Arcane::DualUniqueIdMng::_checkDualNode ( const DoF & node,
const Item & dual_item ) const
inlineprivate

Definition at line 572 of file DualUniqueIdMng.h.

◆ _checkLink()

bool Arcane::DualUniqueIdMng::_checkLink ( const DoF & link,
const Item & dual_item0,
const Item & dual_item1 ) const
inlineprivate

Definition at line 587 of file DualUniqueIdMng.h.

◆ _codeIsValid()

bool Arcane::DualUniqueIdMng::_codeIsValid ( const Item & item,
const Int64 code ) const
inlineprivate

Definition at line 482 of file DualUniqueIdMng.h.

◆ _extractFirstCode()

Int64 Arcane::DualUniqueIdMng::_extractFirstCode ( const Int64 id) const
inlineprivate

Definition at line 552 of file DualUniqueIdMng.h.

◆ _extractFirstId()

Int64 Arcane::DualUniqueIdMng::_extractFirstId ( const Int64 id) const
inlineprivate

Definition at line 542 of file DualUniqueIdMng.h.

◆ _extractSecondCode()

Int64 Arcane::DualUniqueIdMng::_extractSecondCode ( const Int64 id) const
inlineprivate

Definition at line 532 of file DualUniqueIdMng.h.

◆ _extractSecondId()

Int64 Arcane::DualUniqueIdMng::_extractSecondId ( const Int64 id) const
inlineprivate

Definition at line 562 of file DualUniqueIdMng.h.

◆ _idIsValid()

bool Arcane::DualUniqueIdMng::_idIsValid ( const Item & item,
const Int64 id ) const
inlineprivate

Definition at line 522 of file DualUniqueIdMng.h.

◆ _onlyFirstBitUsed()

template<Integer Nbit, typename Type>
bool Arcane::DualUniqueIdMng::_onlyFirstBitUsed ( const Type id)
inlinestaticprivate

Definition at line 242 of file DualUniqueIdMng.h.

◆ codeToItemKind()

eItemKind Arcane::DualUniqueIdMng::codeToItemKind ( Int64 code)
inline

Definition at line 313 of file DualUniqueIdMng.h.

◆ debugUniqueIdOf()

template<typename ItemT>
Int64 Arcane::DualUniqueIdMng::debugUniqueIdOf ( const ItemT & item)
inline

Definition at line 279 of file DualUniqueIdMng.h.

◆ info() [1/6]

Flow for an information message.

Definition at line 62 of file TraceAccessor.cc.

◆ info() [2/6]

TraceMessage Arcane::TraceAccessor::info ( bool v) const
private

Flow for an information message.

If v is false, the message will not be displayed.

Definition at line 82 of file TraceAccessor.cc.

◆ info() [3/6]

TraceMessage Arcane::TraceAccessor::info ( char category) const
private

Flow for an information message of a given category.

Definition at line 72 of file TraceAccessor.cc.

◆ info() [4/6]

void Arcane::DualUniqueIdMng::info ( const DoF & link,
const DoF & dual_node0,
const DoF & dual_node1,
const Item & dual_item0,
const Item & dual_item1 ) const
inline

Definition at line 620 of file DualUniqueIdMng.h.

◆ info() [5/6]

void Arcane::DualUniqueIdMng::info ( const DoF & node,
const Item & dual_item ) const
inline

Definition at line 606 of file DualUniqueIdMng.h.

◆ info() [6/6]

TraceMessage Arcane::TraceAccessor::info ( Int32 verbose_level) const
private

Flow for an information message of a given level.

Definition at line 132 of file TraceAccessor.cc.

◆ rankOf()

Integer Arcane::DualUniqueIdMng::rankOf ( const DoF & node)
inlinestatic

Definition at line 472 of file DualUniqueIdMng.h.

◆ uidToDualItemKind()

eItemKind Arcane::DualUniqueIdMng::uidToDualItemKind ( Int64 unique_id)
inline

Definition at line 294 of file DualUniqueIdMng.h.

◆ uniqueIdOf() [1/5]

template<typename ItemT>
Int64 Arcane::DualUniqueIdMng::uniqueIdOf ( const ItemT & item)
inlinestatic

Definition at line 263 of file DualUniqueIdMng.h.

◆ uniqueIdOf() [2/5]

template<typename ItemT>
Int64 Arcane::DualUniqueIdMng::uniqueIdOf ( const ItemT & item,
const Integer rank )
inlinestatic

Definition at line 374 of file DualUniqueIdMng.h.

◆ uniqueIdOf() [3/5]

template<typename ItemT_1, typename ItemT_2>
Int64 Arcane::DualUniqueIdMng::uniqueIdOf ( const ItemT_1 & item_1,
const Integer item_1_rank,
const ItemT_2 & item_2,
const Integer item_2_rank )
inlinestatic

Definition at line 441 of file DualUniqueIdMng.h.

◆ uniqueIdOf() [4/5]

template<typename ItemT_1, typename ItemT_2>
Int64 Arcane::DualUniqueIdMng::uniqueIdOf ( const ItemT_1 & item_1,
const ItemT_2 & item_2 )
inlinestatic

Definition at line 395 of file DualUniqueIdMng.h.

◆ uniqueIdOf() [5/5]

Int64 Arcane::DualUniqueIdMng::uniqueIdOf ( eItemKind item_kind,
Int64 item_uid )
inline

Definition at line 331 of file DualUniqueIdMng.h.

◆ uniqueIdOfDualItem()

std::tuple< eItemKind, Int64 > Arcane::DualUniqueIdMng::uniqueIdOfDualItem ( const DoF & item)
inline

Definition at line 358 of file DualUniqueIdMng.h.

◆ uniqueIdOfPairOfDualItems()

std::pair< std::tuple< eItemKind, Int64 >, std::tuple< eItemKind, Int64 > > Arcane::DualUniqueIdMng::uniqueIdOfPairOfDualItems ( const DoF & item)
inline

Definition at line 418 of file DualUniqueIdMng.h.

Member Data Documentation

◆ cell_code

const Int64 Arcane::DualUniqueIdMng::cell_code = Int64(1) << 61
static

Definition at line 127 of file DualUniqueIdMng.h.

◆ edge_code

const Int64 Arcane::DualUniqueIdMng::edge_code = (Int64(1) << 61) + (Int64(1) << 62)
static

Definition at line 128 of file DualUniqueIdMng.h.

◆ face_code

const Int64 Arcane::DualUniqueIdMng::face_code = Int64(1) << 62
static

Definition at line 126 of file DualUniqueIdMng.h.

◆ m_use_dual_particle

bool Arcane::DualUniqueIdMng::m_use_dual_particle = true

Definition at line 131 of file DualUniqueIdMng.h.

◆ node_code

const Int64 Arcane::DualUniqueIdMng::node_code = 0
static

Definition at line 125 of file DualUniqueIdMng.h.

◆ particle_code

const Int64 Arcane::DualUniqueIdMng::particle_code = (Int64(1) << 61) + (Int64(1) << 62)
static

Definition at line 129 of file DualUniqueIdMng.h.


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