PIPS
graph.h File Reference

Go to the source code of this file.

Data Structures

struct  _newgen_struct_graph_
 
struct  _newgen_struct_successor_
 
struct  _newgen_struct_vertex_
 

Macros

#define _gen_graph_start   10
 
#define _newgen_vertex_label_domain_defined_
 
#define newgen_vertex_label(p)   (p) /**old hack compatible */
 
#define VERTEX_LABEL_NEWGEN_EXTERNAL   (_gen_graph_start+0)
 
#define VERTEX_LABEL_NEWGEN_DOMAIN   (VERTEX_LABEL_NEWGEN_EXTERNAL)
 
#define vertex_label_NEWGEN_DOMAIN   (VERTEX_LABEL_NEWGEN_EXTERNAL)
 
#define _newgen_arc_label_domain_defined_
 newgen_vertex_label_domain_defined More...
 
#define newgen_arc_label(p)   (p) /**old hack compatible */
 
#define ARC_LABEL_NEWGEN_EXTERNAL   (_gen_graph_start+1)
 
#define ARC_LABEL_NEWGEN_DOMAIN   (ARC_LABEL_NEWGEN_EXTERNAL)
 
#define arc_label_NEWGEN_DOMAIN   (ARC_LABEL_NEWGEN_EXTERNAL)
 
#define graph_domain   (_gen_graph_start+2)
 newgen_arc_label_domain_defined More...
 
#define _newgen_graph_domain_defined_
 
#define GRAPH_NEWGEN_DOMAIN   (graph_domain)
 
#define graph_NEWGEN_DOMAIN   (graph_domain)
 
#define successor_domain   (_gen_graph_start+3)
 newgen_graph_domain_defined More...
 
#define _newgen_successor_domain_defined_
 
#define SUCCESSOR_NEWGEN_DOMAIN   (successor_domain)
 
#define successor_NEWGEN_DOMAIN   (successor_domain)
 
#define vertex_domain   (_gen_graph_start+4)
 newgen_successor_domain_defined More...
 
#define _newgen_vertex_domain_defined_
 
#define VERTEX_NEWGEN_DOMAIN   (vertex_domain)
 
#define vertex_NEWGEN_DOMAIN   (vertex_domain)
 
#define GRAPH(x)   ((graph)((x).p))
 newgen_vertex_domain_defined More...
 
#define graph_CAST(x)   GRAPH(x)
 
#define GRAPH_CAST(x)   GRAPH(x)
 
#define GRAPH_(x)   ((x).e)
 
#define GRAPH_TYPE   graph
 
#define graph_TYPE   graph
 
#define graph_undefined   ((graph)gen_chunk_undefined)
 
#define graph_undefined_p(x)   ((x)==graph_undefined)
 
#define gen_GRAPH_cons   gen_graph_cons
 
#define graph_domain_number(x)   ((x)->_type_)
 
#define graph_vertices(x)   ((x)->_graph_holder_)
 
#define SUCCESSOR(x)   ((successor)((x).p))
 SUCCESSOR. More...
 
#define successor_CAST(x)   SUCCESSOR(x)
 
#define SUCCESSOR_CAST(x)   SUCCESSOR(x)
 
#define SUCCESSOR_(x)   ((x).e)
 
#define SUCCESSOR_TYPE   successor
 
#define successor_TYPE   successor
 
#define successor_undefined   ((successor)gen_chunk_undefined)
 
#define successor_undefined_p(x)   ((x)==successor_undefined)
 
#define gen_SUCCESSOR_cons   gen_successor_cons
 
#define successor_domain_number(x)   ((x)->_type_)
 
#define successor_arc_label_(x)   successor_arc_label(x) /**old hack compatible */
 
#define successor_arc_label(x)   ((x)->_successor_arc_label_)
 
#define successor_vertex_(x)   successor_vertex(x) /**old hack compatible */
 
#define successor_vertex(x)   ((x)->_successor_vertex_)
 
#define VERTEX(x)   ((vertex)((x).p))
 VERTEX. More...
 
#define vertex_CAST(x)   VERTEX(x)
 
#define VERTEX_CAST(x)   VERTEX(x)
 
#define VERTEX_(x)   ((x).e)
 
#define VERTEX_TYPE   vertex
 
#define vertex_TYPE   vertex
 
#define vertex_undefined   ((vertex)gen_chunk_undefined)
 
#define vertex_undefined_p(x)   ((x)==vertex_undefined)
 
#define gen_VERTEX_cons   gen_vertex_cons
 
#define vertex_domain_number(x)   ((x)->_type_)
 
#define vertex_vertex_label_(x)   vertex_vertex_label(x) /**old hack compatible */
 
#define vertex_vertex_label(x)   ((x)->_vertex_vertex_label_)
 
#define vertex_successors_(x)   vertex_successors(x) /**old hack compatible */
 
#define vertex_successors(x)   ((x)->_vertex_successors_)
 
#define graph_spec   "\--NEWGEN-START 10\n\external vertex_label;\n\external arc_label;\n\graph = vertices:vertex*;\n\successor = arc_label:arc_label x vertex:vertex;\n\vertex = vertex_label:vertex_label x successors:successor*;\n\"
 

Typedefs

typedef struct _newgen_struct_graph_graph
 
typedef struct _newgen_struct_successor_successor
 
typedef struct _newgen_struct_vertex_vertex
 

Functions

graph copy_graph (graph)
 GRAPH. More...
 
void free_graph (graph)
 
graph check_graph (graph)
 
bool graph_consistent_p (graph)
 
bool graph_defined_p (graph)
 
list gen_graph_cons (graph, list)
 
void graph_assign_contents (graph, graph)
 
void graph_non_recursive_free (graph)
 
void write_graph (FILE *, graph)
 
graph read_graph (FILE *)
 
graph make_graph (list)
 
successor copy_successor (successor)
 SUCCESSOR. More...
 
void free_successor (successor)
 
successor check_successor (successor)
 
bool successor_consistent_p (successor)
 
bool successor_defined_p (successor)
 
list gen_successor_cons (successor, list)
 
void successor_assign_contents (successor, successor)
 
void successor_non_recursive_free (successor)
 
void write_successor (FILE *, successor)
 
successor read_successor (FILE *)
 
successor make_successor (arc_label, vertex)
 
vertex copy_vertex (vertex)
 VERTEX. More...
 
void free_vertex (vertex)
 
vertex check_vertex (vertex)
 
bool vertex_consistent_p (vertex)
 
bool vertex_defined_p (vertex)
 
list gen_vertex_cons (vertex, list)
 
void vertex_assign_contents (vertex, vertex)
 
void vertex_non_recursive_free (vertex)
 
void write_vertex (FILE *, vertex)
 
vertex read_vertex (FILE *)
 
vertex make_vertex (vertex_label, list)
 

Macro Definition Documentation

◆ _gen_graph_start

#define _gen_graph_start   10

Definition at line 3 of file graph.h.

◆ _newgen_arc_label_domain_defined_

#define _newgen_arc_label_domain_defined_

newgen_vertex_label_domain_defined

Definition at line 19 of file graph.h.

◆ _newgen_graph_domain_defined_

#define _newgen_graph_domain_defined_

Definition at line 28 of file graph.h.

◆ _newgen_successor_domain_defined_

#define _newgen_successor_domain_defined_

Definition at line 36 of file graph.h.

◆ _newgen_vertex_domain_defined_

#define _newgen_vertex_domain_defined_

Definition at line 44 of file graph.h.

◆ _newgen_vertex_label_domain_defined_

#define _newgen_vertex_label_domain_defined_

Definition at line 11 of file graph.h.

◆ ARC_LABEL_NEWGEN_DOMAIN

#define ARC_LABEL_NEWGEN_DOMAIN   (ARC_LABEL_NEWGEN_EXTERNAL)

Definition at line 22 of file graph.h.

◆ arc_label_NEWGEN_DOMAIN

#define arc_label_NEWGEN_DOMAIN   (ARC_LABEL_NEWGEN_EXTERNAL)

Definition at line 23 of file graph.h.

◆ ARC_LABEL_NEWGEN_EXTERNAL

#define ARC_LABEL_NEWGEN_EXTERNAL   (_gen_graph_start+1)

Definition at line 21 of file graph.h.

◆ gen_GRAPH_cons

#define gen_GRAPH_cons   gen_graph_cons

Definition at line 68 of file graph.h.

◆ gen_SUCCESSOR_cons

#define gen_SUCCESSOR_cons   gen_successor_cons

Definition at line 100 of file graph.h.

◆ gen_VERTEX_cons

#define gen_VERTEX_cons   gen_vertex_cons

Definition at line 136 of file graph.h.

◆ GRAPH

#define GRAPH (   x)    ((graph)((x).p))

newgen_vertex_domain_defined

GRAPH

Definition at line 54 of file graph.h.

◆ GRAPH_

#define GRAPH_ (   x)    ((x).e)

Definition at line 57 of file graph.h.

◆ graph_CAST

#define graph_CAST (   x)    GRAPH(x)

Definition at line 55 of file graph.h.

◆ GRAPH_CAST

#define GRAPH_CAST (   x)    GRAPH(x)

Definition at line 56 of file graph.h.

◆ graph_domain

#define graph_domain   (_gen_graph_start+2)

newgen_arc_label_domain_defined

Definition at line 26 of file graph.h.

◆ graph_domain_number

#define graph_domain_number (   x)    ((x)->_type_)

Definition at line 81 of file graph.h.

◆ GRAPH_NEWGEN_DOMAIN

#define GRAPH_NEWGEN_DOMAIN   (graph_domain)

Definition at line 29 of file graph.h.

◆ graph_NEWGEN_DOMAIN

#define graph_NEWGEN_DOMAIN   (graph_domain)

Definition at line 30 of file graph.h.

◆ graph_spec

#define graph_spec   "\--NEWGEN-START 10\n\external vertex_label;\n\external arc_label;\n\graph = vertices:vertex*;\n\successor = arc_label:arc_label x vertex:vertex;\n\vertex = vertex_label:vertex_label x successors:successor*;\n\"

Definition at line 156 of file graph.h.

◆ GRAPH_TYPE

#define GRAPH_TYPE   graph

Definition at line 58 of file graph.h.

◆ graph_TYPE

#define graph_TYPE   graph

Definition at line 59 of file graph.h.

◆ graph_undefined

#define graph_undefined   ((graph)gen_chunk_undefined)

Definition at line 60 of file graph.h.

◆ graph_undefined_p

#define graph_undefined_p (   x)    ((x)==graph_undefined)

Definition at line 61 of file graph.h.

◆ graph_vertices

#define graph_vertices (   x)    ((x)->_graph_holder_)

Definition at line 82 of file graph.h.

◆ newgen_arc_label

#define newgen_arc_label (   p)    (p) /**old hack compatible */

Definition at line 20 of file graph.h.

◆ newgen_vertex_label

#define newgen_vertex_label (   p)    (p) /**old hack compatible */

Definition at line 12 of file graph.h.

◆ SUCCESSOR

#define SUCCESSOR (   x)    ((successor)((x).p))

SUCCESSOR.

Definition at line 86 of file graph.h.

◆ SUCCESSOR_

#define SUCCESSOR_ (   x)    ((x).e)

Definition at line 89 of file graph.h.

◆ successor_arc_label

#define successor_arc_label (   x)    ((x)->_successor_arc_label_)

Definition at line 116 of file graph.h.

◆ successor_arc_label_

#define successor_arc_label_ (   x)    successor_arc_label(x) /**old hack compatible */

Definition at line 115 of file graph.h.

◆ successor_CAST

#define successor_CAST (   x)    SUCCESSOR(x)

Definition at line 87 of file graph.h.

◆ SUCCESSOR_CAST

#define SUCCESSOR_CAST (   x)    SUCCESSOR(x)

Definition at line 88 of file graph.h.

◆ successor_domain

#define successor_domain   (_gen_graph_start+3)

newgen_graph_domain_defined

Definition at line 34 of file graph.h.

◆ successor_domain_number

#define successor_domain_number (   x)    ((x)->_type_)

Definition at line 114 of file graph.h.

◆ SUCCESSOR_NEWGEN_DOMAIN

#define SUCCESSOR_NEWGEN_DOMAIN   (successor_domain)

Definition at line 37 of file graph.h.

◆ successor_NEWGEN_DOMAIN

#define successor_NEWGEN_DOMAIN   (successor_domain)

Definition at line 38 of file graph.h.

◆ SUCCESSOR_TYPE

#define SUCCESSOR_TYPE   successor

Definition at line 90 of file graph.h.

◆ successor_TYPE

#define successor_TYPE   successor

Definition at line 91 of file graph.h.

◆ successor_undefined

#define successor_undefined   ((successor)gen_chunk_undefined)

Definition at line 92 of file graph.h.

◆ successor_undefined_p

#define successor_undefined_p (   x)    ((x)==successor_undefined)

Definition at line 93 of file graph.h.

◆ successor_vertex

#define successor_vertex (   x)    ((x)->_successor_vertex_)

Definition at line 118 of file graph.h.

◆ successor_vertex_

#define successor_vertex_ (   x)    successor_vertex(x) /**old hack compatible */

Definition at line 117 of file graph.h.

◆ VERTEX

#define VERTEX (   x)    ((vertex)((x).p))

VERTEX.

Definition at line 122 of file graph.h.

◆ VERTEX_

#define VERTEX_ (   x)    ((x).e)

Definition at line 125 of file graph.h.

◆ vertex_CAST

#define vertex_CAST (   x)    VERTEX(x)

Definition at line 123 of file graph.h.

◆ VERTEX_CAST

#define VERTEX_CAST (   x)    VERTEX(x)

Definition at line 124 of file graph.h.

◆ vertex_domain

#define vertex_domain   (_gen_graph_start+4)

newgen_successor_domain_defined

Definition at line 42 of file graph.h.

◆ vertex_domain_number

#define vertex_domain_number (   x)    ((x)->_type_)

Definition at line 150 of file graph.h.

◆ VERTEX_LABEL_NEWGEN_DOMAIN

#define VERTEX_LABEL_NEWGEN_DOMAIN   (VERTEX_LABEL_NEWGEN_EXTERNAL)

Definition at line 14 of file graph.h.

◆ vertex_label_NEWGEN_DOMAIN

#define vertex_label_NEWGEN_DOMAIN   (VERTEX_LABEL_NEWGEN_EXTERNAL)

Definition at line 15 of file graph.h.

◆ VERTEX_LABEL_NEWGEN_EXTERNAL

#define VERTEX_LABEL_NEWGEN_EXTERNAL   (_gen_graph_start+0)

Definition at line 13 of file graph.h.

◆ VERTEX_NEWGEN_DOMAIN

#define VERTEX_NEWGEN_DOMAIN   (vertex_domain)

Definition at line 45 of file graph.h.

◆ vertex_NEWGEN_DOMAIN

#define vertex_NEWGEN_DOMAIN   (vertex_domain)

Definition at line 46 of file graph.h.

◆ vertex_successors

#define vertex_successors (   x)    ((x)->_vertex_successors_)

Definition at line 154 of file graph.h.

◆ vertex_successors_

#define vertex_successors_ (   x)    vertex_successors(x) /**old hack compatible */

Definition at line 153 of file graph.h.

◆ VERTEX_TYPE

#define VERTEX_TYPE   vertex

Definition at line 126 of file graph.h.

◆ vertex_TYPE

#define vertex_TYPE   vertex

Definition at line 127 of file graph.h.

◆ vertex_undefined

#define vertex_undefined   ((vertex)gen_chunk_undefined)

Definition at line 128 of file graph.h.

◆ vertex_undefined_p

#define vertex_undefined_p (   x)    ((x)==vertex_undefined)

Definition at line 129 of file graph.h.

◆ vertex_vertex_label

#define vertex_vertex_label (   x)    ((x)->_vertex_vertex_label_)

Definition at line 152 of file graph.h.

◆ vertex_vertex_label_

#define vertex_vertex_label_ (   x)    vertex_vertex_label(x) /**old hack compatible */

Definition at line 151 of file graph.h.

Typedef Documentation

◆ graph

typedef struct _newgen_struct_graph_* graph

Definition at line 31 of file graph.h.

◆ successor

Definition at line 39 of file graph.h.

◆ vertex

typedef struct _newgen_struct_vertex_* vertex

Definition at line 47 of file graph.h.

Function Documentation

◆ check_graph()

graph check_graph ( graph  p)

Definition at line 26 of file graph.c.

26  {
27  return (graph) gen_check((gen_chunk*) p, graph_domain);
28 }
gen_chunk * gen_check(gen_chunk *obj, int t)
GEN_CHECK checks that the gen_chunk received OBJ is of the appropriate TYPE.
Definition: genClib.c:2356
#define graph_domain
newgen_arc_label_domain_defined
Definition: graph.h:26
A gen_chunk is used to store every object.
Definition: genC.h:58

References gen_check(), and graph_domain.

Referenced by graph_assign_contents(), and graph_consistent_p().

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

◆ check_successor()

successor check_successor ( successor  p)

Definition at line 68 of file graph.c.

68  {
70 }
#define successor_domain
newgen_graph_domain_defined
Definition: graph.h:34

References gen_check(), and successor_domain.

Referenced by successor_assign_contents(), and successor_consistent_p().

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

◆ check_vertex()

vertex check_vertex ( vertex  p)

Definition at line 110 of file graph.c.

110  {
111  return (vertex) gen_check((gen_chunk*) p, vertex_domain);
112 }
#define vertex_domain
newgen_successor_domain_defined
Definition: graph.h:42

References gen_check(), and vertex_domain.

Referenced by vertex_assign_contents(), and vertex_consistent_p().

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

◆ copy_graph()

graph copy_graph ( graph  p)

GRAPH.

Definition at line 20 of file graph.c.

20  {
21  return (graph) gen_copy_tree((gen_chunk*) p);
22 }
gen_chunk * gen_copy_tree(gen_chunk *obj)
Definition: genClib.c:1429

References gen_copy_tree().

Referenced by adg_pure_dfg2(), compute_dg_on_statement_from_chains(), icm_codegen(), rice_dependence_graph(), and sequence_dependence_graph().

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

◆ copy_successor()

successor copy_successor ( successor  p)

SUCCESSOR.

Definition at line 62 of file graph.c.

62  {
63  return (successor) gen_copy_tree((gen_chunk*) p);
64 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_vertex()

vertex copy_vertex ( vertex  p)

VERTEX.

Definition at line 104 of file graph.c.

104  {
105  return (vertex) gen_copy_tree((gen_chunk*) p);
106 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ free_graph()

void free_graph ( graph  p)

Definition at line 23 of file graph.c.

23  {
24  gen_free((gen_chunk*) p);
25 }
void gen_free(gen_chunk *obj)
version without shared_pointers.
Definition: genClib.c:992

References gen_free().

Referenced by control_graph_recursive_decomposition(), and icm_codegen().

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

◆ free_successor()

void free_successor ( successor  p)

Definition at line 65 of file graph.c.

65  {
66  gen_free((gen_chunk*) p);
67 }

References gen_free().

Referenced by rice_update_dependence_graph().

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

◆ free_vertex()

void free_vertex ( vertex  p)

Definition at line 107 of file graph.c.

107  {
108  gen_free((gen_chunk*) p);
109 }

References gen_free().

Referenced by add_node_to_interval(), and safe_free_vertex().

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

◆ gen_graph_cons()

list gen_graph_cons ( graph  p,
list  l 
)

Definition at line 36 of file graph.c.

36  {
37  return gen_typed_cons(GRAPH_NEWGEN_DOMAIN, p, l);
38 }
#define GRAPH_NEWGEN_DOMAIN
Definition: graph.h:29
list gen_typed_cons(_int type, const void *item, const list next)
CONS a list with minimal type checking this cannot be done within the CONS macro because possible fun...
Definition: list.c:900

References gen_typed_cons(), and GRAPH_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_successor_cons()

list gen_successor_cons ( successor  p,
list  l 
)

Definition at line 78 of file graph.c.

78  {
80 }
#define SUCCESSOR_NEWGEN_DOMAIN
Definition: hierarchize.c:76

References gen_typed_cons(), and SUCCESSOR_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_vertex_cons()

list gen_vertex_cons ( vertex  p,
list  l 
)

Definition at line 120 of file graph.c.

120  {
121  return gen_typed_cons(VERTEX_NEWGEN_DOMAIN, p, l);
122 }
#define VERTEX_NEWGEN_DOMAIN
Definition: dg.h:26

References gen_typed_cons(), and VERTEX_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ graph_assign_contents()

void graph_assign_contents ( graph  r,
graph  v 
)

Definition at line 39 of file graph.c.

39  {
40  check_graph(r);
41  check_graph(v);
42  message_assert("defined references to domain graph",
44  memcpy(r, v, sizeof(struct _newgen_struct_graph_));
45 }
graph check_graph(graph p)
Definition: graph.c:26
bool graph_defined_p(graph p)
Definition: graph.c:33
#define message_assert(msg, ex)
Definition: newgen_assert.h:47

References check_graph(), graph_defined_p(), and message_assert.

+ Here is the call graph for this function:

◆ graph_consistent_p()

bool graph_consistent_p ( graph  p)

Definition at line 29 of file graph.c.

29  {
30  check_graph(p);
31  return gen_consistent_p((gen_chunk*) p);
32 }
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
Definition: genClib.c:2398

References check_graph(), and gen_consistent_p().

Referenced by rice_dependence_graph().

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

◆ graph_defined_p()

bool graph_defined_p ( graph  p)

Definition at line 33 of file graph.c.

33  {
34  return gen_defined_p((gen_chunk*) p);
35 }
int gen_defined_p(gen_chunk *obj)
Definition: genClib.c:2438

References gen_defined_p().

Referenced by graph_assign_contents().

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

◆ graph_non_recursive_free()

void graph_non_recursive_free ( graph  p)

Definition at line 46 of file graph.c.

46  {
47  // should clear up contents...
48  free(p);
49 }
void free(void *)

References free().

+ Here is the call graph for this function:

◆ make_graph()

graph make_graph ( list  a)

Definition at line 56 of file graph.c.

56  {
57  return (graph) gen_alloc(2*sizeof(gen_chunk), GEN_CHECK_ALLOC, graph_domain, a);
58 }
#define GEN_CHECK_ALLOC
Definition: genC.h:307
gen_chunk * gen_alloc(int size, int gen_check_p, int dom,...)
allocates something in newgen.
Definition: genClib.c:298

References gen_alloc(), GEN_CHECK_ALLOC, and graph_domain.

Referenced by adg_dataflowgraph(), adg_dataflowgraph_with_extremities(), adg_dup_disjunctive_nodes(), adg_only_call_WR_dependence(), adg_pure_dfg(), adg_reverse_graph(), control_graph_to_interval_graph_format(), dfg_reverse_graph(), init_new_dfg(), my_dfg_reverse_graph(), and statement_dependence_graph().

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

◆ make_successor()

successor make_successor ( arc_label  a1,
vertex  a2 
)

◆ make_vertex()

◆ read_graph()

graph read_graph ( FILE *  f)

Definition at line 53 of file graph.c.

53  {
54  return (graph) gen_read(f);
55 }
gen_chunk * gen_read(FILE *file)
GEN_READ reads any object from the FILE stream.
Definition: genClib.c:2323
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Definition: offsets.c:15

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_successor()

successor read_successor ( FILE *  f)

Definition at line 95 of file graph.c.

95  {
96  return (successor) gen_read(f);
97 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_vertex()

vertex read_vertex ( FILE *  f)

Definition at line 137 of file graph.c.

137  {
138  return (vertex) gen_read(f);
139 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ successor_assign_contents()

void successor_assign_contents ( successor  r,
successor  v 
)

Definition at line 81 of file graph.c.

81  {
82  check_successor(r);
83  check_successor(v);
84  message_assert("defined references to domain successor",
86  memcpy(r, v, sizeof(struct _newgen_struct_successor_));
87 }
successor check_successor(successor p)
Definition: graph.c:68
bool successor_defined_p(successor p)
Definition: graph.c:75

References check_successor(), message_assert, and successor_defined_p().

+ Here is the call graph for this function:

◆ successor_consistent_p()

bool successor_consistent_p ( successor  p)

Definition at line 71 of file graph.c.

71  {
72  check_successor(p);
73  return gen_consistent_p((gen_chunk*) p);
74 }

References check_successor(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ successor_defined_p()

bool successor_defined_p ( successor  p)

Definition at line 75 of file graph.c.

75  {
76  return gen_defined_p((gen_chunk*) p);
77 }

References gen_defined_p().

Referenced by successor_assign_contents().

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

◆ successor_non_recursive_free()

void successor_non_recursive_free ( successor  p)

Definition at line 88 of file graph.c.

88  {
89  // should clear up contents...
90  free(p);
91 }

References free().

+ Here is the call graph for this function:

◆ vertex_assign_contents()

void vertex_assign_contents ( vertex  r,
vertex  v 
)

Definition at line 123 of file graph.c.

123  {
124  check_vertex(r);
125  check_vertex(v);
126  message_assert("defined references to domain vertex",
128  memcpy(r, v, sizeof(struct _newgen_struct_vertex_));
129 }
vertex check_vertex(vertex p)
Definition: graph.c:110
bool vertex_defined_p(vertex p)
Definition: graph.c:117

References check_vertex(), message_assert, and vertex_defined_p().

+ Here is the call graph for this function:

◆ vertex_consistent_p()

bool vertex_consistent_p ( vertex  p)

Definition at line 113 of file graph.c.

113  {
114  check_vertex(p);
115  return gen_consistent_p((gen_chunk*) p);
116 }

References check_vertex(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ vertex_defined_p()

bool vertex_defined_p ( vertex  p)

Definition at line 117 of file graph.c.

117  {
118  return gen_defined_p((gen_chunk*) p);
119 }

References gen_defined_p().

Referenced by vertex_assign_contents().

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

◆ vertex_non_recursive_free()

void vertex_non_recursive_free ( vertex  p)

Definition at line 130 of file graph.c.

130  {
131  // should clear up contents...
132  free(p);
133 }

References free().

+ Here is the call graph for this function:

◆ write_graph()

void write_graph ( FILE *  f,
graph  p 
)

Definition at line 50 of file graph.c.

50  {
51  gen_write(f, (gen_chunk*) p);
52 }
void gen_write(FILE *fd, gen_chunk *obj)
GEN_WRITE writes the OBJect on the stream FD.
Definition: genClib.c:1745

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_successor()

void write_successor ( FILE *  f,
successor  p 
)

Definition at line 92 of file graph.c.

92  {
93  gen_write(f, (gen_chunk*) p);
94 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_vertex()

void write_vertex ( FILE *  f,
vertex  p 
)

Definition at line 134 of file graph.c.

134  {
135  gen_write(f, (gen_chunk*) p);
136 }

References f(), and gen_write().

+ Here is the call graph for this function: