bioprocessing
5.1.2
|
Base class for graphs. More...
#include <bioprocessing/graph/basegraph.h>
Public Types | |
typedef E | Edge |
Usable edge type. More... | |
typedef Edge::Vertex | Vertex |
Usable vertex type. More... | |
typedef BaseGraphRef< E > | Graph |
Usable graph type. More... | |
typedef BaseGraphRef< E > | Ref |
Reference type. More... | |
Public Member Functions | |
virtual | ~BaseGraph () |
virtual void | insert (Vertex v) |
virtual void | insert (Edge e) |
virtual bool | contains (const Vertex &v) const |
virtual bool | contains (const Edge &e) const |
virtual bool | empty () const |
virtual void | clear () |
virtual bool | operator== (const This &other) const |
virtual bool | operator!= (const This &other) const |
virtual bool | operator> (const This &other) const |
virtual bool | operator< (const This &other) const |
virtual bool | operator>= (const This &other) const |
virtual bool | operator<= (const This &other) const |
virtual bool | operator= (const This &other) |
virtual bool | isAdjacent (const Vertex &x, const Vertex &y) const |
virtual bool | isLinked (const Vertex &x, const Vertex &y) const |
virtual bool | isSubGraph (const Graph &g) const |
virtual bool | isConnectedComponent (const Graph &g) const |
virtual bool | isAdjacentTo (const Vertex &v, const Graph &g) const |
virtual bool | isAdjacentFrom (const Vertex &v, const Graph &g) const |
virtual bool | isAdjacent (const Edge &e) const |
virtual bool | isLinked (const Vertex &v) const |
virtual bool | isExtension (const Graph &h, const Graph &g) const |
virtual bool | isForestRelativeTo (const Graph &h, const Graph &g) const |
virtual bool | isSpanningForestRelativeTo (const Graph &h, const Graph &g) const |
virtual bool | isTree (const Graph &g) const |
virtual bool | isSpanningTree (const Graph &g) const |
virtual bool | isForest (const Graph &g) const |
virtual bool | isSpanningForest (const Graph &g) const |
template<typename EdgeIterator > | |
bool | isGraphCut (EdgeIterator begin, EdgeIterator end, const Graph &g) const |
template<typename EdgeSet > | |
bool | isGraphCut (const EdgeSet &es, const Graph &g) const |
Static Public Member Functions | |
template<typename Set > | |
static Set | getComplement (const Set &s, const Set &e) |
Protected Types | |
typedef BaseGraph< E > | This |
Type of *this. More... | |
Static Protected Member Functions | |
template<typename G > | |
static bool | isAdjacent (const G &thisg, const Vertex &x, const Vertex &y) |
These methods are templated on the iterator type (which is implementation dependant and thus not known in BaseGraph). More... | |
template<typename G > | |
static bool | isLinked (const G &thisg, const Vertex &x, const Vertex &y) |
template<typename VertexSet , typename G > | |
static bool | isLinked (const G &thisg, const Vertex &x, const Vertex &y, VertexSet &s) |
template<typename G > | |
static bool | isSubGraph (const G &thisg, const typename G::Ref &g) |
template<typename G > | |
static bool | isConnectedComponent (const G &thisg, const typename G::Ref &g) |
template<typename G > | |
static bool | isAdjacent (const G &thisg, const Edge &e) |
template<typename G > | |
static bool | isAdjacentTo (const G &thisg, const Vertex &v, const typename G::Ref &g) |
template<typename G > | |
static bool | isAdjacentFrom (const G &thisg, const Vertex &v, const typename G::Ref &g) |
template<typename G > | |
static G::Ref | getConnectedComponent (G &thisg, Vertex &v) |
template<typename G > | |
static void | getConnectedComponent (G &thisg, Vertex &v, typename G::Ref &g) |
Friends | |
class | BaseGraphRef< E > |
Base class for graphs.
This class does not depends on members implementation. It defines abstract methods that need to be implemented (mainly: iterators, insert, contains) and defines a number of generic graph methods that can be inherited.
It is only templated on the Edge type (with the assumption that those edges define a Vertex type) and is thus highly generic.
E | Edge type (prefer RC types) |
Definition at line 39 of file basegraph.h.
typedef E bio::BaseGraph< E >::Edge |
Usable edge type.
Definition at line 45 of file basegraph.h.
typedef BaseGraphRef<E> bio::BaseGraph< E >::Graph |
Usable graph type.
Definition at line 47 of file basegraph.h.
typedef BaseGraphRef<E> bio::BaseGraph< E >::Ref |
Reference type.
Definition at line 48 of file basegraph.h.
|
protected |
Type of *this.
Definition at line 43 of file basegraph.h.
typedef Edge::Vertex bio::BaseGraph< E >::Vertex |
Usable vertex type.
Definition at line 46 of file basegraph.h.
|
inlinevirtual |
Definition at line 52 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 63 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 61 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 60 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 62 of file basegraph.h.
|
static |
Definition at line 291 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::getComplement().
|
staticprotected |
Definition at line 264 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::getConnectedComponent().
|
staticprotected |
Definition at line 274 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 59 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 58 of file basegraph.h.
|
inlinevirtual |
Definition at line 88 of file basegraph.h.
|
staticprotected |
Definition at line 230 of file basegraph.h.
|
staticprotected |
These methods are templated on the iterator type (which is implementation dependant and thus not known in BaseGraph).
They can be used to rapidely write classical graph methods as those presented in the virtual properties/methods categories
Definition at line 148 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 82 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::isAdjacent().
|
staticprotected |
Definition at line 251 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 87 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::isAdjacentFrom().
|
staticprotected |
Definition at line 238 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 86 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::isAdjacentTo().
|
staticprotected |
Definition at line 218 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 85 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::isConnectedComponent().
|
inlinevirtual |
Definition at line 90 of file basegraph.h.
|
inlinevirtual |
Definition at line 95 of file basegraph.h.
|
inlinevirtual |
Definition at line 91 of file basegraph.h.
|
inline |
Definition at line 100 of file basegraph.h.
|
inline |
Definition at line 98 of file basegraph.h.
|
staticprotected |
Definition at line 161 of file basegraph.h.
|
staticprotected |
Definition at line 178 of file basegraph.h.
|
inlinevirtual |
Definition at line 89 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 83 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::isLinked().
|
inlinevirtual |
Definition at line 96 of file basegraph.h.
|
inlinevirtual |
Definition at line 92 of file basegraph.h.
|
inlinevirtual |
Definition at line 94 of file basegraph.h.
|
staticprotected |
Definition at line 197 of file basegraph.h.
|
inlinevirtual |
Reimplemented in bio::VolumeGraph< T, P >.
Definition at line 84 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::isSubGraph().
|
inlinevirtual |
Definition at line 93 of file basegraph.h.
|
inlinevirtual |
Definition at line 69 of file basegraph.h.
|
inlinevirtual |
Definition at line 71 of file basegraph.h.
|
inlinevirtual |
Definition at line 73 of file basegraph.h.
|
inlinevirtual |
Definition at line 74 of file basegraph.h.
Referenced by bio::VolumeGraph< T, P >::vertex_iterator::operator=(), and bio::VolumeGraph< T, P >::edge_iterator::operator=().
|
inlinevirtual |
Definition at line 68 of file basegraph.h.
|
inlinevirtual |
Definition at line 70 of file basegraph.h.
|
inlinevirtual |
Definition at line 72 of file basegraph.h.
|
friend |
Definition at line 132 of file basegraph.h.