public bool MoveNext() { int oid1 = 0, oid2; int n = iterators.Length; while (true) { for (int i = 0, j = 0; i < n; j++, i++) { do { if (!iterators[j % n].MoveNext()) { return(false); } oid2 = iterators[j % n].CurrentOid; } while (oid2 < oid1); if (oid2 > oid1) { oid1 = oid2; i = 0; } } object obj = index.Storage.GetObjectByOID(oid1); string text = index.extractText(obj); if (match(text, pattern)) { currObj = obj; currOid = oid1; return(true); } } }
public bool MoveNext() { while (iterator.MoveNext()) { #if USE_GENERICS T obj = iterator.Current; #else object obj = iterator.Current; #endif string text = index.extractText(obj); if (match(text, pattern)) { currObj = obj; return(true); } } return(false); }