GRAPH_NODE_TYPE
Description
Recover the node payload type from a Graph(T) handle. Walks g -> slots -> (typed) slot -> data pointer -> T. This relies on the GraphSlot(T) definition above, which carries T *data rather than void *data.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Init.h:108:
/// TAGS: Graph, Deinit, Cleanup
///
#define GraphDeinit(g) deinit_graph(GENERIC_GRAPH(g), sizeof(GRAPH_NODE_TYPE(g)))
#endif // MISRA_STD_CONTAINER_GRAPH_INIT_H
- In
Ops.h:172:
/// TAGS: Graph, Node, Delete, Commit
///
#define GraphCommitChanges(g) graph_commit_changes(GENERIC_GRAPH(g), sizeof(GRAPH_NODE_TYPE(g)))
#endif // MISRA_STD_CONTAINER_GRAPH_OPS_H
- In
Memory.h:30:
/// TAGS: Graph, Memory, Clear
///
#define GraphClear(g) clear_graph(GENERIC_GRAPH(g), sizeof(GRAPH_NODE_TYPE(g)))
///
- In
Memory.h:48:
/// TAGS: Graph, Memory, Reserve
///
#define GraphReserve(g, n) (ValidateGraph(g), reserve_graph(GENERIC_GRAPH(g), sizeof(GRAPH_NODE_TYPE(g)), (n)))
///
- In
Access.h:132:
/// TAGS: Graph, Node, Access
///
#define GraphNodeAt(g, node_id) (*(GRAPH_NODE_TYPE(g) *)graph_node_ptr_at(GENERIC_GRAPH(g), (node_id)))
///
- In
Access.h:148:
/// TAGS: Graph, Node, Access, Pointer
///
#define GraphNodePtrAt(g, node_id) ((GRAPH_NODE_TYPE(g) *)graph_node_ptr_at(GENERIC_GRAPH(g), (node_id)))
///
- In
Access.h:164:
/// TAGS: Graph, Node, Access, Handle
///
#define GraphNodeData(g, node) (*(GRAPH_NODE_TYPE(g) *)graph_node_data_ptr_checked(GENERIC_GRAPH(g), (node)))
///
- In
Access.h:181:
/// TAGS: Graph, Node, Access, Pointer, Handle
///
#define GraphNodeDataPtr(g, node) ((GRAPH_NODE_TYPE(g) *)graph_node_data_ptr_checked(GENERIC_GRAPH(g), (node)))
///
- In
Insert.h:41:
#define GraphAddNodeL(g, lval) \
(ValidateGraph(g), \
CHECK_TYPE_EQUIVALENCE(TYPE_OF(lval), GRAPH_NODE_TYPE(g)), \
graph_push_node_owned(GENERIC_GRAPH(g), &(lval), sizeof(GRAPH_NODE_TYPE(g))))- In
Insert.h:42:
(ValidateGraph(g), \
CHECK_TYPE_EQUIVALENCE(TYPE_OF(lval), GRAPH_NODE_TYPE(g)), \
graph_push_node_owned(GENERIC_GRAPH(g), &(lval), sizeof(GRAPH_NODE_TYPE(g))))
///
- In
Insert.h:64:
#define GraphAddNodeR(g, rval) \
(ValidateGraph(g), \
CHECK_TYPE_CONVERTIBLE(GRAPH_NODE_TYPE(g), rval), \
graph_push_node(GENERIC_GRAPH(g), &LVAL_AS(GRAPH_NODE_TYPE(g), rval), sizeof(GRAPH_NODE_TYPE(g))))- In
Insert.h:65:
(ValidateGraph(g), \
CHECK_TYPE_CONVERTIBLE(GRAPH_NODE_TYPE(g), rval), \
graph_push_node(GENERIC_GRAPH(g), &LVAL_AS(GRAPH_NODE_TYPE(g), rval), sizeof(GRAPH_NODE_TYPE(g))))
///
Last updated on