Detailed Description
hash table data structure
Definition at line 79 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 |
Member Function Documentation
◆ SCIP_DECL_HASHGETKEY()
SCIP_HashTable::SCIP_DECL_HASHGETKEY | ( | * | hashgetkey | ) |
gets the key of the given element
◆ SCIP_DECL_HASHKEYEQ()
SCIP_HashTable::SCIP_DECL_HASHKEYEQ | ( | * | hashkeyeq | ) |
returns TRUE iff both keys are equal
◆ SCIP_DECL_HASHKEYVAL()
SCIP_HashTable::SCIP_DECL_HASHKEYVAL | ( | * | hashkeyval | ) |
returns the hash value of the key
Field Documentation
◆ blkmem
BMS_BLKMEM* SCIP_HashTable::blkmem |
block memory used to store hash map entries
Definition at line 84 of file struct_misc.h.
Referenced by hashtableCheckLoad().
◆ userptr
void* SCIP_HashTable::userptr |
user pointer
Definition at line 85 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableExists(), SCIPhashtableInsert(), SCIPhashtableRemove(), SCIPhashtableRetrieve(), and SCIPhashtableSafeInsert().
◆ slots
void** SCIP_HashTable::slots |
slots of the hash table
Definition at line 86 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableExists(), SCIPhashtableFree(), SCIPhashtableGetEntry(), SCIPhashtableInsert(), SCIPhashtableRemove(), SCIPhashtableRetrieve(), and SCIPhashtableSafeInsert().
◆ hashes
uint32_t* SCIP_HashTable::hashes |
hash values of elements stored in slots
Definition at line 87 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableExists(), SCIPhashtableFree(), SCIPhashtableGetEntry(), SCIPhashtableInsert(), SCIPhashtablePrintStatistics(), SCIPhashtableRemove(), SCIPhashtableRemoveAll(), SCIPhashtableRetrieve(), and SCIPhashtableSafeInsert().
◆ shift
uint32_t SCIP_HashTable::shift |
power such that 2^(32-shift) == nslots
Definition at line 88 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableFree(), SCIPhashtableRemove(), and SCIPhashtableRetrieve().
◆ mask
uint32_t SCIP_HashTable::mask |
mask used for fast modulo, i.e. nslots - 1
Definition at line 89 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableExists(), SCIPhashtableFree(), SCIPhashtableGetLoad(), SCIPhashtableGetNEntries(), SCIPhashtableInsert(), SCIPhashtablePrintStatistics(), SCIPhashtableRemove(), SCIPhashtableRemoveAll(), SCIPhashtableRetrieve(), and SCIPhashtableSafeInsert().
◆ nelements
uint32_t SCIP_HashTable::nelements |
number of elements in the hashtable
Definition at line 90 of file struct_misc.h.
Referenced by hashtableCheckLoad(), hashtableInsert(), SCIPhashtableFree(), SCIPhashtableGetLoad(), SCIPhashtableGetNElements(), SCIPhashtablePrintStatistics(), SCIPhashtableRemove(), and SCIPhashtableRemoveAll().