Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::LoopLink< Derived > Class Template Reference

#include <LoopLink.h>

Inheritance diagram for model::LoopLink< Derived >:
Collaboration diagram for model::LoopLink< Derived >:

Public Types

typedef TypeTraits< Derived >::LoopNetworkType LoopNetworkType
typedef TypeTraits< Derived >::LoopNodeType LoopNodeType
typedef TypeTraits< Derived >::LoopType LoopType
typedef TypeTraits< Derived >::NetworkLinkType NetworkLinkType
typedef TypeTraits< Derived >::FlowType FlowType
typedef std::array< size_t, 3 > KeyType

Public Member Functions

 LoopLink (const std::shared_ptr< LoopNodeType > &so, const std::shared_ptr< LoopNodeType > &si, const std::shared_ptr< LoopType > &pL)
void attachTopology ()
 ~LoopLink ()
void detachTopology ()
const std::shared_ptr< NetworkLinkType > & networkLink () const
Derived * twin () const
std::shared_ptr< NetworkLinkType > getNetworkLink ()
void resetNetworkLink ()
const FlowType & flow () const
std::string tag () const
Public Member Functions inherited from model::CRTP< Derived >
 CRTP ()
 The default constructor.

Static Public Member Functions

static KeyType loopLinkKey (const std::shared_ptr< LoopType > &loop, const std::shared_ptr< LoopNodeType > &Ni, const std::shared_ptr< LoopNodeType > &Nj)

Public Attributes

const KeyType key
const std::shared_ptr< LoopNodeType > source
const std::shared_ptr< LoopNodeType > sink
const std::shared_ptr< LoopType > loop
Derived * prev
Derived * next

Static Public Attributes

static int verboseLevel

Friends

template<class T>
T & operator<< (T &os, const LoopLink< Derived > &ll)

Additional Inherited Members

Protected Member Functions inherited from model::CRTP< Derived >
Derived & derived ()
 A reference to the derived object.
Derived * p_derived ()
 A pointer to the derived object.
const Derived & derived () const
 A reference to the const derived object.
const Derived * p_derived () const
 A pointer to the const derived object.

Detailed Description

template<typename Derived>
class model::LoopLink< Derived >

Definition at line 30 of file LoopLink.h.

Member Typedef Documentation

◆ FlowType

template<typename Derived>
typedef TypeTraits<Derived>::FlowType model::LoopLink< Derived >::FlowType

Definition at line 42 of file LoopLink.h.

◆ KeyType

template<typename Derived>
typedef std::array<size_t,3> model::LoopLink< Derived >::KeyType

Definition at line 43 of file LoopLink.h.

◆ LoopNetworkType

template<typename Derived>
typedef TypeTraits<Derived>::LoopNetworkType model::LoopLink< Derived >::LoopNetworkType

Definition at line 37 of file LoopLink.h.

◆ LoopNodeType

template<typename Derived>
typedef TypeTraits<Derived>::LoopNodeType model::LoopLink< Derived >::LoopNodeType

Definition at line 39 of file LoopLink.h.

◆ LoopType

template<typename Derived>
typedef TypeTraits<Derived>::LoopType model::LoopLink< Derived >::LoopType

Definition at line 40 of file LoopLink.h.

◆ NetworkLinkType

template<typename Derived>
typedef TypeTraits<Derived>::NetworkLinkType model::LoopLink< Derived >::NetworkLinkType

Definition at line 41 of file LoopLink.h.

Constructor & Destructor Documentation

◆ LoopLink()

template<typename Derived>
model::LoopLink< Derived >::LoopLink ( const std::shared_ptr< LoopNodeType > & so,
const std::shared_ptr< LoopNodeType > & si,
const std::shared_ptr< LoopType > & pL )
inline

Definition at line 77 of file LoopLink.h.

◆ ~LoopLink()

template<typename Derived>
model::LoopLink< Derived >::~LoopLink ( )
inline

Definition at line 141 of file LoopLink.h.

Member Function Documentation

◆ attachTopology()

template<typename Derived>
void model::LoopLink< Derived >::attachTopology ( )
inline

Definition at line 93 of file LoopLink.h.

◆ detachTopology()

template<typename Derived>
void model::LoopLink< Derived >::detachTopology ( )
inline

Definition at line 146 of file LoopLink.h.

◆ flow()

template<typename Derived>
const FlowType & model::LoopLink< Derived >::flow ( ) const
inline
Returns
a reference to the loop flow

Definition at line 213 of file LoopLink.h.

◆ getNetworkLink()

template<typename Derived>
std::shared_ptr< NetworkLinkType > model::LoopLink< Derived >::getNetworkLink ( )
inline

Definition at line 186 of file LoopLink.h.

◆ loopLinkKey()

template<typename Derived>
KeyType model::LoopLink< Derived >::loopLinkKey ( const std::shared_ptr< LoopType > & loop,
const std::shared_ptr< LoopNodeType > & Ni,
const std::shared_ptr< LoopNodeType > & Nj )
inlinestatic

Definition at line 47 of file LoopLink.h.

◆ networkLink()

template<typename Derived>
const std::shared_ptr< NetworkLinkType > & model::LoopLink< Derived >::networkLink ( ) const
inline

Definition at line 166 of file LoopLink.h.

◆ resetNetworkLink()

template<typename Derived>
void model::LoopLink< Derived >::resetNetworkLink ( )
inline

Definition at line 199 of file LoopLink.h.

◆ tag()

template<typename Derived>
std::string model::LoopLink< Derived >::tag ( ) const
inline
Returns
the string "i->j" where i is source->sID and j=sink->sID

Definition at line 220 of file LoopLink.h.

◆ twin()

template<typename Derived>
Derived * model::LoopLink< Derived >::twin ( ) const
inline

Definition at line 171 of file LoopLink.h.

◆ operator<<

template<typename Derived>
template<class T>
T & operator<< ( T & os,
const LoopLink< Derived > & ll )
friend

Definition at line 229 of file LoopLink.h.

Member Data Documentation

◆ key

template<typename Derived>
const KeyType model::LoopLink< Derived >::key

Definition at line 57 of file LoopLink.h.

◆ loop

template<typename Derived>
const std::shared_ptr<LoopType> model::LoopLink< Derived >::loop

Definition at line 60 of file LoopLink.h.

◆ next

template<typename Derived>
Derived* model::LoopLink< Derived >::next

Definition at line 70 of file LoopLink.h.

◆ prev

template<typename Derived>
Derived* model::LoopLink< Derived >::prev

Definition at line 69 of file LoopLink.h.

◆ sink

template<typename Derived>
const std::shared_ptr<LoopNodeType> model::LoopLink< Derived >::sink

Definition at line 59 of file LoopLink.h.

◆ source

template<typename Derived>
const std::shared_ptr<LoopNodeType> model::LoopLink< Derived >::source

Definition at line 58 of file LoopLink.h.

◆ verboseLevel

template<typename Derived>
int model::LoopLink< Derived >::verboseLevel
static

Definition at line 55 of file LoopLink.h.


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