Files
YASS-13-TEMP/core/commons/HashMap/HashMap.pbi
T

24 lines
1.0 KiB
Plaintext

#YASS13_HashMap_Type = "Chained"
; Common prototypes every hashmap implementation must match.
Prototype.i HashMapProto_Create(SizePower.b)
Prototype.i HashMapProto_GetByHash(*Map, Hash.q)
Prototype.b HashMapProto_OverwriteByHash(*Map, *Data, Hash.q, *FreeingCallback = #Null)
Prototype HashMapProto_DeleteByHash(*Map, Hash.q)
Prototype HashMapProto_Free(*Map)
Prototype HashMapProto_FreeCallback(*Data)
CompilerIf #YASS13_HashMap_Type = "Chained"
XIncludeFile "./_ChainedHashMap.pbi"
Global HashMap_Create.HashMapProto_Create = ChainedHashMap::@Create()
Global HashMap_GetByHash.HashMapProto_GetByHash = ChainedHashMap::@GetByHash()
Global HashMap_OverwriteByHash.HashMapProto_OverwriteByHash = ChainedHashMap::@OverwriteByHash()
Global HashMap_DeleteByHash.HashMapProto_DeleteByHash = ChainedHashMap::@DeleteByHash()
Global HashMap_Free.HashMapProto_Free = ChainedHashMap::@Free()
Global HashMap_NoopFree.HashMapProto_FreeCallback = ChainedHashMap::@NoopFree()
CompilerElse
CompilerError("You must defined a valid core hashmap type !")
CompilerEndIf