void IDisjointSet <T> .MakeSet(T value) { IDisjointSet <T> ithis = this; Contract.Requires(value != null); Contract.Requires(!ithis.Contains(value)); Contract.Ensures(ithis.Contains(value)); Contract.Ensures(ithis.SetCount == Contract.OldValue(ithis.SetCount) + 1); Contract.Ensures(ithis.ElementCount == Contract.OldValue(ithis.ElementCount) + 1); }
bool IDisjointSet <T> .AreInSameSet(T left, T right) { IDisjointSet <T> ithis = this; Contract.Requires(left != null); Contract.Requires(right != null); Contract.Requires(ithis.Contains(left)); Contract.Requires(ithis.Contains(right)); return(default(bool)); }
T IDisjointSet <T> .FindSet(T value) { IDisjointSet <T> ithis = this; Contract.Requires(value != null); Contract.Requires(ithis.Contains(value)); return(default(T)); }