diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-04-20 23:00:30 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-04-20 23:00:30 +0000 |
commit | 4408714100860452be4ecf9e7e6b8cc7527955d9 (patch) | |
tree | 618c28129cd32d0a0c6228723b05dfb02daec5d1 /libass/ass_cache.h | |
parent | f7b15389782cb15eb5c5061b0a3b93556e3dd6ba (diff) | |
download | mpv-4408714100860452be4ecf9e7e6b8cc7527955d9.tar.bz2 mpv-4408714100860452be4ecf9e7e6b8cc7527955d9.tar.xz |
Add generic hash map implementation.
Reimplement both font cache and glyph cache on top of it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23034 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass/ass_cache.h')
-rw-r--r-- | libass/ass_cache.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libass/ass_cache.h b/libass/ass_cache.h index a4a5bf4ce1..8e074579db 100644 --- a/libass/ass_cache.h +++ b/libass/ass_cache.h @@ -58,5 +58,17 @@ glyph_hash_val_t* cache_find_glyph(glyph_hash_key_t* key); void ass_glyph_cache_reset(void); void ass_glyph_cache_done(void); +typedef struct hashmap_s hashmap_t; +typedef void (*hashmap_item_dtor_t)(void* key, size_t key_size, void* value, size_t value_size); +typedef int (*hashmap_key_compare_t)(void* key1, void* key2, size_t key_size); +typedef unsigned (*hashmap_hash_t)(void* key, size_t key_size); + +hashmap_t* hashmap_init(size_t key_size, size_t value_size, int nbuckets, + hashmap_item_dtor_t item_dtor, hashmap_key_compare_t key_compare, + hashmap_hash_t hash); +void hashmap_done(hashmap_t* map); +void hashmap_insert(hashmap_t* map, void* key, void* value); +void* hashmap_find(hashmap_t* map, void* key); + #endif |