1#ifndef VIENNA_RNA_PACKAGE_HASH_UTIL_H
2#define VIENNA_RNA_PACKAGE_HASH_UTIL_H
6#ifdef VRNA_WARN_DEPRECATED
7# if defined(DEPRECATED)
10# if defined(__clang__)
11# define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
12# elif defined(__GNUC__)
13# define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
15# define DEPRECATED(func, msg) func
18# define DEPRECATED(func, msg) func
66DEPRECATED(
typedef int (vrna_callback_ht_compare_entries)(
void *x,
68 "Use vrna_ht_cmp_f instead!");
82 unsigned long hashtable_size);
84DEPRECATED(
typedef unsigned int (vrna_callback_ht_hash_function)(
void *x,
85 unsigned long hashtable_size),
86 "Use vrna_ht_hashfunc_f instead!");
99DEPRECATED(
typedef int (vrna_callback_ht_free_entry)(
void *x),
100 "Use vrna_ht_free_f instead!");
293 unsigned long hashtable_size);
char * structure
Definition hash_tables.h:254
float energy
Definition hash_tables.h:255
void vrna_ht_remove(vrna_hash_table_t ht, void *x)
Remove an object from the hash table.
unsigned long vrna_ht_size(vrna_hash_table_t ht)
Get the size of the hash table.
int(* vrna_ht_free_f)(void *x)
Callback function to free a hash table entry.
Definition hash_tables.h:97
void vrna_ht_free(vrna_hash_table_t ht)
Free all memory occupied by the hash table.
int vrna_ht_insert(vrna_hash_table_t ht, void *x)
Insert an object into a hash table.
int(* vrna_ht_cmp_f)(void *x, void *y)
Callback function to compare two hash table entries.
Definition hash_tables.h:63
unsigned long vrna_ht_collisions(struct vrna_hash_table_s *ht)
Get the number of collisions in the hash table.
vrna_hash_table_t vrna_ht_init(unsigned int b, vrna_ht_cmp_f compare_function, vrna_ht_hashfunc_f hash_function, vrna_ht_free_f free_hash_entry)
Get an initialized hash table.
void * vrna_ht_get(vrna_hash_table_t ht, void *x)
Get an element from the hash table.
void vrna_ht_clear(vrna_hash_table_t ht)
Clear the hash table.
struct vrna_hash_table_s * vrna_hash_table_t
A hash table object.
Definition hash_tables.h:51
int vrna_ht_db_free_entry(void *hash_entry)
Default function to free memory occupied by a hash entry.
int vrna_ht_db_comp(void *x, void *y)
Default hash table entry comparison.
unsigned int vrna_ht_db_hash_func(void *x, unsigned long hashtable_size)
Default hash function.
unsigned int(* vrna_ht_hashfunc_f)(void *x, unsigned long hashtable_size)
Callback function to generate a hash key, i.e. hash function.
Definition hash_tables.h:81
Default hash table entry.
Definition hash_tables.h:253