- Timestamp:
- 04/01/10 20:59:17 (15 years ago)
- Location:
- trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTree.cs
r3244 r3252 32 32 [StorableClass] 33 33 [Item("SymbolicExpressionTree", "Represents a symbolic expression tree.")] 34 public class SymbolicExpressionTree : Item { 34 public class SymbolicExpressionTree : Item { 35 [Storable] 35 36 private SymbolicExpressionTreeNode root; 36 37 public SymbolicExpressionTreeNode Root { -
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTreeNode.cs
r3244 r3252 30 30 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding { 31 31 [StorableClass] 32 public class SymbolicExpressionTreeNode : DeepCloneable { 32 public class SymbolicExpressionTreeNode : ICloneable { 33 [Storable] 33 34 private List<SymbolicExpressionTreeNode> subTrees; 35 [Storable] 34 36 private Symbol symbol; 35 37 36 public SymbolicExpressionTreeNode() { 37 } 38 public SymbolicExpressionTreeNode() { } 38 39 39 40 public SymbolicExpressionTreeNode(Symbol symbol) { … … 42 43 } 43 44 44 //protected SymbolicExpressionTreeNode(SymbolicExpressionTreeNode original) { 45 // this.symbol = original.Symbol; 46 // this.subTrees = new List<SymbolicExpressionTreeNode>(original.SubTrees.Count); 47 // foreach (SymbolicExpressionTreeNode originalSubTree in original.SubTrees) { 48 // this.SubTrees.Add((SymbolicExpressionTreeNode)originalSubTree.Clone()); 49 // } 50 //} 45 // copy constructor 46 protected SymbolicExpressionTreeNode(SymbolicExpressionTreeNode original) { 47 symbol = original.symbol; 48 this.subTrees = new List<SymbolicExpressionTreeNode>(); 49 foreach (var subtree in original.SubTrees) { 50 AddSubTree((SymbolicExpressionTreeNode)subtree.Clone()); 51 } 52 } 51 53 52 54 public virtual bool HasLocalParameters { … … 95 97 } 96 98 97 public override IDeepCloneable Clone(Cloner cloner) { 98 SymbolicExpressionTreeNode clone = new SymbolicExpressionTreeNode(symbol); 99 cloner.RegisterClonedObject(this, clone); 100 foreach (var subtree in SubTrees) { 101 clone.AddSubTree((SymbolicExpressionTreeNode)subtree.Clone(cloner)); 102 } 103 return clone; 99 #region ICloneable Members 100 101 public virtual object Clone() { 102 return new SymbolicExpressionTreeNode(this); 104 103 } 104 105 #endregion 105 106 } 106 107 }
Note: See TracChangeset
for help on using the changeset viewer.