Lines Matching refs:node

36 	let _get_key node = node.key
37 let get_value node =
38 match node.value with
42 let _get_children node = node.children
44 let set_value node value =
45 { node with value = Some value }
46 let set_children node children =
47 { node with children = children }
49 let _add_child node child =
50 { node with children = child :: node.children }
61 let replace_node nodes key node =
64 | h :: tl when h.Node.key = key -> node :: tl
80 let aux node =
81 f node.Node.key node.Node.value;
82 iter f node.Node.children
87 let aux node =
89 match node.Node.value with
93 { node with Node.value = value; Node.children = map f node.Node.children }
98 let aux accu node =
99 fold f node.Node.children (f node.Node.key node.Node.value accu)
109 let node = find_node tree h in
111 then node
112 else sub_node node.Node.children t
123 (* return false if the node doesn't exists or if it is not associated to any value *)
128 && (let node = find_node tree h in
130 then node.Node.value <> None
131 else mem node.Node.children t)
139 let node = find_node tree h in
140 f node.Node.key node.Node.value;
141 iter_path f node.Node.children l
144 let rec set_node node path value =
146 then Node.set_value node value
148 let children = set node.Node.children path value in
149 Node.set_children node children
158 let node = find_node tree h in
159 replace_node tree h (set_node node t value)
161 let node = Node.empty h in
162 set_node node t value :: tree
170 let node = find_node tree h in
171 let children = unset node.Node.children t in
175 else Node.set_children node children