Changeset 4722 for trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTreeTerminalNode.cs
- Timestamp:
- 11/06/10 01:56:04 (13 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/CloningRefactoring (added) merged: 4656-4693,4696-4697,4711-4714,4718-4719
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTreeTerminalNode.cs
r4068 r4722 22 22 using System; 23 23 using System.Collections.Generic; 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Symbols; 25 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 29 30 public abstract class SymbolicExpressionTreeTerminalNode : SymbolicExpressionTreeNode { 30 31 private static List<SymbolicExpressionTreeNode> emptyList = new List<SymbolicExpressionTreeNode>(); 32 public override IList<SymbolicExpressionTreeNode> SubTrees { 33 get { 34 return SymbolicExpressionTreeTerminalNode.emptyList; 35 } 36 } 31 37 38 [StorableConstructor] 39 protected SymbolicExpressionTreeTerminalNode(bool deserializing) : base(deserializing) { } 40 // don't call storable constructor of base to prevent allocation of sub-trees list in base! 41 protected SymbolicExpressionTreeTerminalNode(SymbolicExpressionTreeTerminalNode original, Cloner cloner) 42 : base() { 43 // symbols are reused 44 this.Symbol = original.Symbol; 45 } 32 46 protected SymbolicExpressionTreeTerminalNode() : base() { } 33 // don't call base constructors to prevent allocation of sub-trees list in base! 34 protected SymbolicExpressionTreeTerminalNode(Symbol symbol) { 47 48 protected SymbolicExpressionTreeTerminalNode(Symbol symbol) 49 : base() { 50 // symbols are reused 35 51 this.Symbol = symbol; 36 }37 // don't call base constructors to prevent allocation of sub-trees list in base!38 protected SymbolicExpressionTreeTerminalNode(SymbolicExpressionTreeTerminalNode original) {39 this.Symbol = original.Symbol;40 52 } 41 53 … … 49 61 throw new NotSupportedException(); 50 62 } 51 public override IList<SymbolicExpressionTreeNode> SubTrees {52 get {53 return SymbolicExpressionTreeTerminalNode.emptyList;54 }55 }56 63 } 57 64 }
Note: See TracChangeset
for help on using the changeset viewer.