using HeuristicLab.Common; using HeuristicLab.Core; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; namespace HeuristicLab.EvolutionTracking { [StorableClass] [Item("GenealogyGraphArc", "A graph arc connecting two GenealogyGraphNodes and holding some data.")] public class GenealogyGraphArc : Arc, IGenealogyGraphArc where T : class,IItem { [StorableConstructor] protected GenealogyGraphArc(bool deserializing) : base(deserializing) { } protected GenealogyGraphArc(GenealogyGraphArc original, Cloner cloner) : base(original, cloner) { Data = (T)original.Data.Clone(); } public override IDeepCloneable Clone(Cloner cloner) { return new GenealogyGraphArc(this, cloner); } public new IGenealogyGraphNode Source { get; set; } public new IGenealogyGraphNode Target { get; set; } public new T Data { get; set; } } }