22#define CONS_NODE(_cell_, _head_) ((struct cons_node){.cell = (_cell_), .head = (_head_)})
32#define CONS_NODE_NULL CONS_NODE(CONS(NULL, CONS_NIL), CONS_NIL)
A simple implementation of cons cells for building linked lists.
struct cons_node * cons_car_node(struct cons_node *node)
Accessor for the parent node (super-node) of a cons node.
struct cons_node * cons_cdr_node(struct cons_node *node)
Accessor for the next sibling node of a cons node.
struct cons_node * cons_sub_node(struct cons_node *node)
Accessor for the first child node (sub-node) of a cons node.
Structure representing a cons node.
struct cons * head
Pointer to the list of child nodes (sub-nodes).
struct cons cell
The cons cell forming the basis of the node.
Construct cell structure for building linked lists.