31 lines
1.0 KiB
C
31 lines
1.0 KiB
C
|
#ifndef __CMPH_FCH_BUCKETS_H__
|
||
|
#define __CMPH_FCH_BUCKETS_H__
|
||
|
|
||
|
#include "cmph_types.h"
|
||
|
typedef struct __fch_buckets_t fch_buckets_t;
|
||
|
|
||
|
fch_buckets_t * fch_buckets_new(cmph_uint32 nbuckets);
|
||
|
|
||
|
cmph_uint8 fch_buckets_is_empty(fch_buckets_t * buckets, cmph_uint32 index);
|
||
|
|
||
|
void fch_buckets_insert(fch_buckets_t * buckets, cmph_uint32 index, char * key, cmph_uint32 length);
|
||
|
|
||
|
cmph_uint32 fch_buckets_get_size(fch_buckets_t * buckets, cmph_uint32 index);
|
||
|
|
||
|
char * fch_buckets_get_key(fch_buckets_t * buckets, cmph_uint32 index, cmph_uint32 index_key);
|
||
|
|
||
|
cmph_uint32 fch_buckets_get_keylength(fch_buckets_t * buckets, cmph_uint32 index, cmph_uint32 index_key);
|
||
|
|
||
|
// returns the size of biggest bucket.
|
||
|
cmph_uint32 fch_buckets_get_max_size(fch_buckets_t * buckets);
|
||
|
|
||
|
// returns the number of buckets.
|
||
|
cmph_uint32 fch_buckets_get_nbuckets(fch_buckets_t * buckets);
|
||
|
|
||
|
cmph_uint32 * fch_buckets_get_indexes_sorted_by_size(fch_buckets_t * buckets);
|
||
|
|
||
|
void fch_buckets_print(fch_buckets_t * buckets);
|
||
|
|
||
|
void fch_buckets_destroy(fch_buckets_t * buckets);
|
||
|
#endif
|