blob: 6294ffbae3c731c7c4275e1fdd03dc39b1f5730d [file] [log] [blame]
/* 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.
*/
parcel Lucy;
/** Intersect required and optional Matchers.
*/
class Lucy::Search::RequiredOptionalMatcher cnick ReqOptMatcher
inherits Lucy::Search::PolyMatcher {
Matcher *req_matcher;
Matcher *opt_matcher;
bool_t opt_matcher_first_time;
inert incremented RequiredOptionalMatcher*
new(Similarity *similarity, Matcher *required_matcher,
Matcher *optional_matcher);
inert RequiredOptionalMatcher*
init(RequiredOptionalMatcher *self, Similarity *similarity,
Matcher *required_matcher, Matcher *optional_matcher);
public void
Destroy(RequiredOptionalMatcher *self);
public int32_t
Next(RequiredOptionalMatcher *self);
public int32_t
Advance(RequiredOptionalMatcher *self, int32_t target);
public float
Score(RequiredOptionalMatcher *self);
public int32_t
Get_Doc_ID(RequiredOptionalMatcher *self);
}