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);
45extern 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 *);
57extern MagickExport
size_t
60 HashPointerType(
const void *),
61 HashStringType(
const void *),
62 HashStringInfoType(
const void *);
64extern MagickExport
void
72 *RemoveElementByValueFromLinkedList(
LinkedListInfo *,
const void *),
74 *RemoveEntryFromHashmap(
HashmapInfo *,
const void *),
79#if defined(__cplusplus) || defined(c_plusplus)