IBM Visualization Data Explorer Programmer's Reference

[ Bottom of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]

DXCreateHash

Function

Creates a hash table for storing elements.

Syntax

#include <dx/dx.h>


HashTable DXCreateHash(int elementSize, PseudoKey (*hashFunc)(),
int (*cmpFunc)())

Functional Details

An element to be stored consists of a key plus whatever data is to be associated with that key. Its size, in bytes, is specified by elementSize. in bytes. The parameter hashFunc points to the optional hash function callback. Given an element, hashFunc should return a uniformly distributed long integer pseudokey. If hashFunc is not provided, then the first long integer word of each key is assumed to be the pseudokey. cmpFunc is the optional compare function callback. Given a search key and an element, cmpFunc should return 0 if the key matches the element. If no compare function is provided, any element matching the pseudokey is assumed to match the search key.

Optionally provided by the calling application:

PseudoKey hashFunc (Key key);

Called on insertion and query to convert the arbitrary-size search key into the long integer pseudokey used to store the hash table-element.

int cmpFunc (Key searchKey, Element element);

Called on insertion and query when an element from the table matches the pseudokey. Returns 0 if the search key matches the key contained in the element found in the table.

See 14.5 , "Hashing" for additional details on hashFunc and cmpFunc. The HashTable created should be deleted with DXDestroy when it is no longer needed. See 4.2 , "Memory Management".

PseudoKey is defined as:


typedef long PseudoKey;
typedef Pointer Key;

Return Value

Returns the hash table or returns NULL and sets an error code.

See Also

DXDeleteHashElement, DXDestroyHash, DXGetNextHashElement, DXInitGetNextHashElement, DXInsertHashElement, DXQueryHashElement

14.5 , "Hashing".


[ Top of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]
[Data Explorer Documentation | QuickStart Guide | User's Guide | User's Reference | Programmer's Reference | Installation and Configuration Guide ]

[Data Explorer Home Page]


[IBM Home Page | Order | Search | Contact IBM | Legal ]