SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE > Class Template Referenceabstract

#include <SECompartmentTransportGraph.h>

Inherits GraphType, and SECompartmentGraph< COMPARTMENT_GRAPH_TYPES >.

Public Member Functions

 SECompartmentTransportGraph (const std::string &name, Logger *logger)
 
virtual ~SECompartmentTransportGraph ()
 
void Clear () override
 
std::string GetName () const override
 
virtual void StateChange ()
 
- Public Member Functions inherited from SECompartmentGraph< COMPARTMENT_GRAPH_TYPES >
virtual ~SECompartmentGraph ()
 
virtual void Clear ()
 
virtual std::string GetName () const
 
virtual void AddCompartment (CompartmentType &cmpt)
 
virtual void ForceAddCompartment (CompartmentType &cmpt)
 
virtual CompartmentType * GetCompartment (const std::string &name)
 
virtual const CompartmentType * GetCompartment (const std::string &name) const
 
virtual const std::vector< CompartmentType * > & GetCompartments () const
 
virtual void RemoveCompartment (const CompartmentType &cmpt)
 
virtual void RemoveCompartment (const std::string &name)
 
virtual void AddLink (CompartmentLinkType &link)
 
virtual void ForceAddLink (CompartmentLinkType &link)
 
virtual CompartmentLinkType * GetLink (const std::string &name)
 
virtual const CompartmentLinkType * GetLink (const std::string &name) const
 
virtual const std::vector< CompartmentLinkType * > & GetLinks () const
 
virtual void RemoveLink (const CompartmentLinkType &link)
 
virtual void RemoveLink (const std::string &name)
 
- Public Member Functions inherited from Loggable
 Loggable (Logger *logger=nullptr)
 
 Loggable (std::string const &logfile)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 
virtual void SetLogger (Logger &logger)
 
virtual void Debug (std::string const &msg) const
 
virtual void Debug (std::stringstream &msg) const
 
virtual void Debug (std::ostream &msg) const
 
virtual void Info (std::string const &msg) const
 
virtual void Info (std::stringstream &msg) const
 
virtual void Info (const std::stringstream &msg) const
 
virtual void Info (std::ostream &msg) const
 
virtual void Warning (std::string const &msg) const
 
virtual void Warning (std::stringstream &msg) const
 
virtual void Warning (std::ostream &msg) const
 
virtual void Error (std::string const &msg) const
 
virtual void Error (std::stringstream &msg) const
 
virtual void Error (std::ostream &msg) const
 
virtual void Fatal (std::string const &msg) const
 
virtual void Fatal (std::stringstream &msg) const
 
virtual void Fatal (std::ostream &msg) const
 

Protected Member Functions

void BalanceByIntensive () override=0
 
int GetVertexIndex (const GraphVertexType &v) const override
 
const std::vector< GraphVertexType * > & GetVerticies () const override
 
const std::vector< GraphEdgeType * > * GetSourceEdges (const GraphVertexType &v) const override
 
const std::vector< GraphEdgeType * > * GetTargetEdges (const GraphVertexType &v) const override
 
- Protected Member Functions inherited from SECompartmentGraph< COMPARTMENT_GRAPH_TYPES >
 SECompartmentGraph (const std::string &name, Logger *logger)
 

Protected Attributes

std::vector< GraphVertexType * > m_Verticies
 
std::map< const GraphVertexType *, int > m_VertexIndicies
 
std::map< const GraphVertexType *, std::vector< GraphEdgeType * > * > m_SourceEdgeMap
 
std::map< const GraphVertexType *, std::vector< GraphEdgeType * > * > m_TargetEdgeMap
 
- Protected Attributes inherited from SECompartmentGraph< COMPARTMENT_GRAPH_TYPES >
std::string m_Name
 
std::vector< CompartmentType * > m_Compartments
 
std::vector< CompartmentLinkType * > m_CompartmentLinks
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 

Constructor & Destructor Documentation

◆ SECompartmentTransportGraph()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::SECompartmentTransportGraph ( const std::string &  name,
Logger logger 
)

◆ ~SECompartmentTransportGraph()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::~SECompartmentTransportGraph
virtual

Member Function Documentation

◆ BalanceByIntensive()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
void SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::BalanceByIntensive ( )
overrideprotectedpure virtual

◆ Clear()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
void SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::Clear
overridevirtual

◆ GetName()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
std::string SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::GetName ( ) const
inlineoverridevirtual

◆ GetSourceEdges()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
const std::vector< GraphEdgeType * > * SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::GetSourceEdges ( const GraphVertexType &  v) const
overrideprotected

◆ GetTargetEdges()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
const std::vector< GraphEdgeType * > * SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::GetTargetEdges ( const GraphVertexType &  v) const
overrideprotected

◆ GetVertexIndex()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
int SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::GetVertexIndex ( const GraphVertexType &  v) const
overrideprotected

◆ GetVerticies()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
const std::vector< GraphVertexType * > & SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::GetVerticies
overrideprotected

◆ StateChange()

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
void SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::StateChange
virtual

Member Data Documentation

◆ m_SourceEdgeMap

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
std::map<const GraphVertexType*, std::vector<GraphEdgeType*>*> SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::m_SourceEdgeMap
protected

◆ m_TargetEdgeMap

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
std::map<const GraphVertexType*, std::vector<GraphEdgeType*>*> SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::m_TargetEdgeMap
protected

◆ m_VertexIndicies

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
std::map<const GraphVertexType*, int> SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::m_VertexIndicies
protected

◆ m_Verticies

template<COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >
std::vector<GraphVertexType*> SECompartmentTransportGraph< COMPARTMENT_TRANSPORT_GRAPH_TEMPLATE >::m_Verticies
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.