···88 /// be set as the first child as the new root `Node`.
99 ///
1010 /// ```
1111- /// use sakura::*;
1212- /// use sakura::InsertBehavior::*;
1111+ /// use tree::*;
1212+ /// use tree::InsertBehavior::*;
1313 ///
1414 /// let mut tree: Tree<i32> = Tree::new();
1515 /// let root_node = Node::new(1);
···2727 /// `Result` containing the `NodeId` of the child that was added or a `NodeIdError`
2828 ///
2929 /// ```
3030- /// use sakura::*;
3131- /// use sakura::InsertBehavior::*;
3030+ /// use tree::*;
3131+ /// use tree::InsertBehavior::*;
3232 ///
3333 /// let root_node = Node::new(1);
3434 /// let child_node = Node::new(2);
···5252 ///
5353 ///
5454 /// ```
5555- /// use sakura::*;
5656- /// use sakura::InsertBehavior::*;
5757- /// use sakura::RemoveBehavior::*;
5555+ /// use tree::*;
5656+ /// use tree::InsertBehavior::*;
5757+ /// use tree::RemoveBehavior::*;
5858 ///
5959 /// let mut tree: Tree<i32> = Tree::new();
6060 ///
···8080 /// If `A` doesn't have a parent, then this behaves exactly like
8181 /// `RemoveBehavior::OrphanChildren`.
8282 /// ```
8383- /// use sakura::*;
8484- /// use sakura::InsertBehavior::*;
8585- /// use sakura::RemoveBehavior::*;
8383+ /// use tree::*;
8484+ /// use tree::InsertBehavior::*;
8585+ /// use tree::RemoveBehavior::*;
8686 ///
8787 /// let mut tree: Tree<i32> = Tree::new();
8888 ///
···106106 /// `NodeId`'s.
107107 ///
108108 /// ```
109109- /// use sakura::*;
110110- /// use sakura::InsertBehavior::*;
111111- /// use sakura::RemoveBehavior::*;
109109+ /// use tree::*;
110110+ /// use tree::InsertBehavior::*;
111111+ /// use tree::RemoveBehavior::*;
112112 ///
113113 /// let mut tree: Tree<i32> = Tree::new();
114114 ///
···135135 /// last child of the new root `Node`.
136136 ///
137137 /// ```
138138- /// use sakura::*;
139139- /// use sakura::InsertBehavior::*;
140140- /// use sakura::MoveBehavior::*;
138138+ /// use tree::*;
139139+ /// use tree::InsertBehavior::*;
140140+ /// use tree::MoveBehavior::*;
141141 ///
142142 /// let mut tree: Tree<i32> = Tree::new();
143143 ///
···167167 /// NOTE: During the shift-up part of the above scenario, the `Node` being
168168 /// shifted up will always be added as the last child of its new parent.
169169 /// ```
170170- /// use sakura::*;
171171- /// use sakura::InsertBehavior::*;
172172- /// use sakura::MoveBehavior::*;
170170+ /// use tree::*;
171171+ /// use tree::InsertBehavior::*;
172172+ /// use tree::MoveBehavior::*;
173173 ///
174174 /// let mut tree: Tree<i32> = Tree::new();
175175 ///
···2424 /// Creates a new `Node` with the provided data
2525 ///
2626 /// ```
2727- /// use sakura::Node;
2727+ /// use tree::Node;
2828 ///
2929 /// let _one: Node<i32> = Node::new(1);
3030 /// ```
···4141 /// Returns a reference to the data inside the `Node`
4242 ///
4343 /// ```
4444- /// use sakura::Node;
4444+ /// use tree::Node;
4545 ///
4646 /// let x = 10;
4747 /// let node: Node<i32> = Node::new(x);
···5454 /// Returns a mutable reference to the data inside the `Node`
5555 ///
5656 /// ```
5757- /// use sakura::Node;
5757+ /// use tree::Node;
5858 ///
5959 /// let x = 10;
6060 /// let mut node: Node<i32> = Node::new(x);
···6969 /// Returns the data previously in the node
7070 ///
7171 /// ```
7272- /// use sakura::Node;
7272+ /// use tree::Node;
7373 ///
7474 /// let x = 10;
7575 /// let mut y = 15;
···8989 /// Returns the parent of this `Node`, if it has one.
9090 ///
9191 /// ```
9292- /// use sakura::Node;
9292+ /// use tree::Node;
9393 ///
9494 /// let node: Node<i32> = Node::new(1);
9595 /// # assert_eq!(node.parent(), None);
···101101 /// Returns the children of this `Node`
102102 ///
103103 /// ```
104104- /// use sakura::Node;
104104+ /// use tree::Node;
105105 ///
106106 /// let node: Node<i32> = Node::new(0);
107107 /// # assert_eq!(node.children().len(), 0);
+57-57
crates/sakura/src/tree.rs
crates/tree/src/tree.rs
···2626 /// Creates a new `TreeBuilder` with default settings.
2727 ///
2828 /// ```
2929- /// use sakura::TreeBuilder;
2929+ /// use tree::TreeBuilder;
3030 ///
3131 /// let _tree_builder: TreeBuilder<i32> = TreeBuilder::new();
3232 ///
···4444 /// Sets the root `Node` for the resulting `Tree` from this `TreeBuilder`.
4545 ///
4646 /// ```
4747- /// use sakura::TreeBuilder;
4848- /// use sakura::Node;
4747+ /// use tree::TreeBuilder;
4848+ /// use tree::Node;
4949 ///
5050 /// let _tree_builder: TreeBuilder<i32> = TreeBuilder::new().with_root(Node::new(1));
5151 /// ```
···6666 /// that your `Tree` will **contain** at **any given time**._
6767 ///
6868 /// ```
6969- /// use sakura::TreeBuilder;
6969+ /// use tree::TreeBuilder;
7070 ///
7171 /// let _tree_builder: TreeBuilder<i32> = TreeBuilder::new().with_node_capacity(1);
7272 ///
···105105 /// The maximum amount of nodes that have been removed at any given time is **3**.
106106 ///
107107 /// ```
108108- /// use sakura::TreeBuilder;
108108+ /// use tree::TreeBuilder;
109109 ///
110110 /// let _tree_builder: TreeBuilder<i32> = TreeBuilder::new().with_node_capacity(1);
111111 ///
···121121 /// Build a `Tree` based upon the current settings in the `TreeBuilder`.
122122 ///
123123 /// ```
124124- /// use sakura::TreeBuilder;
125125- /// use sakura::Tree;
126126- /// use sakura::Node;
124124+ /// use tree::TreeBuilder;
125125+ /// use tree::Tree;
126126+ /// use tree::Node;
127127 ///
128128 /// let _tree: Tree<i32> = TreeBuilder::new()
129129 /// .with_root(Node::new(5))
···154154///
155155/// # Panics
156156/// Any function that takes a `NodeId` can `panic`, but this should
157157-/// only happen with improper `NodeId` management within `Sakura`, and
157157+/// only happen with improper `NodeId` management within `tree`, and
158158/// should have nothing to do with library user's code.
159159#[derive(Debug, Serialize, Deserialize, Reconcile, Hydrate)]
160160pub struct Tree<T> {
···209209 /// Creates a new `Tree` with default settings (no root `Node` and no space pre-allocation)
210210 ///
211211 /// ```
212212- /// use sakura::Tree;
212212+ /// use tree::Tree;
213213 ///
214214 /// let _tree: Tree<i32> = Tree::new();
215215 /// ```
···231231 /// it exists. Otherwise, a `None` is returned.
232232 ///
233233 /// ```
234234- /// use sakura::*;
235235- /// use sakura::InsertBehavior::*;
234234+ /// use tree::*;
235235+ /// use tree::InsertBehavior::*;
236236 ///
237237 /// let mut tree: Tree<i32> = Tree::new();
238238 /// let root_id = tree.insert(Node::new(5), AsRoot).unwrap();
···248248 /// Returns the maximum height of the `Tree`.
249249 ///
250250 /// ```
251251- /// use sakura::*;
252252- /// use sakura::InsertBehavior::*;
251251+ /// use tree::*;
252252+ /// use tree::InsertBehavior::*;
253253 ///
254254 /// let mut tree: Tree<i32> = Tree::new();
255255 /// # assert_eq!(0, tree.height());
···285285 /// # Panics
286286 ///
287287 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
288288- /// be a bug in `Sakura`
288288+ /// be a bug in `tree`
289289 ///
290290 /// ```
291291- /// use sakura::*;
292292- /// use sakura::InsertBehavior::*;
291291+ /// use tree::*;
292292+ /// use tree::InsertBehavior::*;
293293 ///
294294 /// let mut tree: Tree<i32> = Tree::new();
295295 /// let root_id = tree.insert(Node::new(5), AsRoot).unwrap();
···324324 /// # Panics
325325 ///
326326 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
327327- /// be a bug in `Sakura`
327327+ /// be a bug in `tree`
328328 ///
329329 /// ```
330330- /// use sakura::*;
331331- /// use sakura::InsertBehavior::*;
330330+ /// use tree::*;
331331+ /// use tree::InsertBehavior::*;
332332 ///
333333 /// let mut tree: Tree<i32> = Tree::new();
334334 /// let root_id = tree.insert(Node::new(5), AsRoot).unwrap();
···363363 /// # Panics
364364 ///
365365 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
366366- /// be a bug in `Sakura`
366366+ /// be a bug in `tree`
367367 ///
368368 /// ```
369369- /// use sakura::*;
370370- /// use sakura::InsertBehavior::*;
369369+ /// use tree::*;
370370+ /// use tree::InsertBehavior::*;
371371 ///
372372 /// let root_node = Node::new(1);
373373 /// let child_node = Node::new(2);
···401401 /// # Panics
402402 ///
403403 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
404404- /// be a bug in `Sakura`
404404+ /// be a bug in `tree`
405405 ///
406406 ///
407407 /// ```
408408- /// use sakura::*;
409409- /// use sakura::InsertBehavior::*;
410410- /// use sakura::RemoveBehavior::*;
408408+ /// use tree::*;
409409+ /// use tree::InsertBehavior::*;
410410+ /// use tree::RemoveBehavior::*;
411411 ///
412412 /// let mut tree: Tree<i32> = Tree::new();
413413 /// let root_id = tree.insert(Node::new(0), AsRoot).unwrap();
···489489 /// # Panics
490490 ///
491491 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
492492- /// be a bug in `Sakura`
492492+ /// be a bug in `tree`
493493 ///
494494 #[allow(clippy::needless_pass_by_value)]
495495 pub fn move_node(
···582582 /// # Panics
583583 ///
584584 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
585585- /// be a bug in `Sakura`
585585+ /// be a bug in `tree`
586586 ///
587587 /// ```
588588- /// use sakura::*;
589589- /// use sakura::InsertBehavior::*;
588588+ /// use tree::*;
589589+ /// use tree::InsertBehavior::*;
590590 ///
591591 /// let mut tree: Tree<i32> = Tree::new();
592592 ///
···644644 /// # Panics
645645 ///
646646 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
647647- /// be a bug in `Sakura`
647647+ /// be a bug in `tree`
648648 ///
649649 /// ```
650650- /// use sakura::*;
651651- /// use sakura::InsertBehavior::*;
650650+ /// use tree::*;
651651+ /// use tree::InsertBehavior::*;
652652 ///
653653 /// let mut tree: Tree<i32> = Tree::new();
654654 ///
···696696 /// # Panics
697697 ///
698698 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
699699- /// be a bug in `Sakura`
699699+ /// be a bug in `tree`
700700 ///
701701 /// ```
702702- /// use sakura::*;
703703- /// use sakura::InsertBehavior::*;
702702+ /// use tree::*;
703703+ /// use tree::InsertBehavior::*;
704704 ///
705705 /// let mut tree: Tree<i32> = Tree::new();
706706 /// let root_id = tree.insert(Node::new(0), AsRoot).unwrap();
···726726 /// # Panics
727727 ///
728728 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
729729- /// be a bug in `Sakura`
729729+ /// be a bug in `tree`
730730 ///
731731 ///
732732 /// ```
733733- /// use sakura::*;
734734- /// use sakura::InsertBehavior::*;
733733+ /// use tree::*;
734734+ /// use tree::InsertBehavior::*;
735735 ///
736736 /// let mut tree: Tree<i32> = Tree::new();
737737 /// let root_id = tree.insert(Node::new(0), AsRoot).unwrap();
···758758 /// # Panics
759759 ///
760760 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
761761- /// be a bug in `Sakura`
761761+ /// be a bug in `tree`
762762 ///
763763 /// ```
764764- /// use sakura::*;
765765- /// use sakura::InsertBehavior::*;
764764+ /// use tree::*;
765765+ /// use tree::InsertBehavior::*;
766766 ///
767767 /// let mut tree: Tree<i32> = Tree::new();
768768 /// let root_id = tree.insert(Node::new(0), AsRoot).unwrap();
···787787 /// # Panics
788788 ///
789789 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
790790- /// be a bug in `Sakura`
790790+ /// be a bug in `tree`
791791 ///
792792 /// ```
793793- /// use sakura::*;
794794- /// use sakura::InsertBehavior::*;
793793+ /// use tree::*;
794794+ /// use tree::InsertBehavior::*;
795795 ///
796796 /// let mut tree: Tree<i32> = Tree::new();
797797 /// let root_id = tree.insert(Node::new(0), AsRoot).unwrap();
···816816 /// # Panics
817817 ///
818818 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
819819- /// be a bug in `Sakura`
819819+ /// be a bug in `tree`
820820 ///
821821 /// ```
822822- /// use sakura::*;
823823- /// use sakura::InsertBehavior::*;
822822+ /// use tree::*;
823823+ /// use tree::InsertBehavior::*;
824824 ///
825825 /// let mut tree: Tree<i32> = Tree::new();
826826 /// let root_id = tree.insert(Node::new(0), AsRoot).unwrap();
···851851 /// # Panics
852852 ///
853853 /// Can panic if the `NodeId` does not exist in the `Tree`, but this would
854854- /// be a bug in `Sakura`
854854+ /// be a bug in `tree`
855855 ///
856856 /// ```
857857- /// use sakura::*;
858858- /// use sakura::InsertBehavior::*;
857857+ /// use tree::*;
858858+ /// use tree::InsertBehavior::*;
859859 ///
860860 /// let mut tree: Tree<i32> = Tree::new();
861861 /// let root_id = tree.insert(Node::new(0), AsRoot).unwrap();
···971971 assert!(
972972 idx <= self.nodes.len(),
973973 "NodeId: {node_id:?} is out of bounds. This is a bug inside
974974- Sakura.",
974974+ tree.",
975975 );
976976977977 if self.nodes.get(idx).is_none() {
···10631063 /// Function can error if something goes wrong during debug!
10641064 ///
10651065 /// ```
10661066- /// use sakura::Tree;
10671067- /// use sakura::Node;
10681068- /// use sakura::InsertBehavior::*;
10661066+ /// use tree::Tree;
10671067+ /// use tree::Node;
10681068+ /// use tree::InsertBehavior::*;
10691069 ///
10701070 /// let mut tree = Tree::<i32>::new();
10711071 /// let root_id = tree.insert(Node::new(0), AsRoot).unwrap();
···10851085 /// Writes nothing if the tree is empty.
10861086 ///
10871087 /// ```
10881088- /// use sakura::Tree;
10881088+ /// use tree::Tree;
10891089 ///
10901090 /// let tree = Tree::<i32>::new();
10911091 /// let mut s = String::new();