summaryrefslogtreecommitdiff
path: root/girepository/cmph/fch_buckets.h
blob: 2a1b8b2a6ecce8313d5bee23e33c4709e0d43135 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#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