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.TravelingSalesman/3.3/TravelingSalesmanProblem.cs

    r4703 r4722  
    141141    [StorableConstructor]
    142142    private TravelingSalesmanProblem(bool deserializing) : base(deserializing) { }
     143    private TravelingSalesmanProblem(TravelingSalesmanProblem original, Cloner cloner)
     144      : base(original, cloner) {
     145      this.operators = original.operators.Select(x => (IOperator)cloner.Clone(x)).ToList();
     146      this.DistanceMatrixParameter.Value = original.DistanceMatrixParameter.Value;
     147      AttachEventHandlers();
     148    }
     149    public override IDeepCloneable Clone(Cloner cloner) {
     150      return new TravelingSalesmanProblem(this, cloner);
     151    }
    143152    public TravelingSalesmanProblem()
    144153      : base() {
     
    171180    }
    172181
    173     public override IDeepCloneable Clone(Cloner cloner) {
    174       TravelingSalesmanProblem clone = (TravelingSalesmanProblem)base.Clone(cloner);
    175       clone.operators = operators.Select(x => (IOperator)cloner.Clone(x)).ToList();
    176       clone.DistanceMatrixParameter.Value = DistanceMatrixParameter.Value;
    177       clone.AttachEventHandlers();
    178       return clone;
    179     }
    180 
    181182    #region Events
    182183    public event EventHandler SolutionCreatorChanged;
     
    254255    #region Helpers
    255256    [StorableHook(HookType.AfterDeserialization)]
    256     private void AfterDeserializationHook() {
     257    private void AfterDeserialization() {
    257258      // BackwardsCompatibility3.3
    258259      #region Backwards compatible code (remove with 3.4)
Note: See TracChangeset for help on using the changeset viewer.