/** @file */
/***********************************************
!!!! DO NOT EDIT THIS FILE !!!!
All content has been auto-generated by
the boilerplater.pl utility.
See boilerplater's documentation for details.
***********************************************/
#ifndef R_KINO_SEGPOSTINGLIST
#define R_KINO_SEGPOSTINGLIST 1
#include "KinoSearch/Index/SegPostingList.h"
#define KINO_SEGPOSTINGLIST_BOILERPLATE
typedef void
(*kino_SegPList_destroy_t)(kino_SegPostingList *self);
typedef struct kino_Posting*
(*kino_SegPList_get_posting_t)(kino_SegPostingList *self);
typedef chy_u32_t
(*kino_SegPList_get_doc_freq_t)(kino_SegPostingList *self);
typedef chy_u32_t
(*kino_SegPList_get_doc_num_t)(kino_SegPostingList *self);
typedef void
(*kino_SegPList_seek_t)(kino_SegPostingList *self, struct kino_Term *target);
typedef void
(*kino_SegPList_seek_lex_t)(kino_SegPostingList *self,
struct kino_Lexicon *lexicon);
typedef chy_bool_t
(*kino_SegPList_next_t)(kino_SegPostingList *self);
typedef chy_bool_t
(*kino_SegPList_skip_to_t)(kino_SegPostingList *self, chy_u32_t target);
typedef struct kino_Scorer*
(*kino_SegPList_make_scorer_t)(kino_SegPostingList *self,
struct kino_Similarity *sim,
void *weight, float weight_val);
typedef void
(*kino_SegPList_set_doc_base_t)(kino_SegPostingList *self, chy_u32_t doc_base);
#define Kino_SegPList_Clone(self) \
(self)->_->clone((kino_Obj*)self)
#define Kino_SegPList_Destroy(self) \
(self)->_->destroy((kino_Obj*)self)
#define Kino_SegPList_Equals(self, other) \
(self)->_->equals((kino_Obj*)self, other)
#define Kino_SegPList_Hash_Code(self) \
(self)->_->hash_code((kino_Obj*)self)
#define Kino_SegPList_Is_A(self, target_vtable) \
(self)->_->is_a((kino_Obj*)self, target_vtable)
#define Kino_SegPList_To_String(self) \
(self)->_->to_string((kino_Obj*)self)
#define Kino_SegPList_Serialize(self, target) \
(self)->_->serialize((kino_Obj*)self, target)
#define Kino_SegPList_Get_Posting(self) \
(self)->_->get_posting((kino_PostingList*)self)
#define Kino_SegPList_Get_Doc_Freq(self) \
(self)->_->get_doc_freq((kino_PostingList*)self)
#define Kino_SegPList_Get_Doc_Num(self) \
(self)->_->get_doc_num((kino_PostingList*)self)
#define Kino_SegPList_Seek(self, target) \
(self)->_->seek((kino_PostingList*)self, target)
#define Kino_SegPList_Seek_Lex(self, lexicon) \
(self)->_->seek_lex((kino_PostingList*)self, lexicon)
#define Kino_SegPList_Next(self) \
(self)->_->next((kino_PostingList*)self)
#define Kino_SegPList_Skip_To(self, target) \
(self)->_->skip_to((kino_PostingList*)self, target)
#define Kino_SegPList_Make_Scorer(self, sim, weight, weight_val) \
(self)->_->make_scorer((kino_PostingList*)self, sim, weight, weight_val)
#define Kino_SegPList_Set_Doc_Base(self, doc_base) \
(self)->_->set_doc_base((kino_SegPostingList*)self, doc_base)
struct KINO_SEGPOSTINGLIST_VTABLE {
KINO_OBJ_VTABLE *_;
chy_u32_t refcount;
KINO_OBJ_VTABLE *parent;
const char *class_name;
kino_Obj_clone_t clone;
kino_Obj_destroy_t destroy;
kino_Obj_equals_t equals;
kino_Obj_hash_code_t hash_code;
kino_Obj_is_a_t is_a;
kino_Obj_to_string_t to_string;
kino_Obj_serialize_t serialize;
kino_PList_get_posting_t get_posting;
kino_PList_get_doc_freq_t get_doc_freq;
kino_PList_get_doc_num_t get_doc_num;
kino_PList_seek_t seek;
kino_PList_seek_lex_t seek_lex;
kino_PList_next_t next;
kino_PList_skip_to_t skip_to;
kino_PList_make_scorer_t make_scorer;
kino_SegPList_set_doc_base_t set_doc_base;
};
extern KINO_SEGPOSTINGLIST_VTABLE KINO_SEGPOSTINGLIST;
#ifdef KINO_USE_SHORT_NAMES
#define SegPostingList kino_SegPostingList
#define SEGPOSTINGLIST KINO_SEGPOSTINGLIST
#define SegPList_new kino_SegPList_new
#define SegPList_destroy kino_SegPList_destroy
#define SegPList_get_posting kino_SegPList_get_posting
#define SegPList_get_doc_freq kino_SegPList_get_doc_freq
#define SegPList_get_doc_num kino_SegPList_get_doc_num
#define SegPList_seek kino_SegPList_seek
#define SegPList_seek_lex kino_SegPList_seek_lex
#define SegPList_next kino_SegPList_next
#define SegPList_skip_to kino_SegPList_skip_to
#define SegPList_make_scorer kino_SegPList_make_scorer
#define SegPList_set_doc_base_t kino_SegPList_set_doc_base_t
#define SegPList_set_doc_base kino_SegPList_set_doc_base
#define SegPList_Clone Kino_SegPList_Clone
#define SegPList_Destroy Kino_SegPList_Destroy
#define SegPList_Equals Kino_SegPList_Equals
#define SegPList_Hash_Code Kino_SegPList_Hash_Code
#define SegPList_Is_A Kino_SegPList_Is_A
#define SegPList_To_String Kino_SegPList_To_String
#define SegPList_Serialize Kino_SegPList_Serialize
#define SegPList_Get_Posting Kino_SegPList_Get_Posting
#define SegPList_Get_Doc_Freq Kino_SegPList_Get_Doc_Freq
#define SegPList_Get_Doc_Num Kino_SegPList_Get_Doc_Num
#define SegPList_Seek Kino_SegPList_Seek
#define SegPList_Seek_Lex Kino_SegPList_Seek_Lex
#define SegPList_Next Kino_SegPList_Next
#define SegPList_Skip_To Kino_SegPList_Skip_To
#define SegPList_Make_Scorer Kino_SegPList_Make_Scorer
#define SegPList_Set_Doc_Base Kino_SegPList_Set_Doc_Base
#endif /* KINO_USE_SHORT_NAMES */
#define KINO_SEGPOSTINGLIST_MEMBER_VARS \
chy_u32_t refcount; \
struct kino_Schema * schema; \
struct kino_Folder * folder; \
struct kino_SegInfo * seg_info; \
struct kino_DelDocs * deldocs; \
struct kino_ByteBuf * field; \
struct kino_LexReader * lex_reader; \
struct kino_Posting * posting; \
struct kino_InStream * post_stream; \
struct kino_InStream * skip_stream; \
struct kino_SkipStepper * skip_stepper; \
chy_u32_t doc_base; \
chy_u32_t count; \
chy_u32_t doc_freq; \
chy_u32_t skip_count; \
chy_u32_t num_skips; \
chy_i32_t field_num; \
chy_u32_t skip_interval
#ifdef KINO_WANT_SEGPOSTINGLIST_VTABLE
KINO_SEGPOSTINGLIST_VTABLE KINO_SEGPOSTINGLIST = {
(KINO_OBJ_VTABLE*)&KINO_VIRTUALTABLE,
1,
(KINO_OBJ_VTABLE*)&KINO_POSTINGLIST,
"KinoSearch::Index::SegPostingList",
(kino_Obj_clone_t)kino_Obj_clone,
(kino_Obj_destroy_t)kino_SegPList_destroy,
(kino_Obj_equals_t)kino_Obj_equals,
(kino_Obj_hash_code_t)kino_Obj_hash_code,
(kino_Obj_is_a_t)kino_Obj_is_a,
(kino_Obj_to_string_t)kino_Obj_to_string,
(kino_Obj_serialize_t)kino_Obj_serialize,
(kino_PList_get_posting_t)kino_SegPList_get_posting,
(kino_PList_get_doc_freq_t)kino_SegPList_get_doc_freq,
(kino_PList_get_doc_num_t)kino_SegPList_get_doc_num,
(kino_PList_seek_t)kino_SegPList_seek,
(kino_PList_seek_lex_t)kino_SegPList_seek_lex,
(kino_PList_next_t)kino_SegPList_next,
(kino_PList_skip_to_t)kino_SegPList_skip_to,
(kino_PList_make_scorer_t)kino_SegPList_make_scorer,
(kino_SegPList_set_doc_base_t)kino_SegPList_set_doc_base
};
#endif /* KINO_WANT_SEGPOSTINGLIST_VTABLE */
#undef KINO_SEGPOSTINGLIST_BOILERPLATE
#endif /* R_KINO_SEGPOSTINGLIST */
/* Copyright 2007 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify
* under the same terms as Perl itself.
*/