/* 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; /** Single-segment PostingList. */ class Lucy::Index::SegPostingList cnick SegPList inherits Lucy::Index::PostingList { PostingListReader *plist_reader; CharBuf *field; Posting *posting; InStream *post_stream; InStream *skip_stream; SkipStepper *skip_stepper; int32_t skip_interval; uint32_t count; uint32_t doc_freq; uint32_t skip_count; uint32_t num_skips; int32_t field_num; inert incremented SegPostingList* new(PostingListReader *plist_reader, const CharBuf *field); inert SegPostingList* init(SegPostingList *self, PostingListReader *plist_reader, const CharBuf *field); InStream* Get_Post_Stream(SegPostingList *self); uint32_t Get_Count(SegPostingList *self); public void Destroy(SegPostingList *self); public uint32_t Get_Doc_Freq(SegPostingList *self); public int32_t Get_Doc_ID(SegPostingList *self); Posting* Get_Posting(SegPostingList *self); public int32_t Next(SegPostingList *self); public int32_t Advance(SegPostingList *self, int32_t target); public void Seek(SegPostingList *self, Obj *target = NULL); /** Optimized version of Seek(), designed to speed sequential access. */ void Seek_Lex(SegPostingList *self, Lexicon *lexicon); Matcher* Make_Matcher(SegPostingList *self, Similarity *similarity, Compiler *compiler, bool_t need_score); RawPosting* Read_Raw(SegPostingList *self, int32_t last_doc_id, CharBuf *term_text, MemoryPool *mem_pool); }