1 ///////////////////////////////////////////////////////////////////////////////
3 // Add a node into a node set
5 ///////////////////////////////////////////////////////////////////////////////
6 inline void NodeSet::add_node (Node node
)
7 { int i
= node
->label_num();
8 if (i
+1 >= my_capacity
) grow(i
);
10 if (i
+1 >= my_size
) my_size
= i
+1;
13 inline Bool
NodeSet::contains (int i
) const
14 { return i
>= 0 && i
< my_size
&& my_nodes
[i
] != 0;
17 ///////////////////////////////////////////////////////////////////////////////
19 // Add an edge into an edge set
21 ///////////////////////////////////////////////////////////////////////////////
22 inline void EdgeSet::add_edge (Edge edge
)
23 { if (my_size
>= my_capacity
) grow(my_size
);
24 my_edges
[my_size
++] = edge
;
27 ///////////////////////////////////////////////////////////////////////////////
29 // Add a node into the domain of an adjacency list
31 ///////////////////////////////////////////////////////////////////////////////
32 inline void AdjList::add_node (Node node
)
33 { int i
= node
->label_num();
34 if (i
+1 >= my_capacity
) grow(i
);
35 my_edge_sets
[i
] = new EdgeSet
;
36 if (i
+1 >= my_size
) my_size
= i
+1;