11 #ifndef BIOPROCESSING_GRAPH_EWGRAPH
12 #define BIOPROCESSING_GRAPH_EWGRAPH
17 #include <cartobase/smart/rcptr.h>
24 template <
typename E,
typename W>
class EWBaseGraph;
25 template <
typename E,
typename W>
class EWBaseGraphRef;
38 template <
typename E,
typename W>
70 template <
typename Path>
72 template <
typename Path>
74 template <
typename EdgeSet>
76 template <
typename EdgeSet>
97 template <
typename E,
typename W>
101 typename G::edge_const_iterator e;
102 W min = std::numeric_limits<W>::max();
104 for( e = thisg.beginEdge(v); e != thisg.endEdge(v); ++e )
106 cur = thisg.weight( *e );
121 template <
typename E,
typename W>
Reference to a BaseGraph.
carto::rc_ptr< BaseGraph< E > > Base
Edge::Vertex Vertex
Usable vertex type.
Reference to a EWBaseGraph.
virtual Weight weight(const Edge &e) const
EWBaseGraphRef< E, W > This
virtual Weight Fm(const Vertex &v) const
virtual Weight weight(const Edge &e)
virtual void insert(Edge e, Weight w=(Weight) 0)
EWBaseGraph< E, W > Pointed
EWBaseGraphRef(const Base &other)
EWBaseGraphRef(Pointed *g)
virtual ~EWBaseGraphRef()
Base class for edge weighted graphs.
virtual Weight Fm(const Vertex &v) const
virtual Graph getMinOfF() const
virtual Weight weight(const Edge &e) const
Base::Vertex Vertex
Usable vertex type.
virtual bool isMinimumSpanningTree(const Graph &g) const
bool isWatershedCut(const EdgeSet &s) const
virtual bool isMinimumSpanningForestRelativeTo(const Graph &h, const Graph &g) const
bool isDescending(const Path &p) const
Base::Edge Edge
Usable edge type.
EWBaseGraph< E, W > This
Type of *this.
EWBaseGraphRef< E, W > Graph
Usable graph type.
BaseGraph< E > Base
Base class.
virtual Weight weight(const Edge &e)
bool isBasinCut(const EdgeSet &es) const
virtual bool isMinimum(const Graph &g) const
virtual Weight weight(const Graph &g) const
virtual void insert(Edge e, Weight w=(Weight) 0)
EWBaseGraphRef< E, W > Ref
Reference type.
bool isPathofSteepestdescent(const Path &p) const