#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