class Graph (abstract) graph class.
| | Graph () |
| | ~Graph () |
| | AddNode (Node *node) |
| | AddEdge (Edge *edge) |
| | RemoveNode (Node *node) |
| | RemoveEdge (Edge *edge) |
| | HasNode (Node *node) |
| | HasEdge (Edge *edge) |
| | ClearNodes () |
| | ClearEdges () |
| | CheckConnection (int stype1, int stype2, int edgetype) checks if edge type may connect subject types 1 and 2. |
| | IsConnected (Subject *s1, Subject *s2) checks if there is an edge in the graph that connects s1 and s2. |
| | IsConnected (Subject *s1, Subject *s2, const string *n) same as above, but edge should also have name n. |
| | IsConnected (Subject *s1, Subject *s2, int t) here edge should also be of type t. |
| | IsConnected (Subject *s1, Subject *s2, const string *n, int t) combination of the two members above. |
| | CompleteSubjects (List<Subject *> *l) add to l all edges which connect the subjects. |
| | CompleteSubject (List<Subject *> *l, Subject *s) add to l all edges of which subject s is part. |
| | CompleteSubject (List<Subject *> *l, Subject *s1, Subject *s2) add to l all edges which connect subjects s1 and s2. |
| | CompleteEdges (List<Subject *> *l) add to l all subjects which are connected by edges already in l. |
| | GetConnected (List<Subject *> *l, Subject *s) add to l the subjects that are directly connected to subject s. |
| | GetNodes (List<Subject *> *l) add to l all nodes in the graph. |
| | GetNodes (List<Subject *> *l, int t) add to l all nodes of type t in the graph. |
| | GetNodes (List<Subject *> *l, const string *n) add to l all nodes having name n in the graph. |
| | GetNodes (List<Subject *> *l, const string *n, int t) combination of two above members. |
| | GetEdges (List<Subject *> *l) add to l all edges in the graph. |
| | GetEdges (List<Subject *> *l, int t) add to l all edges of type t in the graph. |
| | GetEdges (List<Subject *> *l, const string *n) add to l all edges having name n in the graph. |
| | GetEdges (List<Subject *> *l, const string *n, int t) combination of two above members. |
| | GetEdgesFrom (List<Subject *> *l, Subject *s) add to l all edges departing from subject s in the graph. |
| | GetEdgesFrom (List<Subject *> *l, Subject *s, int t) add to l all edges of type t departing from subject s. |
| | GetEdgesFrom (List<Subject *> *l, Subject *s, const string *n) add to l all edges having name n departing from subject s. |
| | GetEdgesFrom (List<Subject *> *l, Subject *s, const string *n, int t) combination of two above members. |
| | GetEdgesTo (List<Subject *> *l, Subject *s) add to l all edges going to subject s. |
| | GetEdgesTo (List<Subject *> *l, Subject *s, int t) add to l all edges of type t going to subject s. |
| | GetEdgesTo (List<Subject *> *l, Subject *s, const string *n) add to l all edges having name n going to subject s. |
| | GetEdgesTo (List<Subject *> *l, Subject *s, const string *n, int t) combination of the two above members. |
| | GetEdges (List<Subject *> *l, Subject *from, Subject *to) add to l all edges between subjects from and to |
| | GetEdges (List<Subject *> *l, Subject *from, Subject *to, int t) add to l all edges of type t between subjects from and to |
| | GetEdges (List<Subject *> *l, Subject *from, Subject *to, const string *n) combination of the two above members. |
| | GetEdges (List<Subject *> *l, Subject *from, Subject *to, const string *n, int t) combination of two above members. |
| | CountNodes () return number of nodes in the graph |
| | CountNodes (int t) return number of nodes of type t in the graph |
| | CountNodes (const string *n) return number of nodes having name n in the graph |
| | CountNodes (const string *n, int t) return nr. of nodes of type t, having name n in the graph |
| | CountEdges () return number of edges in the graph |
| | CountEdges (int t) return number of edges of type t in the graph |
| | CountEdges (const string *n) return number of edges having name n in the graph |
| | CountEdges (const string *n, int t) return nr. of edges of type t, having name n in the graph |
| | CountEdgesFrom (Subject *s) return nr. of edges departing from subject s |
| | CountEdgesFrom (Subject *s, int t) return nr. of edges of type t departing from subject s |
| | CountEdgesFrom (Subject *s, const string *n) return number of edges having name n departing from subject s |
| | CountEdgesFrom (Subject *s, const string *n, int t) return number of edges of type t, having name n, departing from subject s |
| | CountEdgesTo (Subject *s) return nr. of edges going to subject s |
| | CountEdgesTo (Subject *s, int t) return nr. of edges of type t going to subject s |
| | CountEdgesTo (Subject *s, const string *n) return number of edges having name n going to subject s |
| | CountEdgesTo (Subject *s, const string *n, int t) return number of edges of type t, having name n going to subject s |
| | CountEdges (Subject *s1, Subject *s2) return number of edges between subjects s1 and s2 |
| | CountEdges (Subject *s1, Subject *s2, int t) return number of edges of type t between subjects s1 and s2 |
| | CountEdges (Subject *s1, Subject *s2, const string *n) return number of edges having name n between subjects s1 and s2 |
| | CountEdges (Subject *s1, Subject *s2, const string *n, int t) return number of edges of type t, having name n between subjects s1 and s2 |
| | PathExists (Subject *s1, Subject *s2) returns if there is some connected path of graph edges from s1 to s2. |
| | PathExists (Subject *s1, Subject *s2, int t) returns if there is some conn. path of graph edges of type t from s1 to s2. |
| | UndirectedPathExists (Subject *s1, Subject *s2) return if there's path from s1 to s2. irregardless edge direction. |
| | WriteSubjects (OutputFile *f) Writes all nodes and edges to outputfile f. |
| | InitConnections () initializes the table containing all allowed connections. |
| | SetCounter (int n) some counter can be used |
| | GetCounter () |
| | SetIndexPrefix (const char *s) some string can be used as index prefix. |
| | SetIndexPrefix (const string *s) |
| | GetIndexPrefix () const |
| | GetIndex (string *s) index string := prefix + counter. |
| | GetNextIndex (string *index) assign to index a new unique index |
| | CountIndexes (const string *index) return number of nodes in the graph having this index. |
| | Max. number of different connected types and edge types. |
| | nodeTypes Allowed 'connected' types in graph (depends on type of editor). |
| | edgeTypes Allowed edges type in graph (depends on type of editor). |
| | connections [MAX_TYPES][MAX_TYPES][MAX_TYPES] matrix to store what types can be connected by what edge types. |
| | nodes the graph nodes. |
| | edges the graph edges. |
| | PathExists (Subject *s1, Subject *s2, int edgetype, bool Directed) used by other PathExists. |
| | CountIndex (const string *index, List<Subject *> *l) return number of nodes in l having this index |
(abstract) graph class.
virtual ~Graph()
void AddNode(Node *node)
void AddEdge(Edge *edge)
void RemoveNode(Node *node)
void RemoveEdge(Edge *edge)
bool HasNode(Node *node)
bool HasEdge(Edge *edge)
void ClearNodes()
void ClearEdges()
bool CheckConnection(int stype1, int stype2, int edgetype)
bool IsConnected(Subject *s1, Subject *s2)
bool IsConnected(Subject *s1, Subject *s2, const string *n)
bool IsConnected(Subject *s1, Subject *s2, int t)
bool IsConnected(Subject *s1, Subject *s2, const string *n, int t)
int CompleteSubjects(List<Subject *> *l)
int CompleteSubject(List<Subject *> *l, Subject *s)
int CompleteSubject(List<Subject *> *l, Subject *s1, Subject *s2)
int CompleteEdges(List<Subject *> *l)
int GetConnected(List<Subject *> *l, Subject *s)
int GetNodes(List<Subject *> *l)
int GetNodes(List<Subject *> *l, int t)
int GetNodes(List<Subject *> *l, const string *n)
int GetNodes(List<Subject *> *l, const string *n, int t)
int GetEdges(List<Subject *> *l)
int GetEdges(List<Subject *> *l, int t)
int GetEdges(List<Subject *> *l, const string *n)
int GetEdges(List<Subject *> *l, const string *n, int t)
int GetEdgesFrom(List<Subject *> *l, Subject *s)
int GetEdgesFrom(List<Subject *> *l, Subject *s, int t)
int GetEdgesFrom(List<Subject *> *l, Subject *s, const string *n)
int GetEdgesFrom(List<Subject *> *l, Subject *s, const string *n, int t)
int GetEdgesTo(List<Subject *> *l, Subject *s)
int GetEdgesTo(List<Subject *> *l, Subject *s, int t)
int GetEdgesTo(List<Subject *> *l, Subject *s, const string *n)
int GetEdgesTo(List<Subject *> *l, Subject *s, const string *n, int t)
int GetEdges(List<Subject *> *l, Subject *from, Subject *to)
int GetEdges(List<Subject *> *l, Subject *from, Subject *to, int t)
int GetEdges(List<Subject *> *l, Subject *from, Subject *to, const string *n)
int GetEdges(List<Subject *> *l, Subject *from, Subject *to, const string *n, int t)
int CountNodes()
int CountNodes(int t)
int CountNodes(const string *n)
int CountNodes(const string *n, int t)
int CountEdges()
int CountEdges(int t)
int CountEdges(const string *n)
int CountEdges(const string *n, int t)
int CountEdgesFrom(Subject *s)
int CountEdgesFrom(Subject *s, int t)
int CountEdgesFrom(Subject *s, const string *n)
int CountEdgesFrom(Subject *s, const string *n, int t)
int CountEdgesTo(Subject *s)
int CountEdgesTo(Subject *s, int t)
int CountEdgesTo(Subject *s, const string *n)
int CountEdgesTo(Subject *s, const string *n, int t)
int CountEdges(Subject *s1, Subject *s2)
int CountEdges(Subject *s1, Subject *s2, int t)
int CountEdges(Subject *s1, Subject *s2, const string *n)
int CountEdges(Subject *s1, Subject *s2, const string *n, int t)
bool PathExists(Subject *s1, Subject *s2)
bool PathExists(Subject *s1, Subject *s2, int t)
bool UndirectedPathExists(Subject *s1, Subject *s2)
void WriteSubjects(OutputFile *f)
virtual void InitConnections()
void SetCounter(int n)
int GetCounter()
void SetIndexPrefix(const char *s)
void SetIndexPrefix(const string *s)
const string* GetIndexPrefix() const
void GetIndex(string *s)
virtual void GetNextIndex(string *index)
virtual int CountIndexes(const string *index)
int* nodeTypes
int* edgeTypes
enum
int connections[MAX_TYPES][MAX_TYPES][MAX_TYPES]
List <Node *> * nodes
List <Edge *> * edges
bool PathExists(Subject *s1, Subject *s2, int edgetype, bool Directed)
int CountIndex(const string *index, List<Subject *> *l)
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de