Mercurial > pub > ImplabNet
view Implab/Automaton/AutomatonTransition.cs @ 205:8200ab154c8a v2
Added ResetState to RunnableComponent to reset in case of failure
Added StateChanged event to IRunnable
Renamed Promise.SUCCESS -> Promise.Success
Added Promise.FromException
Renamed Bundle -> PromiseAll in PromiseExtensions
author | cin |
---|---|
date | Tue, 25 Oct 2016 17:40:33 +0300 |
parents | b84cdbe82e7f |
children | d6fe09f5592c |
line wrap: on
line source
using System; namespace Implab.Automaton { public struct AutomatonTransition : IEquatable<AutomatonTransition> { public readonly int s1; public readonly int s2; public readonly int edge; public AutomatonTransition(int s1, int s2, int edge) { this.s1 = s1; this.s2 = s2; this.edge = edge; } #region IEquatable implementation public bool Equals(AutomatonTransition other) { return other.s1 == s1 && other.s2 == s2 && other.edge == edge ; } #endregion public override bool Equals(object obj) { if (obj is AutomatonTransition) return Equals((AutomatonTransition)obj); return base.Equals(obj); } public override int GetHashCode() { return s1 + s2 + edge; } public static bool operator == (AutomatonTransition rv, AutomatonTransition lv) { return rv.Equals(lv); } public static bool operator !=(AutomatonTransition rv, AutomatonTransition lv) { return rv.Equals(lv); } } }