/** @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_PRESORTER
#define R_KINO_PRESORTER 1
#include "KinoSearch/Index/PreSorter.h"
#define KINO_PRESORTER_BOILERPLATE
typedef void
(*kino_PreSorter_destroy_t)(kino_PreSorter *self);
typedef void
(*kino_PreSorter_add_val_t)(kino_PreSorter *self, chy_u32_t doc_num,
const struct kino_ByteBuf *val);
typedef void
(*kino_PreSorter_add_seg_data_t)(kino_PreSorter *self, chy_u32_t seg_max_doc,
struct kino_SegLexicon *lexicon,
struct kino_IntMap *sort_cache,
struct kino_IntMap *seg_doc_remap);
typedef struct kino_IntMap*
(*kino_PreSorter_gen_remap_t)(kino_PreSorter *self);
#define Kino_PreSorter_Clone(self) \
kino_Obj_clone((kino_Obj*)self)
#define Kino_PreSorter_Destroy(self) \
kino_PreSorter_destroy((kino_PreSorter*)self)
#define Kino_PreSorter_Equals(self, other) \
kino_Obj_equals((kino_Obj*)self, other)
#define Kino_PreSorter_Hash_Code(self) \
kino_Obj_hash_code((kino_Obj*)self)
#define Kino_PreSorter_Is_A(self, target_vtable) \
kino_Obj_is_a((kino_Obj*)self, target_vtable)
#define Kino_PreSorter_To_String(self) \
kino_Obj_to_string((kino_Obj*)self)
#define Kino_PreSorter_Serialize(self, target) \
kino_Obj_serialize((kino_Obj*)self, target)
#define Kino_PreSorter_Add_Val(self, doc_num, val) \
kino_PreSorter_add_val((kino_PreSorter*)self, doc_num, val)
#define Kino_PreSorter_Add_Seg_Data(self, seg_max_doc, lexicon, sort_cache, seg_doc_remap) \
kino_PreSorter_add_seg_data((kino_PreSorter*)self, seg_max_doc, lexicon, sort_cache, seg_doc_remap)
#define Kino_PreSorter_Gen_Remap(self) \
kino_PreSorter_gen_remap((kino_PreSorter*)self)
struct KINO_PRESORTER_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_PreSorter_add_val_t add_val;
kino_PreSorter_add_seg_data_t add_seg_data;
kino_PreSorter_gen_remap_t gen_remap;
};
extern KINO_PRESORTER_VTABLE KINO_PRESORTER;
#ifdef KINO_USE_SHORT_NAMES
#define PreSorter kino_PreSorter
#define PRESORTER KINO_PRESORTER
#define PreSorter_new kino_PreSorter_new
#define PreSorter_destroy_t kino_PreSorter_destroy_t
#define PreSorter_destroy kino_PreSorter_destroy
#define PreSorter_add_val_t kino_PreSorter_add_val_t
#define PreSorter_add_val kino_PreSorter_add_val
#define PreSorter_add_seg_data_t kino_PreSorter_add_seg_data_t
#define PreSorter_add_seg_data kino_PreSorter_add_seg_data
#define PreSorter_gen_remap_t kino_PreSorter_gen_remap_t
#define PreSorter_gen_remap kino_PreSorter_gen_remap
#define PreSorter_Clone Kino_PreSorter_Clone
#define PreSorter_Destroy Kino_PreSorter_Destroy
#define PreSorter_Equals Kino_PreSorter_Equals
#define PreSorter_Hash_Code Kino_PreSorter_Hash_Code
#define PreSorter_Is_A Kino_PreSorter_Is_A
#define PreSorter_To_String Kino_PreSorter_To_String
#define PreSorter_Serialize Kino_PreSorter_Serialize
#define PreSorter_Add_Val Kino_PreSorter_Add_Val
#define PreSorter_Add_Seg_Data Kino_PreSorter_Add_Seg_Data
#define PreSorter_Gen_Remap Kino_PreSorter_Gen_Remap
#endif /* KINO_USE_SHORT_NAMES */
#define KINO_PRESORTER_MEMBER_VARS \
chy_u32_t refcount; \
struct kino_ByteBuf * field; \
chy_bool_t reverse; \
kino_MSort_compare_t compare; \
struct kino_Hash * vals; \
struct kino_VArray * doc_vals; \
struct kino_IntMap * doc_remap; \
struct kino_ByteBuf * scratch
#ifdef KINO_WANT_PRESORTER_VTABLE
KINO_PRESORTER_VTABLE KINO_PRESORTER = {
(KINO_OBJ_VTABLE*)&KINO_VIRTUALTABLE,
1,
(KINO_OBJ_VTABLE*)&KINO_OBJ,
"KinoSearch::Index::PreSorter",
(kino_Obj_clone_t)kino_Obj_clone,
(kino_Obj_destroy_t)kino_PreSorter_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_PreSorter_add_val_t)kino_PreSorter_add_val,
(kino_PreSorter_add_seg_data_t)kino_PreSorter_add_seg_data,
(kino_PreSorter_gen_remap_t)kino_PreSorter_gen_remap
};
#endif /* KINO_WANT_PRESORTER_VTABLE */
#undef KINO_PRESORTER_BOILERPLATE
#endif /* R_KINO_PRESORTER */
/* Copyright 2007 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify
* under the same terms as Perl itself.
*/