bglibs
ghash Struct Reference

#include <ghash.h>

Data Fields

void ** table
unsigned count
unsigned size
unsigned long keysize
unsigned long entrysize
adt_hash_fnhashfn
adt_cmp_fnkeycmp
adt_copy_fnkeycopy
adt_copy_fndatacopy
adt_free_fnkeyfree
adt_free_fndatafree

Detailed Description

The core generic hash table structure.

Field Documentation

◆ count

unsigned ghash::count

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

◆ datacopy

adt_copy_fn* ghash::datacopy

Pointer to the function which copies a data item.

◆ datafree

adt_free_fn* ghash::datafree

Pointer to the function which fressa a data item.

◆ entrysize

unsigned long ghash::entrysize

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

◆ hashfn

adt_hash_fn* ghash::hashfn

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

◆ keycmp

adt_cmp_fn* ghash::keycmp

Pointer to the function which compares two keys.

◆ keycopy

adt_copy_fn* ghash::keycopy

Pointer to the function which copies a key.

◆ keyfree

adt_free_fn* ghash::keyfree

Pointer to the function which frees a key.

◆ keysize

unsigned long ghash::keysize

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

◆ size

unsigned ghash::size

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

Referenced by 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 ghashiter_valid().


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