Graphviz 13.1.3~dev.20250829.0113
Loading...
Searching...
No Matches
rawgraph.c File Reference
#include <ortho/rawgraph.h>
#include <stddef.h>
#include <util/alloc.h>
#include <util/list.h>
Include dependency graph for rawgraph.c:

Go to the source code of this file.

Macros

#define UNSCANNED   0
 
#define SCANNING   1
 
#define SCANNED   2
 

Functions

rawgraphmake_graph (size_t n)
 makes a graph with n vertices, 0 edges
 
void free_graph (rawgraph *g)
 
void insert_edge (rawgraph *g, size_t v1, size_t v2)
 inserts edge FROM v1 to v2
 
void remove_redge (rawgraph *g, size_t v1, size_t v2)
 removes any edge between v1 to v2 – irrespective of direction
 
bool edge_exists (rawgraph *g, size_t v1, size_t v2)
 tests if there is an edge FROM v1 TO v2
 
typedef LIST (size_t)
 
void top_sort (rawgraph *g)
 

Macro Definition Documentation

◆ SCANNED

#define SCANNED   2

Definition at line 18 of file rawgraph.c.

◆ SCANNING

#define SCANNING   1

Definition at line 17 of file rawgraph.c.

◆ UNSCANNED

#define UNSCANNED   0

Definition at line 16 of file rawgraph.c.

Function Documentation

◆ edge_exists()

bool edge_exists ( rawgraph g,
size_t  v1,
size_t  v2 
)

Definition at line 50 of file rawgraph.c.

References vertex::adj_list, LIST_CONTAINS, and rawgraph::vertices.

Referenced by addPEdges(), insert_edge(), and set_parallel_edges().

Here is the caller graph for this function:

◆ free_graph()

void free_graph ( rawgraph g)

Definition at line 31 of file rawgraph.c.

References vertex::adj_list, free(), LIST_FREE, rawgraph::nvs, and rawgraph::vertices.

Here is the call graph for this function:

◆ insert_edge()

void insert_edge ( rawgraph g,
size_t  v1,
size_t  v2 
)

Definition at line 39 of file rawgraph.c.

References vertex::adj_list, edge_exists(), LIST_APPEND, and rawgraph::vertices.

Referenced by add_edges_in_G(), and set_parallel_edges().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LIST()

typedef LIST ( size_t  )

◆ make_graph()

rawgraph * make_graph ( size_t  n)

Definition at line 20 of file rawgraph.c.

References vertex::color, gv_alloc(), gv_calloc(), rawgraph::nvs, UNSCANNED, and rawgraph::vertices.

Referenced by create_graphs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove_redge()

void remove_redge ( rawgraph g,
size_t  v1,
size_t  v2 
)

Definition at line 45 of file rawgraph.c.

References vertex::adj_list, LIST_REMOVE, and rawgraph::vertices.

Referenced by removeEdge().

Here is the caller graph for this function:

◆ top_sort()

void top_sort ( rawgraph g)

Definition at line 75 of file rawgraph.c.

References vertex::color, LIST_FREE, LIST_IS_EMPTY, LIST_POP_BACK, LIST_RESERVE, rawgraph::nvs, vertex::topsort_order, UNSCANNED, and rawgraph::vertices.

Referenced by assignTrackNo().

Here is the caller graph for this function: