public virtual bool Next() { if (firstTime) { // first time -- initialize for (int i = 0; i < all.Count; i++) { Spans spans = (Spans)all[i]; if (spans.Next()) { // move to first entry queue.Put(spans); // build queue } else { all.RemoveAt(i--); } } firstTime = false; return(queue.Size() != 0); } if (queue.Size() == 0) { // all done return(false); } if (Top().Next()) { // move to next queue.AdjustTop(); return(true); } all.Remove(queue.Pop()); // exhausted a clause return(queue.Size() != 0); }
private bool InitSpanQueue(int target) { queue = new SpanQueue(enclosingInstance, Enclosing_Instance.clauses.Count); System.Collections.IEnumerator i = Enclosing_Instance.clauses.GetEnumerator(); while (i.MoveNext()) { PayloadSpans spans = ((SpanQuery)i.Current).GetPayloadSpans(reader); if (((target == -1) && spans.Next()) || ((target != -1) && spans.SkipTo(target))) { queue.Put(spans); } } return(queue.Size() != 0); }
private bool InitSpanQueue(int target) { queue = new SpanQueue(enclosingInstance, Enclosing_Instance.clauses.Count); System.Collections.IEnumerator i = Enclosing_Instance.clauses.GetEnumerator(); while (i.MoveNext()) { Spans spans = ((SpanQuery) i.Current).GetSpans(reader); if (((target == - 1) && spans.Next()) || ((target != - 1) && spans.SkipTo(target))) { queue.Put(spans); } } return queue.Size() != 0; }
private bool InitSpanQueue(int target) { queue = new SpanQueue(enclosingInstance, Enclosing_Instance.clauses.Count); foreach (SpanQuery i in Enclosing_Instance.clauses) { Spans spans = i.GetSpans(reader); if (((target == -1) && spans.Next()) || ((target != -1) && spans.SkipTo(target))) { queue.Put(spans); } } return(queue.Size() != 0); }