The qDecoder Project

_Q_HASHARR Struct Reference

Structure for hash-table data structure based on array. More...


Data Fields

int count
int hash
char key [_Q_HASHARR_MAX_KEYSIZE]
int keylen
unsigned char keymd5 [16]
unsigned char value [_Q_HASHARR_DEF_VALUESIZE]
int size
int link
bool(* put )(Q_HASHARR *tbl, const char *key, const void *value, int size)
bool(* putStr )(Q_HASHARR *tbl, const char *key, const char *str)
bool(* putInt )(Q_HASHARR *tbl, const char *key, int num)
void *(* get )(Q_HASHARR *tbl, const char *key, int *size)
char *(* getStr )(Q_HASHARR *tbl, const char *key)
int(* getInt )(Q_HASHARR *tbl, const char *key)
const char *(* getNext )(Q_HASHARR *tbl, int *idx)
bool(* remove )(Q_HASHARR *tbl, const char *key)
bool(* truncate )(Q_HASHARR *tbl)
bool(* print )(Q_HASHARR *tbl, FILE *out)
int(* getNum )(Q_HASHARR *tbl)
int(* getMax )(Q_HASHARR *tbl)


Detailed Description

Structure for hash-table data structure based on array.


Field Documentation

int _Q_HASHARR::count

hash collision counter. 0 indicates empty slot, -1 is used for collision resolution, -2 is used for indicating linked block

int _Q_HASHARR::hash

key hash. we use qFnv32Hash() to generate hash integer

char _Q_HASHARR::key[_Q_HASHARR_MAX_KEYSIZE]

key string, it can be truncated

int _Q_HASHARR::keylen

original key length

unsigned char _Q_HASHARR::keymd5[16]

md5 hash of the key

unsigned char _Q_HASHARR::value[_Q_HASHARR_DEF_VALUESIZE]

value

int _Q_HASHARR::size

value size

int _Q_HASHARR::link

next index of the value


The documentation for this struct was generated from the following file:

Copyright (c) 2008 The qDecoder Project