hash table data structure
Definition at line 74 of file struct_misc.h.
#include <struct_misc.h>
Public Member Functions | |
| SCIP_DECL_HASHGETKEY ((*hashgetkey)) | |
| SCIP_DECL_HASHKEYEQ ((*hashkeyeq)) | |
| SCIP_DECL_HASHKEYVAL ((*hashkeyval)) | |
Data Fields | |
| BMS_BLKMEM * | blkmem |
| void * | userptr |
| void ** | slots |
| uint32_t * | hashes |
| uint32_t | shift |
| uint32_t | mask |
| uint32_t | nelements |
| SCIP_HashTable::SCIP_DECL_HASHGETKEY | ( | * | hashgetkey | ) |
gets the key of the given element
| SCIP_HashTable::SCIP_DECL_HASHKEYEQ | ( | * | hashkeyeq | ) |
returns TRUE iff both keys are equal
| SCIP_HashTable::SCIP_DECL_HASHKEYVAL | ( | * | hashkeyval | ) |
returns the hash value of the key
| BMS_BLKMEM* SCIP_HashTable::blkmem |
block memory used to store hash map entries
Definition at line 79 of file struct_misc.h.
Referenced by hashtableCheckLoad().
| void* SCIP_HashTable::userptr |
user pointer
Definition at line 80 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableExists(), SCIPhashtableInsert(), SCIPhashtableRemove(), SCIPhashtableRetrieve(), and SCIPhashtableSafeInsert().
| void** SCIP_HashTable::slots |
slots of the hash table
Definition at line 81 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableExists(), SCIPhashtableFree(), SCIPhashtableInsert(), SCIPhashtableRemove(), SCIPhashtableRetrieve(), and SCIPhashtableSafeInsert().
| uint32_t* SCIP_HashTable::hashes |
hash values of elements stored in slots
Definition at line 82 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableExists(), SCIPhashtableFree(), SCIPhashtableInsert(), SCIPhashtablePrintStatistics(), SCIPhashtableRemove(), SCIPhashtableRemoveAll(), SCIPhashtableRetrieve(), and SCIPhashtableSafeInsert().
| uint32_t SCIP_HashTable::shift |
power such that 2^(32-shift) == nslots
Definition at line 83 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableFree(), SCIPhashtableRemove(), and SCIPhashtableRetrieve().
| uint32_t SCIP_HashTable::mask |
mask used for fast modulo, i.e. nslots - 1
Definition at line 84 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableExists(), SCIPhashtableFree(), SCIPhashtableGetLoad(), SCIPhashtableInsert(), SCIPhashtablePrintStatistics(), SCIPhashtableRemove(), SCIPhashtableRemoveAll(), SCIPhashtableRetrieve(), and SCIPhashtableSafeInsert().
| uint32_t SCIP_HashTable::nelements |
number of elements in the hashtable
Definition at line 85 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableFree(), SCIPhashtableGetLoad(), SCIPhashtableGetNElements(), SCIPhashtablePrintStatistics(), SCIPhashtableRemove(), and SCIPhashtableRemoveAll().