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

#include <Loop.h>

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

Public Types

typedef TypeTraits< Derived >::LoopNetworkType LoopNetworkType
typedef NetworkBase< Derived, size_t > NetworkBaseType
typedef TypeTraits< Derived >::LoopNodeType LoopNodeType
typedef TypeTraits< Derived >::LoopLinkType LoopLinkType
typedef std::set< LoopLinkType * > LoopLinkContainerType
typedef std::deque< const LoopLinkType * > LoopLinkSequenceType
typedef std::deque< std::pair< std::shared_ptr< LoopNodeType >, std::shared_ptr< LoopNodeType > > > LoopNodeSequenceType
typedef TypeTraits< LoopLinkType >::FlowType FlowType
Public Types inherited from model::NetworkBase< Derived, size_t >
typedef size_t KeyType

Public Member Functions

 Loop (LoopNetworkType *const loopNetwork_in, const FlowType &f)
 ~Loop ()
void update ()
const FlowType & flow () const
LoopLinkContainerType & loopLinks ()
const LoopLinkContainerType & loopLinks () const
void addLoopLink (LoopLinkType *const pL)
void removeLoopLink (LoopLinkType *const pL)
LoopLinkSequenceType linkSequence () const
LoopNodeSequenceType nodeSequence () const
std::deque< size_t > nodeIDSequence () const
std::pair< bool, LoopLinkType * > linkStartingAt (const std::shared_ptr< LoopNodeType > &Ni) const
bool isLoop () const
bool isIsolated () const
std::string tag () const
void printLoop () const
Public Member Functions inherited from model::CRTP< Derived >
 CRTP ()
 The default constructor.
Public Member Functions inherited from model::StaticID< Derived >
 StaticID ()
 StaticID (const StaticID &)
Public Member Functions inherited from model::NetworkBase< Derived, size_t >
 NetworkBase (const NetworkBase< LoopNetworkType, KeyType > &)=delete
NetworkBase & operator= (const NetworkBase< LoopNetworkType, KeyType > &other)=delete
 NetworkBase (LoopNetworkType *const metwork_in, WeakPtrContainerType *const wpc, const KeyType &key_in)
 ~NetworkBase ()
const LoopNetworkType & network () const
LoopNetworkType & network ()
LoopNetworkType * p_network () const
size_t networkID () const

Static Public Attributes

static int verboseLevel

Additional Inherited Members

Static Public Member Functions inherited from model::StaticID< Derived >
static size_t nextID ()
static size_t & get_count ()
static void set_count (const size_t &newCount)
static void force_count (const size_t &newCount)
static void set_increment (const size_t &newIncrement)
Public Attributes inherited from model::StaticID< Derived >
const size_t sID
 The static ID of this.
Public Attributes inherited from model::NetworkBase< Derived, size_t >
const KeyType key
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::Loop< Derived >

Definition at line 33 of file Loop.h.

Member Typedef Documentation

◆ FlowType

template<typename Derived>
typedef TypeTraits<LoopLinkType>::FlowType model::Loop< Derived >::FlowType

Definition at line 49 of file Loop.h.

◆ LoopLinkContainerType

template<typename Derived>
typedef std::set<LoopLinkType*> model::Loop< Derived >::LoopLinkContainerType

Definition at line 46 of file Loop.h.

◆ LoopLinkSequenceType

template<typename Derived>
typedef std::deque<const LoopLinkType*> model::Loop< Derived >::LoopLinkSequenceType

Definition at line 47 of file Loop.h.

◆ LoopLinkType

template<typename Derived>
typedef TypeTraits<Derived>::LoopLinkType model::Loop< Derived >::LoopLinkType

Definition at line 45 of file Loop.h.

◆ LoopNetworkType

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

Definition at line 42 of file Loop.h.

◆ LoopNodeSequenceType

template<typename Derived>
typedef std::deque<std::pair<std::shared_ptr<LoopNodeType>,std::shared_ptr<LoopNodeType> > > model::Loop< Derived >::LoopNodeSequenceType

Definition at line 48 of file Loop.h.

◆ LoopNodeType

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

Definition at line 44 of file Loop.h.

◆ NetworkBaseType

template<typename Derived>
typedef NetworkBase<Derived,size_t> model::Loop< Derived >::NetworkBaseType

Definition at line 43 of file Loop.h.

Constructor & Destructor Documentation

◆ Loop()

template<typename Derived>
model::Loop< Derived >::Loop ( LoopNetworkType *const loopNetwork_in,
const FlowType & f )
inline

Definition at line 61 of file Loop.h.

◆ ~Loop()

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

Definition at line 69 of file Loop.h.

Member Function Documentation

◆ addLoopLink()

template<typename Derived>
void model::Loop< Derived >::addLoopLink ( LoopLinkType *const pL)
inline

Definition at line 94 of file Loop.h.

◆ flow()

template<typename Derived>
const FlowType & model::Loop< Derived >::flow ( ) const
inline

Definition at line 79 of file Loop.h.

◆ isIsolated()

template<typename Derived>
bool model::Loop< Derived >::isIsolated ( ) const
inline

Definition at line 206 of file Loop.h.

◆ isLoop()

template<typename Derived>
bool model::Loop< Derived >::isLoop ( ) const
inline

Definition at line 185 of file Loop.h.

◆ linkSequence()

template<typename Derived>
LoopLinkSequenceType model::Loop< Derived >::linkSequence ( ) const
inline

Definition at line 115 of file Loop.h.

◆ linkStartingAt()

template<typename Derived>
std::pair< bool, LoopLinkType * > model::Loop< Derived >::linkStartingAt ( const std::shared_ptr< LoopNodeType > & Ni) const
inline

Definition at line 170 of file Loop.h.

◆ loopLinks() [1/2]

template<typename Derived>
LoopLinkContainerType & model::Loop< Derived >::loopLinks ( )
inline

Definition at line 84 of file Loop.h.

◆ loopLinks() [2/2]

template<typename Derived>
const LoopLinkContainerType & model::Loop< Derived >::loopLinks ( ) const
inline

Definition at line 89 of file Loop.h.

◆ nodeIDSequence()

template<typename Derived>
std::deque< size_t > model::Loop< Derived >::nodeIDSequence ( ) const
inline

Definition at line 160 of file Loop.h.

◆ nodeSequence()

template<typename Derived>
LoopNodeSequenceType model::Loop< Derived >::nodeSequence ( ) const
inline

Definition at line 150 of file Loop.h.

◆ printLoop()

template<typename Derived>
void model::Loop< Derived >::printLoop ( ) const
inline

Definition at line 227 of file Loop.h.

◆ removeLoopLink()

template<typename Derived>
void model::Loop< Derived >::removeLoopLink ( LoopLinkType *const pL)
inline

Definition at line 105 of file Loop.h.

◆ tag()

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

Definition at line 221 of file Loop.h.

◆ update()

template<typename Derived>
void model::Loop< Derived >::update ( )
inline

Definition at line 74 of file Loop.h.

Member Data Documentation

◆ verboseLevel

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

Definition at line 57 of file Loop.h.


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