


The standard library Traitful_Graphtree api is part of the graph-visualization support infrastructure.
The Traitful_Graphtree api is implemented by the planar_graphtree package.
The Traitful_Graphtree api source code is in src/lib/std/graphtree/traitful-graphtree.api.
The above information is manually maintained and may contain errors.
api { Traitful_Graph ;
Node ;
Edge ;
Graph_Info ;
Node_Info ;
Edge_Info ;
exception GRAPHTREE_ERROR String;
Graph_Part
= EDGE_PART Edge
| GRAPH_PART Traitful_Graph
| NODE_PART Node
| PROTOEDGE_PART Traitful_Graph
| PROTONODE_PART Traitful_Graph;
make_graph : {info:Null_Or(Graph_Info ),
make_default_edge_info:Void -> Edge_Info,
make_default_graph_info:Void -> Graph_Info,
make_default_node_info:Void -> Node_Info,
name:String}
-> Traitful_Graph;
graph_name : Traitful_Graph -> String;
node_name : Node -> String;
node_count : Traitful_Graph -> Int;
edge_count : Traitful_Graph -> Int;
has_node : (Traitful_Graph , Node) -> Bool;
has_edge : (Traitful_Graph , Edge) -> Bool;
drop_node : (Traitful_Graph , Node) -> Void;
drop_edge : (Traitful_Graph , Edge) -> Void;
make_node : (Traitful_Graph , String , Null_Or(Node_Info ))
-> Node;
get_or_make_node : (Traitful_Graph , String , Null_Or(Node_Info ))
-> Node;
find_node : (Traitful_Graph , String) -> Null_Or(Node );
nodes : Traitful_Graph -> List(Node );
nodes_apply : (Node -> Void) -> Traitful_Graph -> Void;
nodes_fold : ((Node , X) -> X) -> Traitful_Graph -> X -> X;
make_edge : {graph:Traitful_Graph, head:Node,
info:Null_Or(Edge_Info ), tail:Node}
-> Edge;
edges : Traitful_Graph -> List(Edge );
in_edges : (Traitful_Graph , Node) -> List(Edge );
out_edges : (Traitful_Graph , Node) -> List(Edge );
in_edges_apply : (Edge -> Void) -> (Traitful_Graph , Node) -> Void;
out_edges_apply : (Edge -> Void) -> (Traitful_Graph , Node) -> Void;
head : Edge -> Node;
tail : Edge -> Node;
nodes_of : Edge -> {head:Node, tail:Node};
make_subgraph : (Traitful_Graph , String , Null_Or(Graph_Info ))
-> Traitful_Graph;
find_subgraph : (Traitful_Graph , String) -> Null_Or(Traitful_Graph );
get_trait : Graph_Part -> String -> Null_Or(String );
set_trait : Graph_Part -> (String , String) -> Void;
drop_trait : Graph_Part -> String -> Void;
trait_apply : Graph_Part -> ((String , String) -> Void) -> Void;
count_trait : Graph_Part -> Int;
graph_info_of : Traitful_Graph -> Graph_Info;
edge_info_of : Edge -> Edge_Info;
node_info_of : Node -> Node_Info;
eq_graph : (Traitful_Graph , Traitful_Graph) -> Bool;
eq_node : (Node , Node) -> Bool;
eq_edge : (Edge , Edge) -> Bool;
};


