xine-lib  1.2.9
goomsl_hash.h
Go to the documentation of this file.
1 #ifndef _GOOMSL_HASH_H
2 #define _GOOMSL_HASH_H
3 
5 typedef struct GOOM_HASH GoomHash;
6 
7 typedef union {
8  void *ptr;
9  int i;
10  float f;
11 } HashValue;
12 
14  char *key;
18 };
19 
20 struct GOOM_HASH {
23 };
24 
25 GoomHash *goom_hash_new(void);
26 void goom_hash_free(GoomHash *gh);
27 
28 void goom_hash_put(GoomHash *gh, const char *key, HashValue value);
29 HashValue *goom_hash_get(GoomHash *gh, const char *key);
30 
31 void goom_hash_put_int (GoomHash *_this, const char *key, int i);
32 void goom_hash_put_float(GoomHash *_this, const char *key, float f);
33 void goom_hash_put_ptr (GoomHash *_this, const char *key, void *ptr);
34 
35 typedef void (*GH_Func)(GoomHash *caller, const char *key, HashValue *value);
36 
37 void goom_hash_for_each(GoomHash *_this, GH_Func func);
39 
40 #endif /* _GOOM_HASH_H */
void goom_hash_free(GoomHash *gh)
Definition: goomsl_hash.c:72
int i
Definition: goomsl_hash.h:9
void goom_hash_put(GoomHash *gh, const char *key, HashValue value)
Definition: goomsl_hash.c:77
Definition: goomsl_hash.h:13
float f
Definition: goomsl_hash.h:10
void * ptr
Definition: goomsl_hash.h:8
GoomHashEntry * root
Definition: goomsl_hash.h:21
GoomHashEntry * upper
Definition: goomsl_hash.h:17
int number_of_puts
Definition: goomsl_hash.h:22
void goom_hash_put_float(GoomHash *_this, const char *key, float f)
Definition: goomsl_hash.c:96
char key[16]
Definition: xine_speex_decoder.c:98
char * key
Definition: goomsl_hash.h:14
HashValue value
Definition: goomsl_hash.h:15
void goom_hash_for_each(GoomHash *_this, GH_Func func)
Definition: goomsl_hash.c:118
Definition: goomsl_hash.h:7
void goom_hash_put_ptr(GoomHash *_this, const char *key, void *ptr)
Definition: goomsl_hash.c:102
int goom_hash_number_of_puts(GoomHash *_this)
Definition: goomsl_hash.c:122
void goom_hash_put_int(GoomHash *_this, const char *key, int i)
Definition: goomsl_hash.c:90
void(* GH_Func)(GoomHash *caller, const char *key, HashValue *value)
Definition: goomsl_hash.h:35
Definition: goomsl_hash.h:20
GoomHashEntry * lower
Definition: goomsl_hash.h:16
HashValue * goom_hash_get(GoomHash *gh, const char *key)
Definition: goomsl_hash.c:85
GoomHash * goom_hash_new(void)
Definition: goomsl_hash.c:65