public SimpleTreeNode <T> Add(T Value) { SimpleTreeNode <T> Node = new SimpleTreeNode <T>(Parent); Node.Value = Value; return(Node); }
public new void Remove(SimpleTreeNode <T> Node) { if (Node != null) { Node.Parent = null; } base.Remove(Node); }
// TODO: adjust for traversal direction private IEnumerator <SimpleTreeNode <T> > GetBreadthFirstEnumerator(TreeTraversalDirection TraversalDirection) { Queue <SimpleTreeNode <T> > queue = new Queue <SimpleTreeNode <T> >(); queue.Enqueue(this); while (0 < queue.Count) { SimpleTreeNode <T> node = queue.Dequeue(); foreach (SimpleTreeNode <T> child in node.Children) { queue.Enqueue(child); } yield return(node); } }
public new SimpleTreeNode <T> Add(SimpleTreeNode <T> Node) { base.Add(Node); Node.Parent = Parent; return(Node); }
public SimpleTreeNodeList(SimpleTreeNode <T> Parent) { this.Parent = Parent; }
public SimpleTreeNode(SimpleTreeNode <T> Parent) { this.Parent = Parent; Children = new SimpleTreeNodeList <T>(this); }
public SimpleTreeNode(SimpleTreeNode <T> Parent, SimpleTreeNodeList <T> Children) { this.Parent = Parent; this.Children = Children; Children.Parent = this; }