1 // 2 // Copyright (c) 2010-2018 Antmicro 3 // Copyright (c) 2011-2015 Realtime Embedded 4 // 5 // This file is licensed under the MIT License. 6 // Full license text is available in 'licenses/MIT.txt'. 7 // 8 namespace Antmicro.Renode.Utilities.Collections 9 { 10 public class BidirectionalTreeNode<T> : TreeBase<BidirectionalTreeNode<T>, T> 11 { BidirectionalTreeNode(T value)12 public BidirectionalTreeNode(T value) : base(value) 13 { 14 // parent will be null - like for the root node 15 } 16 BidirectionalTreeNode(T value, BidirectionalTreeNode<T> parent)17 private BidirectionalTreeNode(T value, BidirectionalTreeNode<T> parent) : base(value) 18 { 19 Parent = parent; 20 } 21 AddChild(T value)22 public override BidirectionalTreeNode<T> AddChild(T value) 23 { 24 var node = new BidirectionalTreeNode<T>(value, this); 25 ChildrenList.Add(node); 26 return node; 27 } 28 29 public BidirectionalTreeNode<T> Parent { get; private set; } 30 } 31 } 32 33