Changeset 13376 for branches/ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/CombinedEncoding.cs
- Timestamp:
- 11/24/15 17:44:26 (8 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/CombinedEncoding.cs
r13372 r13376 29 29 30 30 namespace HeuristicLab.Optimization { 31 [Item(" MultiEncoding", "Describes a combined encoding consisting of multiple simpler encodings.")]31 [Item("CombinedEncoding", "Describes a combined encoding consisting of multiple simpler encodings.")] 32 32 [StorableClass] 33 public sealed class MultiEncoding : Encoding<CombinedSolution> {33 public sealed class CombinedEncoding : Encoding<CombinedSolution> { 34 34 35 35 private ItemCollection<IEncoding> encodings; … … 46 46 47 47 [StorableConstructor] 48 private MultiEncoding(bool deserializing) : base(deserializing) { }49 public override IDeepCloneable Clone(Cloner cloner) { return new MultiEncoding(this, cloner); }50 private MultiEncoding(MultiEncoding original, Cloner cloner)48 private CombinedEncoding(bool deserializing) : base(deserializing) { } 49 public override IDeepCloneable Clone(Cloner cloner) { return new CombinedEncoding(this, cloner); } 50 private CombinedEncoding(CombinedEncoding original, Cloner cloner) 51 51 : base(original, cloner) { 52 52 encodings = new ItemCollection<IEncoding>(original.Encodings.Select(cloner.Clone)); 53 53 } 54 public MultiEncoding()55 : base(" MultiEncoding") {54 public CombinedEncoding() 55 : base("CombinedEncoding") { 56 56 encodings = new ItemCollection<IEncoding>(); 57 57 SolutionCreator = new MultiEncodingCreator() { SolutionParameter = { ActualName = Name } }; … … 62 62 } 63 63 64 public MultiEncoding Add(IEncoding encoding) {65 if (encoding is MultiEncoding) throw new InvalidOperationException("Nesting of MultiEncodings is not supported.");64 public CombinedEncoding Add(IEncoding encoding) { 65 if (encoding is CombinedEncoding) throw new InvalidOperationException("Nesting of CombinedEncodings is not supported."); 66 66 if (Encodings.Any(e => e.Name == encoding.Name)) throw new ArgumentException("Encoding name must be unique", "encoding.Name"); 67 67 encodings.Add(encoding);
Note: See TracChangeset
for help on using the changeset viewer.