bglibs: ghash Struct Reference

- Main Page
- Modules
- Data Structures
- Files
- Directories
- Related Pages
- Examples

- Alphabetical List
- Data Structures
- 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

unsigned ghash::count

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

Examples:
  adt/ghash_test.c.

adt_copy_fn* ghash::datacopy

Pointer to the function which copies a data item.

adt_free_fn* ghash::datafree

Pointer to the function which fressa a data item.

unsigned long ghash::entrysize

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

adt_hash_fn* ghash::hashfn

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

adt_cmp_fn* ghash::keycmp

Pointer to the function which compares two keys.

adt_copy_fn* ghash::keycopy

Pointer to the function which copies a key.

adt_free_fn* ghash::keyfree

Pointer to the function which frees a key.

unsigned long ghash::keysize

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

unsigned ghash::size

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

Examples:
  adt/ghash_test.c.

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.

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

- ghash.h