/** @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_FIELDDOCCOLLATOR
#define R_KINO_FIELDDOCCOLLATOR 1
#include "KinoSearch/Search/FieldDocCollator.h"
#define KINO_FIELDDOCCOLLATOR_BOILERPLATE
typedef void
(*kino_FDocCollator_destroy_t)(kino_FieldDocCollator *self);
typedef chy_bool_t
(*kino_FDocCollator_compare_t)(kino_FieldDocCollator *self,
chy_u32_t doc_num_a, float score_a,
chy_u32_t doc_num_b, float score_b);
#define Kino_FDocCollator_Clone(self) \
(self)->_->clone((kino_Obj*)self)
#define Kino_FDocCollator_Destroy(self) \
(self)->_->destroy((kino_Obj*)self)
#define Kino_FDocCollator_Equals(self, other) \
(self)->_->equals((kino_Obj*)self, other)
#define Kino_FDocCollator_Hash_Code(self) \
(self)->_->hash_code((kino_Obj*)self)
#define Kino_FDocCollator_Is_A(self, target_vtable) \
(self)->_->is_a((kino_Obj*)self, target_vtable)
#define Kino_FDocCollator_To_String(self) \
(self)->_->to_string((kino_Obj*)self)
#define Kino_FDocCollator_Serialize(self, target) \
(self)->_->serialize((kino_Obj*)self, target)
#define Kino_FDocCollator_Compare(self, doc_num_a, score_a, doc_num_b, score_b) \
(self)->_->compare((kino_FieldDocCollator*)self, doc_num_a, score_a, doc_num_b, score_b)
struct KINO_FIELDDOCCOLLATOR_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_FDocCollator_compare_t compare;
};
extern KINO_FIELDDOCCOLLATOR_VTABLE KINO_FIELDDOCCOLLATOR;
#ifdef KINO_USE_SHORT_NAMES
#define FieldDocCollator kino_FieldDocCollator
#define FIELDDOCCOLLATOR KINO_FIELDDOCCOLLATOR
#define FDocCollator_new kino_FDocCollator_new
#define FDocCollator_add kino_FDocCollator_add
#define FDocCollator_less_than kino_FDocCollator_less_than
#define FDocCollator_destroy kino_FDocCollator_destroy
#define FDocCollator_compare_t kino_FDocCollator_compare_t
#define FDocCollator_compare kino_FDocCollator_compare
#define FDocCollator_Clone Kino_FDocCollator_Clone
#define FDocCollator_Destroy Kino_FDocCollator_Destroy
#define FDocCollator_Equals Kino_FDocCollator_Equals
#define FDocCollator_Hash_Code Kino_FDocCollator_Hash_Code
#define FDocCollator_Is_A Kino_FDocCollator_Is_A
#define FDocCollator_To_String Kino_FDocCollator_To_String
#define FDocCollator_Serialize Kino_FDocCollator_Serialize
#define FDocCollator_Compare Kino_FDocCollator_Compare
#endif /* KINO_USE_SHORT_NAMES */
#define KINO_FIELDDOCCOLLATOR_MEMBER_VARS \
chy_u32_t refcount; \
chy_u32_t cap; \
chy_u32_t size; \
struct kino_IntMap ** sort_caches; \
chy_bool_t * reversed
#ifdef KINO_WANT_FIELDDOCCOLLATOR_VTABLE
KINO_FIELDDOCCOLLATOR_VTABLE KINO_FIELDDOCCOLLATOR = {
(KINO_OBJ_VTABLE*)&KINO_VIRTUALTABLE,
1,
(KINO_OBJ_VTABLE*)&KINO_OBJ,
"KinoSearch::Search::FieldDocCollator",
(kino_Obj_clone_t)kino_Obj_clone,
(kino_Obj_destroy_t)kino_FDocCollator_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_FDocCollator_compare_t)kino_FDocCollator_compare
};
#endif /* KINO_WANT_FIELDDOCCOLLATOR_VTABLE */
#undef KINO_FIELDDOCCOLLATOR_BOILERPLATE
#endif /* R_KINO_FIELDDOCCOLLATOR */
/* Copyright 2007 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify
* under the same terms as Perl itself.
*/