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.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveAttribute.cs

    r3376 r4722  
    2525
    2626namespace HeuristicLab.Encodings.BinaryVectorEncoding {
    27   [Item("OneBitflipMoveAttribute", "Base class for specifying a move attribute.")]
     27  [Item("OneBitflipMoveAttribute", "Describes the attributes (move quality and index) of a single bitflip move.")]
    2828  [StorableClass]
    2929  public class OneBitflipMoveAttribute : Item {
     
    3333    public int Index { get; protected set; }
    3434
    35     public OneBitflipMoveAttribute()
    36       : this(-1, 0) {
     35    [StorableConstructor]
     36    protected OneBitflipMoveAttribute(bool deserializing) : base(deserializing) { }
     37    protected OneBitflipMoveAttribute(OneBitflipMoveAttribute original, Cloner cloner)
     38      : base(original, cloner) {
     39      this.MoveQuality = original.MoveQuality;
     40      this.Index = original.Index;
    3741    }
    38 
     42    public OneBitflipMoveAttribute() : this(-1, 0) { }
    3943    public OneBitflipMoveAttribute(int index, double moveQuality)
    4044      : base() {
     
    4448
    4549    public override IDeepCloneable Clone(Cloner cloner) {
    46       OneBitflipMoveAttribute clone = (OneBitflipMoveAttribute)base.Clone(cloner);
    47       clone.MoveQuality = MoveQuality;
    48       clone.Index = Index;
    49       return clone;
     50      return new OneBitflipMoveAttribute(this, cloner);
    5051    }
    5152  }
Note: See TracChangeset for help on using the changeset viewer.