1 #include<HeapAllocator.h>
7 DbRetVal
HashMap::insert(void *element
)
9 HashMapNode
*newNode
= new HashMapNode();
10 newNode
->elem
= element
;
14 hashVal
= (*(int*)element
) % bucketSize
;
16 hashVal
= Util::hashBinary((char*)element
, keySize
) % bucketSize
;
17 HashMapNode
*node
= (HashMapNode
*) bucket
[hashVal
];
20 bucket
[hashVal
] = newNode
;
23 while(node
->next
!= NULL
) { node
=node
->next
; }
27 void* HashMap::find(void *element
)
30 if (optGrpIntNoNull
) {
31 int value
= *(int*)element
;
32 hashVal
= value
% bucketSize
;
33 HashMapNode
*node
= (HashMapNode
*) bucket
[hashVal
];
35 if (*(int*)node
->elem
== value
) return node
->elem
;
40 hashVal
= Util::hashBinary((char*)element
, keySize
) % bucketSize
;
41 HashMapNode
*node
= (HashMapNode
*) bucket
[hashVal
];
43 if (AllDataType::compareVal(node
->elem
, element
, OpEquals
,
51 void HashMap::removeAll()
53 for (int i
=0; i
<bucketSize
; i
++) {
54 HashMapNode
*node
=(HashMapNode
*) (bucket
[i
]);
55 HashMapNode
*prev
= NULL
;