/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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(); } }