public static bool AllConsecutiveElements <T>(this SCG.IEnumerable <T> enumerable, Func <T, T, bool> predicate) { #region Code Contracts // Argument must be non-null Requires(enumerable != null, ArgumentMustBeNonNull); // Argument must be non-null Requires(predicate != null, ArgumentMustBeNonNull); #endregion using (var enumerator = enumerable.GetEnumerator()) { if (enumerator.MoveNext()) { var previous = enumerator.Current; while (enumerator.MoveNext()) { var current = enumerator.Current; if (!predicate(previous, current)) { return(false); } previous = current; } } } return(true); }
protected static int countItems(SCG.IEnumerable <T> items) { ICollectionValue <T> jtems = items as ICollectionValue <T>; if (jtems != null) { return(jtems.Count); } int count = 0; using (SCG.IEnumerator <T> e = items.GetEnumerator()) while (e.MoveNext()) { count++; } return(count); }
public override System.Collections.Generic.IEnumerator <T> GetEnumerator() { return(enumerable.GetEnumerator()); }
public override SCG.IEnumerator <T> GetEnumerator() => _enumerable.GetEnumerator();
public override SCG.IEnumerator <T> GetEnumerator() { return(_enumerable.GetEnumerator()); }