1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
///
/// Describes all the possible ways to remove a Node from a Tree.
///
pub enum RemoveBehavior {
    ///
    /// All children of the removed Node will be dropped from the Tree.  All children (and all
    /// Nodes in each of their sub-trees) will no longer exist in the Tree after this operation.
    ///
    /// This is slower than `OrphanChildren` but frees up space inside the Tree.
    ///
    DropChildren,

    ///
    /// All children of the removed Node will be left in the Tree (still accessible via NodeIds).
    /// However, each child (and their sub-trees) will no longer be connected to the rest of the
    /// Nodes in the Tree.
    ///
    /// Orphaned nodes will live in the Tree until they are manually removed or until the Tree is
    /// Dropped.  This is faster than `DropChildren` but doesn't free up any space inside the Tree.
    ///
    OrphanChildren,
}