bglibs: ghash Struct Reference

bglibs

Data Fields
ghash Struct Reference
adt ghash: Generic hash tables.

`#include <ghash.h>`

## Data Fields
void ** | table
unsigned | count
unsigned | size
unsigned long | keysize
unsigned long | entrysize
adt_hash_fn * | hashfn
adt_cmp_fn * | keycmp
adt_copy_fn * | keycopy
adt_copy_fn * | datacopy
adt_free_fn * | keyfree
adt_free_fn * | datafree

## Detailed Description

The core generic hash table structure.

Examples:
  adt/ghash_test.c.

## Field Documentation

## ◆ count

unsigned ghash::count

The count is the number of items stored in the table.

Referenced by ghash_add(), ghash_init(), ghash_insert(), ghash_rebuild(), and ghash_remove().

## ◆ datacopy

adt_copy_fn* ghash::datacopy

Pointer to the function which copies a data item.

Referenced by ghash_add(), ghash_init(), and ghash_set().

## ◆ datafree

adt_free_fn* ghash::datafree

Pointer to the function which fressa a data item.

Referenced by ghash_free(), ghash_init(), and ghash_remove().

## ◆ entrysize

unsigned long ghash::entrysize

The total size, in bytes, of an entry (key and data).

Referenced by ghash_add(), ghash_init(), and ghash_set().

## ◆ hashfn

adt_hash_fn* ghash::hashfn

Pointer to the function which produces a hash of a key.

Referenced by ghash_add(), ghash_find(), ghash_init(), and ghash_rehash().

## ◆ keycmp

adt_cmp_fn* ghash::keycmp

Pointer to the function which compares two keys.

Referenced by ghash_find(), and ghash_init().

## ◆ keycopy

adt_copy_fn* ghash::keycopy

Pointer to the function which copies a key.

Referenced by ghash_add(), and ghash_init().

## ◆ keyfree

adt_free_fn* ghash::keyfree

Pointer to the function which frees a key.

Referenced by ghash_add(), ghash_free(), ghash_init(), and ghash_remove().

## ◆ keysize

unsigned long ghash::keysize

The size, in bytes, of the key structure in each table entry.

Referenced by ghash_add(), ghash_free(), ghash_init(), ghash_remove(), and ghash_set().

## ◆ size

unsigned ghash::size

The size is the number of slots available in the table.

Referenced by ghash_find(), ghash_foreach(), ghash_free(), ghash_init(), ghash_insert(), ghash_rebuild(), ghash_rehash(), ghash_remove(), ghash_search(), and ghashiter_valid().

## ◆ table

void** ghash::table

The hash table itself is an array of pointers, the actual type of which is dependant on the declaration of the table.

Referenced by ghash_find(), ghash_foreach(), ghash_free(), ghash_init(), ghash_insert(), ghash_rebuild(), ghash_rehash(), ghash_remove(), ghash_search(), and ghashiter_valid().

The documentation for this struct was generated from the following file:

- ghash.h