1mod edge;
7pub use self::edge::{HalfEdge, HalfEdgeOwned, HalfEdgeTreeNode};
8
9mod node;
10pub use self::node::{DepthFirstDescendantsIter, InnerNode, LeafNode, Node, NodeValue};
11
12mod path;
13pub use self::path::{PathSegment, RootPath, SegmentedPath};
14
15mod tree;
16pub use self::tree::{
17 AncestorTreeNodeIter, InsertOrUpdateNodeValueError, MatchNodePath, NewNodeId,
18 NodeInsertedOrUpdated, NodePathMatched, NodePathResolved, ParentNodeUpdated, PathTree,
19 PathTreeTypes, SubtreeInsertedOrReplaced, SubtreeRemoved, TreeNode,
20 TreeNodeParentChildPathConflict, UpdateNodeValueError,
21};
22
23#[cfg(feature = "im")]
24type HashMap<K, V> = im::HashMap<K, V>;
25
26#[cfg(not(feature = "im"))]
27type HashMap<K, V> = std::collections::HashMap<K, V>;
28
29#[cfg(test)]
30mod tests;