Free cookie consent management tool by TermsFeed Policy Generator

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

Merged cloning refactoring branch back into trunk (#922)

Location:
trunk/sources
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/InsertionManipulator.cs

    r4477 r4722  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3334  [StorableClass]
    3435  public class InsertionManipulator : PermutationManipulator {
     36    [StorableConstructor]
     37    protected InsertionManipulator(bool deserializing) : base(deserializing) { }
     38    protected InsertionManipulator(InsertionManipulator original, Cloner cloner) : base(original, cloner) { }
     39    public InsertionManipulator() : base() { }
     40
     41    public override IDeepCloneable Clone(Cloner cloner) {
     42      return new InsertionManipulator(this, cloner);
     43    }
     44
    3545    /// <summary>
    3646    /// Moves an randomly chosen element in the specified <paramref name="permutation"/> array
  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/InversionManipulator.cs

    r4477 r4722  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3334  [StorableClass]
    3435  public class InversionManipulator : PermutationManipulator {
     36    [StorableConstructor]
     37    protected InversionManipulator(bool deserializing) : base(deserializing) { }
     38    protected InversionManipulator(InversionManipulator original, Cloner cloner) : base(original, cloner) { }
     39    public InversionManipulator() : base() { }
     40
     41    public override IDeepCloneable Clone(Cloner cloner) {
     42      return new InversionManipulator(this, cloner);
     43    }
     44
    3545    /// <summary>
    3646    /// Inverts a randomly chosen part of a permutation.
  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/MultiPermutationManipulator.cs

    r4373 r4722  
    2323using System.Linq;
    2424using HeuristicLab.Collections;
     25using HeuristicLab.Common;
    2526using HeuristicLab.Core;
    2627using HeuristicLab.Operators;
     
    4647
    4748    [StorableConstructor]
    48     private MultiPermutationManipulator(bool deserializing) : base(deserializing) { }
     49    protected MultiPermutationManipulator(bool deserializing) : base(deserializing) { }
     50    protected MultiPermutationManipulator(MultiPermutationManipulator original, Cloner cloner) : base(original, cloner) { }
    4951    public MultiPermutationManipulator()
    5052      : base() {
     
    5557          Operators.Add((IPermutationManipulator)Activator.CreateInstance(type), true);
    5658      }
     59    }
     60
     61    public override IDeepCloneable Clone(Cloner cloner) {
     62      return new MultiPermutationManipulator(this, cloner);
    5763    }
    5864
  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/ScrambleManipulator.cs

    r4477 r4722  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3334  [StorableClass]
    3435  public class ScrambleManipulator : PermutationManipulator {
     36    [StorableConstructor]
     37    protected ScrambleManipulator(bool deserializing) : base(deserializing) { }
     38    protected ScrambleManipulator(ScrambleManipulator original, Cloner cloner) : base(original, cloner) { }
     39    public ScrambleManipulator() : base() { }
     40
     41    public override IDeepCloneable Clone(Cloner cloner) {
     42      return new ScrambleManipulator(this, cloner);
     43    }
     44
    3545    /// <summary>
    3646    /// Mixes the elements of the given <paramref name="permutation"/> randomly
  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/Swap2Manipulator.cs

    r4477 r4722  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3334  [StorableClass]
    3435  public class Swap2Manipulator : PermutationManipulator {
     36    [StorableConstructor]
     37    protected Swap2Manipulator(bool deserializing) : base(deserializing) { }
     38    protected Swap2Manipulator(Swap2Manipulator original, Cloner cloner) : base(original, cloner) { }
     39    public Swap2Manipulator() : base() { }
     40
     41    public override IDeepCloneable Clone(Cloner cloner) {
     42      return new Swap2Manipulator(this, cloner);
     43    }
     44
    3545    /// <summary>
    3646    /// Swaps two randomly chosen elements in the given <paramref name="permutation"/> permutation.
  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/Swap3Manipulator.cs

    r4477 r4722  
    2121
    2222using System;
     23using HeuristicLab.Common;
    2324using HeuristicLab.Core;
    2425using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3536  [StorableClass]
    3637  public class Swap3Manipulator : PermutationManipulator {
     38    [StorableConstructor]
     39    protected Swap3Manipulator(bool deserializing) : base(deserializing) { }
     40    protected Swap3Manipulator(Swap3Manipulator original, Cloner cloner) : base(original, cloner) { }
     41    public Swap3Manipulator() : base() { }
     42
     43    public override IDeepCloneable Clone(Cloner cloner) {
     44      return new Swap3Manipulator(this, cloner);
     45    }
     46
    3747    /// <summary>
    3848    /// Swaps three randomly chosen elements of the given <paramref name="permutation"/> array.
  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/TranslocationInversionManipulator.cs

    r4477 r4722  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3435  [StorableClass]
    3536  public class TranslocationInversionManipulator : PermutationManipulator {
     37    [StorableConstructor]
     38    protected TranslocationInversionManipulator(bool deserializing) : base(deserializing) { }
     39    protected TranslocationInversionManipulator(TranslocationInversionManipulator original, Cloner cloner) : base(original, cloner) { }
     40    public TranslocationInversionManipulator() : base() { }
     41
     42    public override IDeepCloneable Clone(Cloner cloner) {
     43      return new TranslocationInversionManipulator(this, cloner);
     44    }
     45
    3646    /// <summary>
    3747    /// Moves a randomly chosen interval of elements to another (randomly chosen) position in the given
  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Manipulators/TranslocationManipulator.cs

    r4477 r4722  
    2020#endregion
    2121
     22using HeuristicLab.Common;
    2223using HeuristicLab.Core;
    2324using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3435  [StorableClass]
    3536  public class TranslocationManipulator : PermutationManipulator {
     37    [StorableConstructor]
     38    protected TranslocationManipulator(bool deserializing) : base(deserializing) { }
     39    protected TranslocationManipulator(TranslocationManipulator original, Cloner cloner) : base(original, cloner) { }
     40    public TranslocationManipulator() : base() { }
     41
     42    public override IDeepCloneable Clone(Cloner cloner) {
     43      return new TranslocationManipulator(this, cloner);
     44    }
     45
    3646    /// <summary>
    3747    /// Moves a randomly chosen interval of elements to another (randomly chosen) position in the given
Note: See TracChangeset for help on using the changeset viewer.