18 #ifndef MAGICKCORE_HASHMAP_H
19 #define MAGICKCORE_HASHMAP_H
21 #if defined(__cplusplus) || defined(c_plusplus)
25 #define SmallHashmapSize 17
26 #define MediumHashmapSize 509
27 #define LargeHashmapSize 8191
28 #define HugeHashmapSize 131071
38 *NewHashmap(
const size_t,
size_t (*)(
const void *),MagickBooleanType (*)
39 (
const void *,
const void *),
void *(*)(
void *),
void *(*)(
void *));
43 *NewLinkedList(
const size_t);
45 extern MagickExport MagickBooleanType
47 CompareHashmapString(
const void *,
const void *),
48 CompareHashmapStringInfo(
const void *,
const void *),
49 InsertValueInLinkedList(
LinkedListInfo *,
const size_t,
const void *),
51 int (*)(
const void *,
const void *),
void **,
const void *),
55 PutEntryInHashmap(
HashmapInfo *,
const void *,
const void *);
57 extern MagickExport
size_t
60 HashPointerType(
const void *),
61 HashStringType(
const void *),
62 HashStringInfoType(
const void *);
64 extern MagickExport
void
72 *RemoveElementByValueFromLinkedList(
LinkedListInfo *,
const void *),
74 *RemoveEntryFromHashmap(
HashmapInfo *,
const void *),
79 #if defined(__cplusplus) || defined(c_plusplus)