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

#include <LoopNode.h>

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

Public Types

typedef Derived LoopNodeType
typedef TypeTraits< Derived >::LoopLinkType LoopLinkType
typedef TypeTraits< Derived >::LoopType LoopType
typedef TypeTraits< Derived >::NetworkNodeType NetworkNodeType
typedef TypeTraits< Derived >::LoopNetworkType LoopNetworkType
typedef NetworkBase< Derived, size_t > NetworkBaseType
Public Types inherited from model::NetworkBase< Derived, size_t >
typedef size_t KeyType

Public Member Functions

 LoopNode (LoopNetworkType *const loopNetwork_in, const std::shared_ptr< LoopType > &loop_in, const std::shared_ptr< NetworkNodeType > &networkNode_in)
 ~LoopNode ()
void resetLoop (const std::shared_ptr< LoopType > &newLoop)
bool isIsolated () const
const std::shared_ptr< LoopType > & loop () const
bool isContractableTo (const Derived *const other) const
size_t gID () const
void addLoopLink (LoopLinkType *const pL)
void removeLoopLink (LoopLinkType *const pL)
std::string tag () const
Public Member Functions inherited from model::StaticID< Derived >
 StaticID ()
 StaticID (const StaticID &)
Public Member Functions inherited from model::CRTP< Derived >
 CRTP ()
 The default constructor.
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

Public Attributes

std::shared_ptr< NetworkNodeType > networkNode
std::pair< LoopNodeType *, LoopLinkType * > prev
std::pair< LoopNodeType *, LoopLinkType * > next
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

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)
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::LoopNode< Derived >

Definition at line 37 of file LoopNode.h.

Member Typedef Documentation

◆ LoopLinkType

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

Definition at line 45 of file LoopNode.h.

◆ LoopNetworkType

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

Definition at line 48 of file LoopNode.h.

◆ LoopNodeType

template<typename Derived>
typedef Derived model::LoopNode< Derived >::LoopNodeType

Definition at line 44 of file LoopNode.h.

◆ LoopType

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

Definition at line 46 of file LoopNode.h.

◆ NetworkBaseType

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

Definition at line 49 of file LoopNode.h.

◆ NetworkNodeType

template<typename Derived>
typedef TypeTraits<Derived>::NetworkNodeType model::LoopNode< Derived >::NetworkNodeType

Definition at line 47 of file LoopNode.h.

Constructor & Destructor Documentation

◆ LoopNode()

template<typename Derived>
model::LoopNode< Derived >::LoopNode ( LoopNetworkType *const loopNetwork_in,
const std::shared_ptr< LoopType > & loop_in,
const std::shared_ptr< NetworkNodeType > & networkNode_in )
inline

Definition at line 72 of file LoopNode.h.

◆ ~LoopNode()

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

Definition at line 87 of file LoopNode.h.

Member Function Documentation

◆ addLoopLink()

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

Definition at line 142 of file LoopNode.h.

◆ gID()

template<typename Derived>
size_t model::LoopNode< Derived >::gID ( ) const
inline
Returns
The NetworkComponent::snID() of the component containing this.

Definition at line 134 of file LoopNode.h.

◆ isContractableTo()

template<typename Derived>
bool model::LoopNode< Derived >::isContractableTo ( const Derived *const other) const
inline

Definition at line 128 of file LoopNode.h.

◆ isIsolated()

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

Definition at line 116 of file LoopNode.h.

◆ loop()

template<typename Derived>
const std::shared_ptr< LoopType > & model::LoopNode< Derived >::loop ( ) const
inline

Definition at line 122 of file LoopNode.h.

◆ removeLoopLink()

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

Definition at line 187 of file LoopNode.h.

◆ resetLoop()

template<typename Derived>
void model::LoopNode< Derived >::resetLoop ( const std::shared_ptr< LoopType > & newLoop)
inline

Definition at line 105 of file LoopNode.h.

◆ tag()

template<typename Derived>
std::string model::LoopNode< Derived >::tag ( ) const
inline
Returns
the string "i" where i is this->sID

Definition at line 237 of file LoopNode.h.

Member Data Documentation

◆ networkNode

template<typename Derived>
std::shared_ptr<NetworkNodeType> model::LoopNode< Derived >::networkNode

Definition at line 61 of file LoopNode.h.

◆ next

template<typename Derived>
std::pair<LoopNodeType*,LoopLinkType*> model::LoopNode< Derived >::next

Definition at line 63 of file LoopNode.h.

◆ prev

template<typename Derived>
std::pair<LoopNodeType*,LoopLinkType*> model::LoopNode< Derived >::prev

Definition at line 62 of file LoopNode.h.

◆ verboseLevel

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

Definition at line 66 of file LoopNode.h.


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