/** @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_OUTSTREAM
#define R_KINO_OUTSTREAM 1
#include "KinoSearch/Store/OutStream.h"
#define KINO_OUTSTREAM_BOILERPLATE
typedef void
(*kino_OutStream_destroy_t)(kino_OutStream *self);
typedef chy_u64_t
(*kino_OutStream_stell_t)(kino_OutStream *self);
typedef void
(*kino_OutStream_sflush_t)(kino_OutStream *self);
typedef chy_u64_t
(*kino_OutStream_slength_t)(kino_OutStream *self);
typedef void
(*kino_OutStream_write_byte_t)(kino_OutStream *self, char aChar);
typedef void
(*kino_OutStream_write_bytes_t)(kino_OutStream *self, const char *buf, size_t len);
typedef void
(*kino_OutStream_write_int_t)(kino_OutStream *self, chy_u32_t);
typedef void
(*kino_OutStream_write_long_t)(kino_OutStream *self, chy_u64_t);
typedef void
(*kino_OutStream_write_vint_t)(kino_OutStream *self, chy_u32_t);
typedef void
(*kino_OutStream_write_vlong_t)(kino_OutStream *self, chy_u64_t);
typedef void
(*kino_OutStream_write_string_t)(kino_OutStream *self, const char *buf,
size_t len);
typedef void
(*kino_OutStream_absorb_t)(kino_OutStream *self, struct kino_InStream *instream);
typedef void
(*kino_OutStream_sclose_t)(kino_OutStream *self);
#define Kino_OutStream_Clone(self) \
kino_Obj_clone((kino_Obj*)self)
#define Kino_OutStream_Destroy(self) \
kino_OutStream_destroy((kino_OutStream*)self)
#define Kino_OutStream_Equals(self, other) \
kino_Obj_equals((kino_Obj*)self, other)
#define Kino_OutStream_Hash_Code(self) \
kino_Obj_hash_code((kino_Obj*)self)
#define Kino_OutStream_Is_A(self, target_vtable) \
kino_Obj_is_a((kino_Obj*)self, target_vtable)
#define Kino_OutStream_To_String(self) \
kino_Obj_to_string((kino_Obj*)self)
#define Kino_OutStream_Serialize(self, target) \
kino_Obj_serialize((kino_Obj*)self, target)
#define Kino_OutStream_STell(self) \
kino_OutStream_stell((kino_OutStream*)self)
#define Kino_OutStream_SFlush(self) \
kino_OutStream_sflush((kino_OutStream*)self)
#define Kino_OutStream_SLength(self) \
kino_OutStream_slength((kino_OutStream*)self)
#define Kino_OutStream_Write_Byte(self, aChar) \
kino_OutStream_write_byte((kino_OutStream*)self, aChar)
#define Kino_OutStream_Write_Bytes(self, buf, len) \
kino_OutStream_write_bytes((kino_OutStream*)self, buf, len)
#define Kino_OutStream_Write_Int(self, chy_u32_t) \
kino_OutStream_write_int((kino_OutStream*)self, chy_u32_t)
#define Kino_OutStream_Write_Long(self, chy_u64_t) \
kino_OutStream_write_long((kino_OutStream*)self, chy_u64_t)
#define Kino_OutStream_Write_VInt(self, chy_u32_t) \
kino_OutStream_write_vint((kino_OutStream*)self, chy_u32_t)
#define Kino_OutStream_Write_VLong(self, chy_u64_t) \
kino_OutStream_write_vlong((kino_OutStream*)self, chy_u64_t)
#define Kino_OutStream_Write_String(self, buf, len) \
kino_OutStream_write_string((kino_OutStream*)self, buf, len)
#define Kino_OutStream_Absorb(self, instream) \
kino_OutStream_absorb((kino_OutStream*)self, instream)
#define Kino_OutStream_SClose(self) \
kino_OutStream_sclose((kino_OutStream*)self)
struct KINO_OUTSTREAM_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_OutStream_stell_t stell;
kino_OutStream_sflush_t sflush;
kino_OutStream_slength_t slength;
kino_OutStream_write_byte_t write_byte;
kino_OutStream_write_bytes_t write_bytes;
kino_OutStream_write_int_t write_int;
kino_OutStream_write_long_t write_long;
kino_OutStream_write_vint_t write_vint;
kino_OutStream_write_vlong_t write_vlong;
kino_OutStream_write_string_t write_string;
kino_OutStream_absorb_t absorb;
kino_OutStream_sclose_t sclose;
};
extern KINO_OUTSTREAM_VTABLE KINO_OUTSTREAM;
#ifdef KINO_USE_SHORT_NAMES
#define OutStream kino_OutStream
#define OUTSTREAM KINO_OUTSTREAM
#define OutStream_new kino_OutStream_new
#define OutStream_destroy_t kino_OutStream_destroy_t
#define OutStream_destroy kino_OutStream_destroy
#define OutStream_stell_t kino_OutStream_stell_t
#define OutStream_stell kino_OutStream_stell
#define OutStream_sflush_t kino_OutStream_sflush_t
#define OutStream_sflush kino_OutStream_sflush
#define OutStream_slength_t kino_OutStream_slength_t
#define OutStream_slength kino_OutStream_slength
#define OutStream_write_byte_t kino_OutStream_write_byte_t
#define OutStream_write_byte kino_OutStream_write_byte
#define OutStream_write_bytes_t kino_OutStream_write_bytes_t
#define OutStream_write_bytes kino_OutStream_write_bytes
#define OutStream_write_int_t kino_OutStream_write_int_t
#define OutStream_write_int kino_OutStream_write_int
#define OutStream_write_long_t kino_OutStream_write_long_t
#define OutStream_write_long kino_OutStream_write_long
#define OutStream_write_vint_t kino_OutStream_write_vint_t
#define OutStream_write_vint kino_OutStream_write_vint
#define OutStream_write_vlong_t kino_OutStream_write_vlong_t
#define OutStream_write_vlong kino_OutStream_write_vlong
#define OutStream_write_string_t kino_OutStream_write_string_t
#define OutStream_write_string kino_OutStream_write_string
#define OutStream_absorb_t kino_OutStream_absorb_t
#define OutStream_absorb kino_OutStream_absorb
#define OutStream_sclose_t kino_OutStream_sclose_t
#define OutStream_sclose kino_OutStream_sclose
#define OutStream_Clone Kino_OutStream_Clone
#define OutStream_Destroy Kino_OutStream_Destroy
#define OutStream_Equals Kino_OutStream_Equals
#define OutStream_Hash_Code Kino_OutStream_Hash_Code
#define OutStream_Is_A Kino_OutStream_Is_A
#define OutStream_To_String Kino_OutStream_To_String
#define OutStream_Serialize Kino_OutStream_Serialize
#define OutStream_STell Kino_OutStream_STell
#define OutStream_SFlush Kino_OutStream_SFlush
#define OutStream_SLength Kino_OutStream_SLength
#define OutStream_Write_Byte Kino_OutStream_Write_Byte
#define OutStream_Write_Bytes Kino_OutStream_Write_Bytes
#define OutStream_Write_Int Kino_OutStream_Write_Int
#define OutStream_Write_Long Kino_OutStream_Write_Long
#define OutStream_Write_VInt Kino_OutStream_Write_VInt
#define OutStream_Write_VLong Kino_OutStream_Write_VLong
#define OutStream_Write_String Kino_OutStream_Write_String
#define OutStream_Absorb Kino_OutStream_Absorb
#define OutStream_SClose Kino_OutStream_SClose
#endif /* KINO_USE_SHORT_NAMES */
#define KINO_OUTSTREAM_MEMBER_VARS \
chy_u32_t refcount; \
char * buf; \
chy_u64_t buf_start; \
chy_u32_t buf_pos; \
struct kino_FileDes * file_des; \
chy_bool_t is_closed
#ifdef KINO_WANT_OUTSTREAM_VTABLE
KINO_OUTSTREAM_VTABLE KINO_OUTSTREAM = {
(KINO_OBJ_VTABLE*)&KINO_VIRTUALTABLE,
1,
(KINO_OBJ_VTABLE*)&KINO_OBJ,
"KinoSearch::Store::OutStream",
(kino_Obj_clone_t)kino_Obj_clone,
(kino_Obj_destroy_t)kino_OutStream_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_OutStream_stell_t)kino_OutStream_stell,
(kino_OutStream_sflush_t)kino_OutStream_sflush,
(kino_OutStream_slength_t)kino_OutStream_slength,
(kino_OutStream_write_byte_t)kino_OutStream_write_byte,
(kino_OutStream_write_bytes_t)kino_OutStream_write_bytes,
(kino_OutStream_write_int_t)kino_OutStream_write_int,
(kino_OutStream_write_long_t)kino_OutStream_write_long,
(kino_OutStream_write_vint_t)kino_OutStream_write_vint,
(kino_OutStream_write_vlong_t)kino_OutStream_write_vlong,
(kino_OutStream_write_string_t)kino_OutStream_write_string,
(kino_OutStream_absorb_t)kino_OutStream_absorb,
(kino_OutStream_sclose_t)kino_OutStream_sclose
};
#endif /* KINO_WANT_OUTSTREAM_VTABLE */
#undef KINO_OUTSTREAM_BOILERPLATE
#endif /* R_KINO_OUTSTREAM */
/* Copyright 2007 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify
* under the same terms as Perl itself.
*/