Changeset 2526 for trunk/sources/HeuristicLab.Data/3.3
- Timestamp:
- 11/23/09 16:43:34 (15 years ago)
- Location:
- trunk/sources/HeuristicLab.Data/3.3
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Data/3.3/BoolData.cs
r2520 r2526 63 63 /// <param name="clonedObjects">Dictionary of all already cloned objects.</param> 64 64 /// <returns>The cloned instance as <see cref="BoolData"/>.</returns> 65 public override object Clone(IDictionary<Guid, object> clonedObjects) {65 public override IItem Clone(ICloner cloner) { 66 66 BoolData clone = new BoolData(); 67 clone dObjects.Add(Guid, clone);67 cloner.RegisterClonedObject(this, clone); 68 68 clone.Data = Data; 69 69 return clone; -
trunk/sources/HeuristicLab.Data/3.3/DoubleData.cs
r2520 r2526 64 64 /// <param name="clonedObjects">Dictionary of all already cloned objects.</param> 65 65 /// <returns>The cloned instance as <see cref="DoubleData"/>.</returns> 66 public override object Clone(IDictionary<Guid, object> clonedObjects) {66 public override IItem Clone(ICloner cloner) { 67 67 DoubleData clone = new DoubleData(); 68 clone dObjects.Add(Guid, clone);68 cloner.RegisterClonedObject(this, clone); 69 69 clone.Data = Data; 70 70 return clone; -
trunk/sources/HeuristicLab.Data/3.3/IntData.cs
r2520 r2526 64 64 /// <param name="clonedObjects">Dictionary of all already cloned objects.</param> 65 65 /// <returns>The cloned instance as <see cref="IntData"/>.</returns> 66 public override object Clone(IDictionary<Guid, object> clonedObjects) {66 public override IItem Clone(ICloner cloner) { 67 67 IntData clone = new IntData(); 68 clone dObjects.Add(Guid, clone);68 cloner.RegisterClonedObject(this, clone); 69 69 clone.Data = Data; 70 70 return clone; -
trunk/sources/HeuristicLab.Data/3.3/ItemDictionary_T.cs
r2520 r2526 46 46 /// <param name="clonedObjects">A dictionary of all already cloned objects.</param> 47 47 /// <returns>The cloned instance as <see cref="ItemDictionary<K,V>"/>.</returns> 48 public override object Clone(IDictionary<Guid, object> clonedObjects) {48 public override IItem Clone(ICloner cloner) { 49 49 ItemDictionary<K,V> clone = new ItemDictionary<K,V>(); 50 clone dObjects.Add(Guid, clone);50 cloner.RegisterClonedObject(this, clone); 51 51 foreach (KeyValuePair<K, V> item in dict) { 52 clone.dict.Add((K) Auxiliary.Clone(item.Key, clonedObjects), (V) Auxiliary.Clone(item.Value, clonedObjects));52 clone.dict.Add((K) cloner.Clone(item.Key), (V) cloner.Clone(item.Value)); 53 53 } 54 54 return clone; … … 300 300 return ((IObjectData) obj).Data.GetHashCode(); 301 301 } 302 return obj.G uid.GetHashCode();302 return obj.GetHashCode(); 303 303 } 304 304 } -
trunk/sources/HeuristicLab.Data/3.3/ItemList.cs
r1529 r2526 37 37 /// <param name="clonedObjects">A dictionary of all already cloned objects.</param> 38 38 /// <returns>The cloned instance as <see cref="ItemList"/>.</returns> 39 public override object Clone(IDictionary<Guid, object> clonedObjects) {39 public override IItem Clone(ICloner cloner) { 40 40 ItemList clone = new ItemList(); 41 clone dObjects.Add(Guid, clone);42 base.CloneElements(clone , clonedObjects);41 cloner.RegisterClonedObject(this, clone); 42 base.CloneElements(cloner, clone); 43 43 return clone; 44 44 } -
trunk/sources/HeuristicLab.Data/3.3/ItemList_T.cs
r2520 r2526 52 52 /// <param name="clonedObjects">A dictionary of all already cloned objects.</param> 53 53 /// <returns>The cloned instance as <see cref="ItemList<T>"/>.</returns> 54 public override object Clone(IDictionary<Guid, object> clonedObjects) {54 public override IItem Clone(ICloner cloner) { 55 55 ItemList<T> clone = new ItemList<T>(); 56 clone dObjects.Add(Guid, clone);57 CloneElements(clone , clonedObjects);56 cloner.RegisterClonedObject(this, clone); 57 CloneElements(cloner, clone); 58 58 return clone; 59 59 } … … 66 66 /// <param name="destination">The <see cref="ItemList<T>"/> where to save the cloned objects.</param> 67 67 /// <param name="clonedObjects">A dictionary of all already cloned objects.</param> 68 protected void CloneElements(I temList<T> destination, IDictionary<Guid, object> clonedObjects) {68 protected void CloneElements(ICloner cloner, ItemList<T> destination) { 69 69 for (int i = 0; i < list.Count; i++) 70 destination.list.Add((T) Auxiliary.Clone(list[i], clonedObjects));70 destination.list.Add((T)cloner.Clone(list[i])); 71 71 } 72 72 -
trunk/sources/HeuristicLab.Data/3.3/NullData.cs
r1853 r2526 55 55 /// <param name="clonedObjects">All already cloned objects.</param> 56 56 /// <returns>The cloned instance as <see cref="NullData"/>.</returns> 57 public override object Clone(IDictionary<Guid, object> clonedObjects) {57 public override IItem Clone(ICloner cloner) { 58 58 NullData clone = new NullData(); 59 clone dObjects.Add(Guid, clone);59 cloner.RegisterClonedObject(this, clone); 60 60 return clone; 61 61 } -
trunk/sources/HeuristicLab.Data/3.3/ObjectData.cs
r1842 r2526 52 52 /// Clones the current instance. 53 53 /// </summary> 54 /// <remarks>HeuristicLab data items are cloned with the <see cref="HeuristicLab.Core. Auxiliary.Clone"/> method of54 /// <remarks>HeuristicLab data items are cloned with the <see cref="HeuristicLab.Core.cloner.Clone"/> method of 55 55 /// class <see cref="Auxiliary"/> (deep copy), all other items (like basic data types) 56 56 /// are cloned with their own <c>Clone</c> methods (shadow copy).</remarks> … … 58 58 /// <param name="clonedObjects">A dictionary of all already cloned objects.</param> 59 59 /// <returns>The clone instance.</returns> 60 public override object Clone(IDictionary<Guid, object> clonedObjects) {61 ObjectData clone = (ObjectData)base.Clone(clone dObjects);62 if (Data is I Storable)63 clone.myData = Auxiliary.Clone((IStorable)Data, clonedObjects);60 public override IItem Clone(ICloner cloner) { 61 ObjectData clone = (ObjectData)base.Clone(cloner); 62 if (Data is IItem) 63 clone.myData = cloner.Clone((IItem)Data); 64 64 else if (Data is ICloneable) 65 65 clone.myData = ((ICloneable)Data).Clone(); -
trunk/sources/HeuristicLab.Data/3.3/StringData.cs
r2520 r2526 64 64 /// <param name="clonedObjects">A dictionary of all already cloned objects.</param> 65 65 /// <returns>The coned instance as <see cref="StringData"/>.</returns> 66 public override object Clone(IDictionary<Guid, object> clonedObjects) {66 public override IItem Clone(ICloner cloner) { 67 67 StringData clone = new StringData(); 68 clone dObjects.Add(Guid, clone);68 cloner.RegisterClonedObject(this, clone); 69 69 clone.Data = Data; 70 70 return clone;
Note: See TracChangeset
for help on using the changeset viewer.