1#ifndef __GRAPH_HEADER__
2#define __GRAPH_HEADER__
25 const struct Graph *
this,
41 const struct Graph *
this,
48 const struct Graph *
this,
55 const struct Graph *
this,
58 unsigned int *sources,
64 const struct Graph *
this,
67 unsigned int *targets,
77 const struct Graph *
this,
88 const struct Graph *
this,
96 unsigned int *vertices,
101 const struct Graph *
this,
102 unsigned int predecessor,
104 unsigned int *vertices,
110 unsigned int predecessor,
115 const struct Graph *
this
void Graph_import(struct Graph *this, unsigned int index, unsigned int one, unsigned int two, unsigned int three, unsigned int four, unsigned int five, unsigned int six, int *error)
int Graph_hasEdge(const struct Graph *this, unsigned int source, unsigned int target, int *error)
It checks if a graph storage has a directed edge between two vertices.
void Graph_readSources(const struct Graph *this, unsigned int target, unsigned int length, unsigned int *sources, int *error)
It reads all source vertices that have an edge leading to a particular target vertex.
unsigned int Graph_countTargets(const struct Graph *this, unsigned int source, int *error)
It counts all target vertices that have an edge leading from a particular source vertex.
struct Graph * Graph_construct(unsigned int length, int *error)
It constructs a graph storage.
unsigned int Graph_getLength(const struct Graph *this)
unsigned int Graph_countSources(const struct Graph *this, unsigned int target, int *error)
It counts all source vertices that have an edge leading to a particular target vertex.
void Graph_addEdge(struct Graph *this, unsigned int source, unsigned int target, int *error)
It adds a directed edge from a source vertex to a target vertex.
unsigned int Graph_protrudeCluster(struct Graph *this, unsigned int predecessor, int *error)
unsigned int Graph_readLastTarget(const struct Graph *this, unsigned int source, int *error)
It reads the last target vertex of a source vertex, if it exists.
void Graph_export(struct Graph *this, unsigned int index, unsigned int *one, unsigned int *two, unsigned int *three, unsigned int *four, unsigned int *five, unsigned int *six, int *error)
unsigned int Graph_readLastSource(const struct Graph *this, unsigned int target, int *error)
It reads the last source vertex of a target vertex, if it exists.
struct Graph * Graph_destruct(struct Graph *this)
It destructs a graph storage.
void Graph_readCluster(const struct Graph *this, unsigned int predecessor, unsigned int length, unsigned int *vertices, int *error)
void Graph_readTargets(const struct Graph *this, unsigned int source, unsigned int length, unsigned int *targets, int *error)
It reads all target vertices that have an edge leading from a particular source vertex.
unsigned int Graph_addVertex(struct Graph *this, int *error)
It adds a vertex into a graph storage.
void Graph_addCluster(struct Graph *this, unsigned int length, unsigned int *vertices, int *error)