/* * Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; namespace Lucene.Net.Search.Spans { /// Expert: an enumeration of span matches. Used to implement span searching. /// Each span represents a range of term positions within a document. Matches /// are enumerated in order, by increasing document number, within that by /// increasing start position and finally by increasing end position. /// public interface Spans { /// Move to the next match, returning true iff any such exists. bool Next(); /// Skips to the first match beyond the current, whose document number is /// greater than or equal to target.

Returns true iff there is such /// a match.

Behaves as if written:

		/// boolean skipTo(int target) {
		/// do {
		/// if (!next())
		/// return false;
		/// } while (target > doc());
		/// return true;
		/// }
		/// 
/// Most implementations are considerably more efficient than that. ///
bool SkipTo(int target); /// Returns the document number of the current match. Initially invalid. int Doc(); /// Returns the start position of the current match. Initially invalid. int Start(); /// Returns the end position of the current match. Initially invalid. int End(); } }