GraphNodeData
Description
Access payload through a GraphNode traversal handle.
Parameters
| Name | Direction | Description |
|---|---|---|
g |
in | Graph owning the node. |
node |
in | GraphNode handle to access. |
Failure
Does not return on invalid handle or graph/handle mismatch.
Usage example (Cross-references)
Usage examples (Cross-references)
GraphNodeForeachPredecessor(GraphGetNode(&graph, d), predecessor) {
predecessor_sum += GraphNodeData(&graph, predecessor);
predecessor_count += 1;
}- In
Graph.Ops.c:44:
GraphForeachNode(&graph, node) {
if (GraphNodeData(&graph, node) == 20) {
GraphMarkNodeForDeletion(node);
}- In
Graph.Ops.c:66:
result = result && (GraphNodeIdIndex(d) == GraphNodeIdIndex(b));
result = result && (GraphNodeIdGeneration(d) == (GraphNodeIdGeneration(b) + 1));
result = result && (GraphNodeData(&graph, GraphGetNode(&graph, d)) == 40);
result = result && !GraphNodeVisited(GraphGetNode(&graph, d)); result = result && GraphContainsNode(&graph, a) && GraphContainsNode(&graph, b) && GraphContainsNode(&graph, c);
result = result && GraphNodeAt(&graph, b) == 25;
result = result && GraphNodeData(&graph, node_b) == 25;
result = result && GraphNodeGetId(node_b) == b;
result = result && GraphNodeIndex(node_b) == GraphNodeIdIndex(b);
static bool test_graph_cross_graph_node_handle_deadend(void) {
WriteFmt("Testing GraphNodeData rejects foreign graph node handles (should abort)\n");
typedef Graph(int) IntGraph; GraphNode node = GraphGetNode(&graph_a, GraphAddNodeR(&graph_a, 10));
(void)GraphNodeData(&graph_b, node);
GraphDeinit(&graph_b);
Last updated on