Back to index

libcitadel  8.12
Classes
Datastructures used for the internals of HashList
Hashlist Key Value list implementation;
Collaboration diagram for Datastructures used for the internals of HashList:

Classes

struct  Payload
 Hash Payload storage Structure; filled in linear. More...
struct  HashKey
 Hash key element; sorted by key. More...
struct  HashList
 Hash structure; holds arrays of Hashkey and Payload. More...
struct  HashPos
 Anonymous Hash Iterator Object. More...

Class Documentation

struct Payload

Hash Payload storage Structure; filled in linear.

Definition at line 77 of file hash.c.

Class Members
void * Data the Data belonging to this storage
DeleteHashDataFunc Destructor if we want to destroy Data, do it with this function.
struct HashKey

Hash key element; sorted by key.

Definition at line 87 of file hash.c.

Collaboration diagram for HashKey:
Class Members
char * HashKey the Plaintext Hashkey
long HKLen length of the Plaintext Hashkey
long Key Numeric Hashkey comperator for hash sorting.
Payload * PL pointer to our payload for sorting
long Position Pointer to a Payload struct in the Payload Aray.
struct HashList

Hash structure; holds arrays of Hashkey and Payload.

Definition at line 99 of file hash.c.

Collaboration diagram for HashList:
Class Members
HashFunc Algorithm should we use an alternating algorithm to calc the hash values?
HashKey ** LookupTable Hash Lookup table. Elements point to members, and are sorted by their hashvalue
Payload ** Members Our Payload members. This fills up linear
long MemberSize how big is Members and LookupTable?
char ** MyKeys this keeps the members for a call of GetHashKeys
long nLookupTableItems how many items of the lookup table are used?
long nMembersUsed how many pointers inside of the array are used?
long tainted if 0, we're hashed, else s.b. else sorted us in his own way.
long uniq are the keys going to be uniq?
struct HashPos

Anonymous Hash Iterator Object.

used for traversing the whole array from outside

Definition at line 115 of file hash.c.

Class Members
long Position Position inside of the hash.
int StepWidth small? big? forward? backward?