first commit
This commit is contained in:
32
include/mupdf/fitz/hash.h
Normal file
32
include/mupdf/fitz/hash.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#ifndef MUPDF_FITZ_HASH_H
|
||||
#define MUPDF_FITZ_HASH_H
|
||||
|
||||
#include "mupdf/fitz/system.h"
|
||||
#include "mupdf/fitz/context.h"
|
||||
#include "mupdf/fitz/output.h"
|
||||
|
||||
/*
|
||||
* Generic hash-table with fixed-length keys.
|
||||
*
|
||||
* The keys and values are NOT reference counted by the hash table.
|
||||
* Callers are responsible for taking care the reference counts are correct.
|
||||
* Inserting a duplicate entry will NOT overwrite the old value, and will
|
||||
* return the old value.
|
||||
*
|
||||
* The drop_val callback function is only used to release values when the hash table
|
||||
* is destroyed.
|
||||
*/
|
||||
|
||||
typedef struct fz_hash_table_s fz_hash_table;
|
||||
typedef void (fz_hash_table_drop_fn)(fz_context *ctx, void *val);
|
||||
typedef void (fz_hash_table_for_each_fn)(fz_context *ctx, void *state, void *key, int keylen, void *val);
|
||||
|
||||
fz_hash_table *fz_new_hash_table(fz_context *ctx, int initialsize, int keylen, int lock, fz_hash_table_drop_fn *drop_val);
|
||||
void fz_drop_hash_table(fz_context *ctx, fz_hash_table *table);
|
||||
|
||||
void *fz_hash_find(fz_context *ctx, fz_hash_table *table, const void *key);
|
||||
void *fz_hash_insert(fz_context *ctx, fz_hash_table *table, const void *key, void *val);
|
||||
void fz_hash_remove(fz_context *ctx, fz_hash_table *table, const void *key);
|
||||
void fz_hash_for_each(fz_context *ctx, fz_hash_table *table, void *state, fz_hash_table_for_each_fn *callback);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user