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

#include <LoopNetwork.h>

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

Public Types

typedef TypeTraits< Derived >::LoopNodeType LoopNodeType
typedef TypeTraits< Derived >::NetworkNodeType NetworkNodeType
typedef TypeTraits< Derived >::LoopLinkType LoopLinkType
typedef TypeTraits< Derived >::NetworkLinkType NetworkLinkType
typedef TypeTraits< Derived >::LoopType LoopType
typedef TypeTraits< Derived >::FlowType FlowType
typedef WeakPtrFactory< Derived, LoopType > LoopContainerType
typedef std::map< typename LoopLinkType::KeyType, LoopLinkType > LoopLinkContainerType
typedef WeakPtrFactory< Derived, LoopNodeType > LoopNodeContainerType
typedef WeakPtrFactory< Derived, NetworkNodeType > NetworkNodeContainerType
typedef WeakPtrFactory< Derived, NetworkLinkType > NetworkLinkContainerType
typedef LoopNodeContainerType::SharedPtrType SharedLoopNodePtrType
typedef NetworkNodeContainerType::SharedPtrType SharedNetworkNodePtrType
Public Types inherited from model::WeakPtrFactory< Derived, TypeTraits< Derived >::LoopType >
typedef TypeTraits< Derived >::LoopType::KeyType KeyType
typedef std::weak_ptr< TypeTraits< Derived >::LoopType > WeakPtrType
typedef std::shared_ptr< TypeTraits< Derived >::LoopType > SharedPtrType
Public Types inherited from model::WeakPtrFactory< Derived, TypeTraits< Derived >::LoopNodeType >
typedef TypeTraits< Derived >::LoopNodeType::KeyType KeyType
typedef std::weak_ptr< TypeTraits< Derived >::LoopNodeType > WeakPtrType
typedef std::shared_ptr< TypeTraits< Derived >::LoopNodeType > SharedPtrType
Public Types inherited from model::WeakPtrFactory< Derived, TypeTraits< Derived >::NetworkNodeType >
typedef TypeTraits< Derived >::NetworkNodeType::KeyType KeyType
typedef std::weak_ptr< TypeTraits< Derived >::NetworkNodeType > WeakPtrType
typedef std::shared_ptr< TypeTraits< Derived >::NetworkNodeType > SharedPtrType
Public Types inherited from model::WeakPtrFactory< Derived, TypeTraits< Derived >::NetworkLinkType >
typedef TypeTraits< Derived >::NetworkLinkType::KeyType KeyType
typedef std::weak_ptr< TypeTraits< Derived >::NetworkLinkType > WeakPtrType
typedef std::shared_ptr< TypeTraits< Derived >::NetworkLinkType > SharedPtrType

Public Member Functions

const LoopContainerType & loops () const
LoopContainerType & loops ()
const LoopNodeContainerType & loopNodes () const
LoopNodeContainerType & loopNodes ()
const NetworkNodeContainerType & networkNodes () const
NetworkNodeContainerType & networkNodes ()
LoopLinkContainerType & loopLinks ()
const LoopLinkContainerType & loopLinks () const
NetworkLinkContainerType & networkLinks ()
const NetworkLinkContainerType & networkLinks () const
void insertLoop (const std::shared_ptr< LoopType > &loop, const std::vector< std::shared_ptr< LoopNodeType > > nodes)
void insertLoop (const std::shared_ptr< LoopType > &loop, const std::deque< std::shared_ptr< LoopNodeType > > nodes)
void deleteLoop (const size_t &loopID)
SharedNetworkNodePtrType expandNetworkLink (const std::shared_ptr< NetworkLinkType > &Lij, const SharedNetworkNodePtrType &networkNode)
SharedLoopNodePtrType expandLoopLink (const LoopLinkType &Lij, const SharedLoopNodePtrType &loopNode)
void removeNetworkNode (const size_t &nodeID)
void removeNetworkNode (const SharedNetworkNodePtrType &node)
void removeLoopNode (const size_t &nodeID)
void removeLoopNode (const SharedLoopNodePtrType &node)
bool contractLoopNodes (const LoopNodeType *const Ni, const LoopNodeType *const Nj)
bool contractLoopNodes (const SharedLoopNodePtrType &Ni, const SharedLoopNodePtrType &Nj)
bool contractNetworkNodes (const SharedNetworkNodePtrType &Ni, const SharedNetworkNodePtrType &Nj)
void printLoops () const
void printLoopNodes () const
void printNetworkNodes () const
Public Member Functions inherited from model::CRTP< Derived >
 CRTP ()
 The default constructor.
Public Member Functions inherited from model::WeakPtrFactory< Derived, TypeTraits< Derived >::LoopType >
SharedPtrType create (const Args &...args)
SharedPtrType get (const KeyType &key) const
const TypeTraits< Derived >::LoopType & getRef (const KeyType &key) const
SharedPtrType clone (const KeyType &key, const Args &... args)
Public Member Functions inherited from model::WeakPtrFactory< Derived, TypeTraits< Derived >::LoopNodeType >
SharedPtrType create (const Args &...args)
SharedPtrType get (const KeyType &key) const
const TypeTraits< Derived >::LoopNodeType & getRef (const KeyType &key) const
SharedPtrType clone (const KeyType &key, const Args &... args)
Public Member Functions inherited from model::WeakPtrFactory< Derived, TypeTraits< Derived >::NetworkNodeType >
SharedPtrType create (const Args &...args)
SharedPtrType get (const KeyType &key) const
const TypeTraits< Derived >::NetworkNodeType & getRef (const KeyType &key) const
SharedPtrType clone (const KeyType &key, const Args &... args)
Public Member Functions inherited from model::WeakPtrFactory< Derived, TypeTraits< Derived >::NetworkLinkType >
SharedPtrType create (const Args &...args)
SharedPtrType get (const KeyType &key) const
const TypeTraits< Derived >::NetworkLinkType & getRef (const KeyType &key) const
SharedPtrType clone (const KeyType &key, const Args &... args)

Static Public Attributes

static int verboseLevel

Protected Member Functions

void connect (const SharedLoopNodePtrType &n0, const SharedLoopNodePtrType &n1, const std::shared_ptr< LoopType > &tempLoop)
size_t disconnect (const SharedLoopNodePtrType &n0, const SharedLoopNodePtrType &n1, const std::shared_ptr< LoopType > &loop)
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::LoopNetwork< Derived >

Definition at line 74 of file LoopNetwork.h.

Member Typedef Documentation

◆ FlowType

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

Definition at line 89 of file LoopNetwork.h.

◆ LoopContainerType

template<typename Derived>
typedef WeakPtrFactory<Derived,LoopType> model::LoopNetwork< Derived >::LoopContainerType

Definition at line 90 of file LoopNetwork.h.

◆ LoopLinkContainerType

template<typename Derived>
typedef std::map<typename LoopLinkType::KeyType,LoopLinkType> model::LoopNetwork< Derived >::LoopLinkContainerType

Definition at line 91 of file LoopNetwork.h.

◆ LoopLinkType

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

Definition at line 86 of file LoopNetwork.h.

◆ LoopNodeContainerType

template<typename Derived>
typedef WeakPtrFactory<Derived,LoopNodeType> model::LoopNetwork< Derived >::LoopNodeContainerType

Definition at line 92 of file LoopNetwork.h.

◆ LoopNodeType

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

Definition at line 84 of file LoopNetwork.h.

◆ LoopType

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

Definition at line 88 of file LoopNetwork.h.

◆ NetworkLinkContainerType

template<typename Derived>
typedef WeakPtrFactory<Derived,NetworkLinkType> model::LoopNetwork< Derived >::NetworkLinkContainerType

Definition at line 94 of file LoopNetwork.h.

◆ NetworkLinkType

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

Definition at line 87 of file LoopNetwork.h.

◆ NetworkNodeContainerType

template<typename Derived>
typedef WeakPtrFactory<Derived,NetworkNodeType> model::LoopNetwork< Derived >::NetworkNodeContainerType

Definition at line 93 of file LoopNetwork.h.

◆ NetworkNodeType

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

Definition at line 85 of file LoopNetwork.h.

◆ SharedLoopNodePtrType

template<typename Derived>
typedef LoopNodeContainerType::SharedPtrType model::LoopNetwork< Derived >::SharedLoopNodePtrType

Definition at line 95 of file LoopNetwork.h.

◆ SharedNetworkNodePtrType

template<typename Derived>
typedef NetworkNodeContainerType::SharedPtrType model::LoopNetwork< Derived >::SharedNetworkNodePtrType

Definition at line 96 of file LoopNetwork.h.

Member Function Documentation

◆ connect()

template<typename Derived>
void model::LoopNetwork< Derived >::connect ( const SharedLoopNodePtrType & n0,
const SharedLoopNodePtrType & n1,
const std::shared_ptr< LoopType > & tempLoop )
inlineprotected

Definition at line 211 of file LoopNetwork.h.

◆ contractLoopNodes() [1/2]

template<typename Derived>
bool model::LoopNetwork< Derived >::contractLoopNodes ( const LoopNodeType *const Ni,
const LoopNodeType *const Nj )
inline

Definition at line 400 of file LoopNetwork.h.

◆ contractLoopNodes() [2/2]

template<typename Derived>
bool model::LoopNetwork< Derived >::contractLoopNodes ( const SharedLoopNodePtrType & Ni,
const SharedLoopNodePtrType & Nj )
inline

Definition at line 412 of file LoopNetwork.h.

◆ contractNetworkNodes()

template<typename Derived>
bool model::LoopNetwork< Derived >::contractNetworkNodes ( const SharedNetworkNodePtrType & Ni,
const SharedNetworkNodePtrType & Nj )
inline

Definition at line 428 of file LoopNetwork.h.

◆ deleteLoop()

template<typename Derived>
void model::LoopNetwork< Derived >::deleteLoop ( const size_t & loopID)
inline

Definition at line 288 of file LoopNetwork.h.

◆ disconnect()

template<typename Derived>
size_t model::LoopNetwork< Derived >::disconnect ( const SharedLoopNodePtrType & n0,
const SharedLoopNodePtrType & n1,
const std::shared_ptr< LoopType > & loop )
inlineprotected

Definition at line 235 of file LoopNetwork.h.

◆ expandLoopLink()

template<typename Derived>
SharedLoopNodePtrType model::LoopNetwork< Derived >::expandLoopLink ( const LoopLinkType & Lij,
const SharedLoopNodePtrType & loopNode )
inline

Definition at line 315 of file LoopNetwork.h.

◆ expandNetworkLink()

template<typename Derived>
SharedNetworkNodePtrType model::LoopNetwork< Derived >::expandNetworkLink ( const std::shared_ptr< NetworkLinkType > & Lij,
const SharedNetworkNodePtrType & networkNode )
inline

Definition at line 304 of file LoopNetwork.h.

◆ insertLoop() [1/2]

template<typename Derived>
void model::LoopNetwork< Derived >::insertLoop ( const std::shared_ptr< LoopType > & loop,
const std::deque< std::shared_ptr< LoopNodeType > > nodes )
inline
Parameters
[in]nodesin the loop
[loopInput]Loop constructor arguments

Inserts a Loop connecting the sequence of nodes, The loop constructor arguments loopInput are forwarded to the loop constructor.

Definition at line 267 of file LoopNetwork.h.

◆ insertLoop() [2/2]

template<typename Derived>
void model::LoopNetwork< Derived >::insertLoop ( const std::shared_ptr< LoopType > & loop,
const std::vector< std::shared_ptr< LoopNodeType > > nodes )
inline
Parameters
[in]nodesin the loop
[loopInput]Loop constructor arguments

Inserts a Loop connecting the sequence of nodes, The loop constructor arguments loopInput are forwarded to the loop constructor.

Definition at line 246 of file LoopNetwork.h.

◆ loopLinks() [1/2]

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

Definition at line 129 of file LoopNetwork.h.

◆ loopLinks() [2/2]

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

Definition at line 134 of file LoopNetwork.h.

◆ loopNodes() [1/2]

template<typename Derived>
LoopNodeContainerType & model::LoopNetwork< Derived >::loopNodes ( )
inline

Definition at line 113 of file LoopNetwork.h.

◆ loopNodes() [2/2]

template<typename Derived>
const LoopNodeContainerType & model::LoopNetwork< Derived >::loopNodes ( ) const
inline

Definition at line 108 of file LoopNetwork.h.

◆ loops() [1/2]

template<typename Derived>
LoopContainerType & model::LoopNetwork< Derived >::loops ( )
inline

Definition at line 103 of file LoopNetwork.h.

◆ loops() [2/2]

template<typename Derived>
const LoopContainerType & model::LoopNetwork< Derived >::loops ( ) const
inline

Definition at line 98 of file LoopNetwork.h.

◆ networkLinks() [1/2]

template<typename Derived>
NetworkLinkContainerType & model::LoopNetwork< Derived >::networkLinks ( )
inline

Definition at line 139 of file LoopNetwork.h.

◆ networkLinks() [2/2]

template<typename Derived>
const NetworkLinkContainerType & model::LoopNetwork< Derived >::networkLinks ( ) const
inline

Definition at line 144 of file LoopNetwork.h.

◆ networkNodes() [1/2]

template<typename Derived>
NetworkNodeContainerType & model::LoopNetwork< Derived >::networkNodes ( )
inline

Definition at line 123 of file LoopNetwork.h.

◆ networkNodes() [2/2]

template<typename Derived>
const NetworkNodeContainerType & model::LoopNetwork< Derived >::networkNodes ( ) const
inline

Definition at line 118 of file LoopNetwork.h.

◆ printLoopNodes()

template<typename Derived>
void model::LoopNetwork< Derived >::printLoopNodes ( ) const
inline

Definition at line 495 of file LoopNetwork.h.

◆ printLoops()

template<typename Derived>
void model::LoopNetwork< Derived >::printLoops ( ) const
inline

Definition at line 487 of file LoopNetwork.h.

◆ printNetworkNodes()

template<typename Derived>
void model::LoopNetwork< Derived >::printNetworkNodes ( ) const
inline

Definition at line 504 of file LoopNetwork.h.

◆ removeLoopNode() [1/2]

template<typename Derived>
void model::LoopNetwork< Derived >::removeLoopNode ( const SharedLoopNodePtrType & node)
inline

Definition at line 359 of file LoopNetwork.h.

◆ removeLoopNode() [2/2]

template<typename Derived>
void model::LoopNetwork< Derived >::removeLoopNode ( const size_t & nodeID)
inline

Definition at line 349 of file LoopNetwork.h.

◆ removeNetworkNode() [1/2]

template<typename Derived>
void model::LoopNetwork< Derived >::removeNetworkNode ( const SharedNetworkNodePtrType & node)
inline

Definition at line 335 of file LoopNetwork.h.

◆ removeNetworkNode() [2/2]

template<typename Derived>
void model::LoopNetwork< Derived >::removeNetworkNode ( const size_t & nodeID)
inline

Definition at line 327 of file LoopNetwork.h.

Member Data Documentation

◆ verboseLevel

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

Definition at line 243 of file LoopNetwork.h.


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