📄 tablet.h
字号:
#ifndef _TABLET_IO2_H_#define _TABLET_IO2_H_#include <gdk.h>#include "streams.h"#include <mal_exception.h>#include <mal_client.h>#include <mal_interpreter.h>#ifdef WIN32#ifndef LIBTABLET#define tablet_export extern __declspec(dllimport)#else#define tablet_export extern __declspec(dllexport)#endif#else#define tablet_export extern#endiftypedef ptr *(*frStr) (void *extra, int type, char *s, char *e, char quote);typedef int (*toStr) (void *extra, char **buf, int *len, int type, ptr a);typedef struct Column_t { char *batname; char *name; /* column title */ char *sep; int seplen; char *type; int adt; /* type index */ BAT *c; /* set to NULL when scalar is meant */ ptr p; int base; /* of first tuple */ unsigned int tabs; /* field size in tab positions */ str lbrk, rbrk; /* column brackets */ str nullstr; /* null representation */ int quoted; /* escape charaters */ unsigned int width; /* actual column width */ unsigned int maxwidth; /* permissible width */ int fieldstart; /* Fixed character field load positions */ int fieldwidth; int scale, precision; toStr tostr; frStr frstr; void *extra; void *data; int len;} Column;typedef struct Table_t { int signature; char *sep; /* default separator */ str ttopbrk, tbotbrk; /* table brackets */ str rlbrk, rrbrk; /* row brackets */ str properties; /* of header to display */ str title, footer; /* alternatives */ size_t offset; size_t nr; /* allocated space for table loads */ size_t pageLimit; size_t firstrow, lastrow; /* last window to print */ size_t nr_attrs; /* attributes found sofar */ size_t max_attrs; Column *format; /* remove later */ stream *fd; BAT *pivot; unsigned int rowwidth; /* sum of columns used for mallocs */ Column columns[1];} Tablet;tablet_export BAT *TABLETload(BAT *names, BAT *seps, BAT *types, char *datafile, size_t nr);tablet_export BAT *TABLETinput(BAT *names, BAT *seps, BAT *types, bstream *s, stream *out, size_t nr);tablet_export size_t TABLEToutput(BAT *order, BAT *seps, BAT *bats, stream *s);tablet_export void TABLETdump(BAT *names, BAT *seps, BAT *bats, char *datafile, size_t nr);/* The low level routines are primarilly used by the SQL front-end.*/tablet_export int TABLETcreate_bats(Tablet * as);tablet_export size_t TABLETassign_BATs(Tablet * as, BAT *bats);tablet_export ssize_t TABLETload_file(Tablet * as, bstream *b, stream *out);tablet_export BAT *TABLETcollect_bats(Tablet * as);tablet_export void TABLETdestroy_format(Tablet * as);tablet_export int TABLEToutput_file(Tablet * as, BAT *order, stream *s);tablet_export ptr *TABLETstrFrStr(Column *c, char *s, char *e);tablet_export ptr *TABLETadt_frStr(void *extra, int type, char *s, char *e, char quote);tablet_export int TABLETadt_toStr(void *extra, char **buf, int *len, int type, ptr a);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -