tools/hashtab.h File Reference

Go to the source code of this file.

Data Structures

struct  htab

Typedefs

typedef unsigned int hashval_t
typedef hashval_t(*) htab_hash (const void *)
typedef int(*) htab_eq (const void *, const void *)
typedef void(*) htab_del (void *)
typedef int(*) htab_trav (void **, void *)
typedef htabhtab_t

Enumerations

enum  insert_option { NO_INSERT, INSERT }

Functions

htab_t htab_try_create (size_t, htab_hash, htab_eq, htab_del)
void htab_delete (htab_t)
void htab_empty (htab_t)
void * htab_find (htab_t, const void *)
void ** htab_find_slot (htab_t, const void *, enum insert_option)
void * htab_find_with_hash (htab_t, const void *, hashval_t)
void ** htab_find_slot_with_hash (htab_t, const void *, hashval_t, enum insert_option)
void htab_clear_slot (htab_t, void **)
void htab_remove_elt (htab_t, void *)
void htab_traverse (htab_t, htab_trav, void *)
size_t htab_size (htab_t)
size_t htab_elements (htab_t)
double htab_collisions (htab_t)

Variables

htab_hash htab_hash_pointer
htab_eq htab_eq_pointer


Typedef Documentation

typedef unsigned int hashval_t

Definition at line 40 of file hashtab.h.

typedef void(*) htab_del(void *)

Definition at line 56 of file hashtab.h.

typedef int(*) htab_eq(const void *, const void *)

Definition at line 52 of file hashtab.h.

typedef hashval_t(*) htab_hash(const void *)

Definition at line 45 of file hashtab.h.

typedef struct htab* htab_t

Definition at line 105 of file hashtab.h.

typedef int(*) htab_trav(void **, void *)

Definition at line 62 of file hashtab.h.


Enumeration Type Documentation

enum insert_option

Enumerator:
NO_INSERT 
INSERT 

Definition at line 108 of file hashtab.h.


Function Documentation

void htab_clear_slot ( htab_t  ,
void **   
)

Definition at line 454 of file hashtab.c.

References DELETED_ENTRY, and EMPTY_ENTRY.

double htab_collisions ( htab_t   ) 

Definition at line 516 of file hashtab.c.

void htab_delete ( htab_t   ) 

Definition at line 184 of file hashtab.c.

References DELETED_ENTRY, and EMPTY_ENTRY.

Referenced by read_abbrev().

size_t htab_elements ( htab_t   ) 

Definition at line 506 of file hashtab.c.

void htab_empty ( htab_t   ) 

Definition at line 202 of file hashtab.c.

References DELETED_ENTRY, and EMPTY_ENTRY.

void* htab_find ( htab_t  ,
const void *   
)

Definition at line 342 of file hashtab.c.

References htab_find_with_hash().

void** htab_find_slot ( htab_t  ,
const void *  ,
enum  insert_option 
)

Definition at line 418 of file hashtab.c.

References htab_find_slot_with_hash().

Referenced by htab_remove_elt(), and read_abbrev().

void** htab_find_slot_with_hash ( htab_t  ,
const void *  ,
hashval_t  ,
enum  insert_option 
)

Definition at line 358 of file hashtab.c.

References DELETED_ENTRY, EMPTY_ENTRY, htab_expand(), INSERT, NO_INSERT, and size.

Referenced by htab_find_slot().

void* htab_find_with_hash ( htab_t  ,
const void *  ,
hashval_t   
)

Definition at line 303 of file hashtab.c.

References DELETED_ENTRY, EMPTY_ENTRY, and size.

Referenced by htab_find().

void htab_remove_elt ( htab_t  ,
void *   
)

Definition at line 432 of file hashtab.c.

References DELETED_ENTRY, EMPTY_ENTRY, htab_find_slot(), and NO_INSERT.

size_t htab_size ( htab_t   ) 

Definition at line 497 of file hashtab.c.

void htab_traverse ( htab_t  ,
htab_trav  ,
void *   
)

Definition at line 475 of file hashtab.c.

References DELETED_ENTRY, and EMPTY_ENTRY.

htab_t htab_try_create ( size_t  ,
htab_hash  ,
htab_eq  ,
htab_del   
)

Definition at line 152 of file hashtab.c.

References htab::del_f, htab::entries, htab::eq_f, htab::hash_f, higher_prime_number(), htab::return_allocation_failure, and htab::size.

Referenced by read_abbrev().


Variable Documentation

htab_eq htab_eq_pointer

Definition at line 59 of file hashtab.c.

htab_hash htab_hash_pointer

Definition at line 58 of file hashtab.c.


Generated on Mon Mar 5 14:30:21 2007 for rpm by  doxygen 1.5.1