Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/06/10 01:56:04 (13 years ago)
Author:
swagner
Message:

Merged cloning refactoring branch back into trunk (#922)

Location:
trunk/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/MoveEvaluators/RealVectorAdditiveMoveWrapper.cs

    r3450 r4722  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Encodings.RealVectorEncoding;
    2324
     
    2627  /// This wrapper disguises as real vector for use in the evaluation functions.
    2728  /// </summary>
    28   internal class RealVectorAdditiveMoveWrapper : RealVector {
     29  internal sealed class RealVectorAdditiveMoveWrapper : RealVector {
    2930    private int dimension;
    3031    private double moveDistance;
    3132    private RealVector vector;
    3233
     34    private RealVectorAdditiveMoveWrapper(bool deserializing) : base(deserializing) { }
     35    private RealVectorAdditiveMoveWrapper(RealVectorAdditiveMoveWrapper original, Cloner cloner)
     36      : base(original, cloner) {
     37      this.dimension = original.dimension;
     38      this.moveDistance = original.moveDistance;
     39      this.vector = cloner.Clone(vector);
     40    }
    3341    public RealVectorAdditiveMoveWrapper() {
    3442      dimension = -1;
     
    3644      this.vector = new RealVector();
    3745    }
    38 
    3946    public RealVectorAdditiveMoveWrapper(AdditiveMove move, RealVector vector) {
    4047      dimension = move.Dimension;
    4148      moveDistance = move.MoveDistance;
    4249      this.vector = vector;
     50    }
     51
     52    public override IDeepCloneable Clone(Cloner cloner) {
     53      return new RealVectorAdditiveMoveWrapper(this, cloner);
    4354    }
    4455
Note: See TracChangeset for help on using the changeset viewer.