Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/29/10 16:41:43 (13 years ago)
Author:
abeham
Message:

#922

  • Refactored HeuristicLab.Encodings.BinaryVectorEncoding
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneIndexMove.cs

    r3376 r4663  
    3333    public BinaryVector BinaryVector { get; protected set; }
    3434
    35     public OneIndexMove()
    36       : base() {
    37       Index = -1;
    38       BinaryVector = null;
     35    [StorableConstructor]
     36    protected OneIndexMove(bool deserializing) : base(deserializing) { }
     37    protected OneIndexMove(OneIndexMove original, Cloner cloner)
     38      : base(original, cloner) {
     39      this.Index = original.Index;
     40      if (original.BinaryVector != null)
     41        this.BinaryVector = cloner.Clone(original.BinaryVector);
    3942    }
    40 
     43    public OneIndexMove() : this(-1, null) { }
    4144    public OneIndexMove(int index, BinaryVector binaryVector)
    4245      : base() {
     
    4649
    4750    public override IDeepCloneable Clone(Cloner cloner) {
    48       OneIndexMove clone = (OneIndexMove)base.Clone(cloner);
    49       clone.Index = Index;
    50       if (BinaryVector != null)
    51         clone.BinaryVector = (BinaryVector)BinaryVector.Clone(cloner);
    52       return clone;
     51      return new OneIndexMove(this, cloner);
    5352    }
    5453  }
Note: See TracChangeset for help on using the changeset viewer.