namespace HeuristicLab.Problems.ProgramSynthesis { using HeuristicLab.Common; using HeuristicLab.Core; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; [StorableClass] public abstract class ErcOption : ErcOptionConvertible { protected ErcOption() : this(false, new WeightedErcItem[0]) { } protected ErcOption(bool isEnabled, params WeightedErcItem[] values) : base(isEnabled, values) { } [StorableConstructor] protected ErcOption(bool deserializing) : base(deserializing) { } protected ErcOption(ErcOptionConvertible origin, Cloner cloner) : base(origin, cloner) { } public override T GetErcValue(IRandom random) { return GetErcValue(random, x => x); } } }