public bool MoveNext() { if (_enums.Count != 0) { Current = default; foreach (var enumerator in _enums) { var compareResult = enumerator.Current.CompareTo(Current); if (compareResult == 0) { _toMove.Add(enumerator); } else if (compareResult > 0) { _toMove.ClearFast(); Current = enumerator.Current; _toMove.Add(enumerator); } } foreach (var enumerator in _toMove) { if (!enumerator.MoveNext()) { _enums.Remove(enumerator); } } _toMove.ClearFast(); return(true); } _toMove.Clear(); return(false); }
public RecMultiUnionList Add(HList <RecommendIndexEntry> list) { if (list.Count > 0) { _list.Add(list); } return(this); }
public UintMultiUnionList Add(HList <uint> list) { if (list.Count > 0) { _list.Add(list); } return(this); }
public IEnumerator <uint> GetEnumerator() { Reset(); foreach (var enumerable in _list) { _positions.Add(0); } return(this); }
public void Prepare() { _enums.Clear(); foreach (var enumerable in _list) { HList <RecommendIndexEntry> .Enumerator enumerator = enumerable.GetEnumerator(); if (enumerator.MoveNext()) { _enums.Add(enumerator); } } }
public IEnumerator <T> GetEnumerator() { foreach (var list in _source) { var enumerator = list.GetEnumerator(); if (enumerator.MoveNext()) { _enums.Add(enumerator); } } return(this); }
public IEnumerator <uint> GetEnumerator() { _enums.Clear(); foreach (var enumerable in _list) { HList <uint> .Enumerator enumerator = enumerable.GetEnumerator(); if (enumerator.MoveNext()) { _enums.Add(enumerator); } } return(this); }
public IEnumerator <T> GetEnumerator() { _enums.Clear(); _toMove.Clear(); foreach (var enumerable in _list) { IEnumerator <T> enumerator = enumerable.GetEnumerator(); if (enumerator.MoveNext()) { _enums.Add(enumerator); } } return(this); }
public MultiUnionList <T> Add(IEnumerable <T> list) { _list.Add(list); return(this); }