Crossfire Server, Branch 1.12  R12190
Data Structures | Defines | Typedefs | Functions
hashtable.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _ptr_assoc

Defines

#define PTR_ASSOC_TABLESIZE   251

Typedefs

typedef struct _ptr_assoc ptr_assoc
typedef ptr_assocptr_assoc_table [PTR_ASSOC_TABLESIZE]

Functions

void add_ptr_assoc (ptr_assoc **hash_table, void *key, void *value)
 Adds a value to a hash table which one can lookup with key.
void * find_assoc_value (ptr_assoc **hash_table, void *key)
 Find the value associated with a given key.
void free_ptr_assoc (ptr_assoc **hash_table, void *key)
 Remove the association with a given key.
void init_ptr_assoc_table (ptr_assoc **hash_table)
 Initialises the hash table for a pointer association table.

Define Documentation

#define PTR_ASSOC_TABLESIZE   251

Definition at line 5 of file hashtable.h.

Referenced by hashptr(), and init_ptr_assoc_table().


Typedef Documentation

typedef struct _ptr_assoc ptr_assoc

Definition at line 15 of file hashtable.h.


Function Documentation

void add_ptr_assoc ( ptr_assoc **  hash_table,
void *  key,
void *  value 
)

Adds a value to a hash table which one can lookup with key.

Parameters:
hash_tablePointer to the hash table to add to.
keyThe key to lookup by in the association.
valueThe value to store with the key.

Definition at line 109 of file hashtable.c.

References _ptr_assoc::array, hashptr(), _ptr_assoc::key, new_ptr_assoc(), _ptr_assoc::next, _ptr_assoc::previous, and _ptr_assoc::value.

Referenced by add_map_assoc(), and add_object_assoc().

Here is the call graph for this function:

Here is the caller graph for this function:

void* find_assoc_value ( ptr_assoc **  hash_table,
void *  key 
)

Find the value associated with a given key.

Parameters:
hash_tablePointer to the hash table to search.
keyThe key to lookup by in the association.
Returns:
The value associated with the key.

Definition at line 205 of file hashtable.c.

References find_ptr_assoc(), and _ptr_assoc::value.

Referenced by find_assoc_pymap(), and find_assoc_pyobject().

Here is the call graph for this function:

Here is the caller graph for this function:

void free_ptr_assoc ( ptr_assoc **  hash_table,
void *  key 
)

Remove the association with a given key.

Parameters:
hash_tablePointer to the hash table to search.
keyThe key to lookup by in the association.

Definition at line 222 of file hashtable.c.

References _ptr_assoc::array, find_ptr_assoc(), _ptr_assoc::next, and _ptr_assoc::previous.

Referenced by free_map_assoc(), and free_object_assoc().

Here is the call graph for this function:

Here is the caller graph for this function:

void init_ptr_assoc_table ( ptr_assoc **  hash_table)

Initialises the hash table for a pointer association table.

Parameters:
hash_tablePointer to the hash table to initialise.

Definition at line 57 of file hashtable.c.

References hash_table, and PTR_ASSOC_TABLESIZE.

Referenced by init_map_assoc_table(), and init_object_assoc_table().

Here is the caller graph for this function: