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
39 (
const void *,
const void *),
void *(*)(
void *),
void *(*)(
void *));
51 int (*)(
const void *,
const void *),
void **,
const void *),
79 #if defined(__cplusplus) || defined(c_plusplus)
MagickExport MagickBooleanType IsLinkedListEmpty(const LinkedListInfo *list_info)
Definition: hashmap.c:1205
MagickExport MagickBooleanType LinkedListToArray(LinkedListInfo *list_info, void **array)
Definition: hashmap.c:1238
MagickExport MagickBooleanType InsertValueInLinkedList(LinkedListInfo *list_info, const size_t index, const void *value)
Definition: hashmap.c:990
MagickExport HashmapInfo * DestroyHashmap(HashmapInfo *hashmap_info)
Definition: hashmap.c:330
MagickExport void * GetValueFromHashmap(HashmapInfo *hashmap_info, const void *key)
Definition: hashmap.c:711
MagickExport void * GetNextValueInHashmap(HashmapInfo *hashmap_info)
Definition: hashmap.c:545
MagickExport void ResetLinkedListIterator(LinkedListInfo *list_info)
Definition: hashmap.c:1921
MagickExport void * RemoveEntryFromHashmap(HashmapInfo *hashmap_info, const void *key)
Definition: hashmap.c:1741
MagickExport void ResetHashmapIterator(HashmapInfo *hashmap_info)
Definition: hashmap.c:1887
MagickExport size_t HashPointerType(const void *pointer)
Definition: hashmap.c:848
MagickExport MagickBooleanType InsertValueInSortedLinkedList(LinkedListInfo *list_info, int(*compare)(const void *, const void *), void **replace, const void *value)
Definition: hashmap.c:1091
MagickExport size_t HashStringType(const void *string)
Definition: hashmap.c:884
MagickExport size_t GetNumberOfEntriesInHashmap(const HashmapInfo *hashmap_info)
Definition: hashmap.c:647
MagickExport LinkedListInfo * DestroyLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: hashmap.c:398
MagickExport void ClearLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: hashmap.c:204
MagickBooleanType
Definition: magick-type.h:198
MagickExport void * RemoveElementFromLinkedList(LinkedListInfo *list_info, const size_t index)
Definition: hashmap.c:1669
MagickExport MagickBooleanType PutEntryInHashmap(HashmapInfo *hashmap_info, const void *key, const void *value)
Definition: hashmap.c:1495
MagickExport MagickBooleanType IsHashmapEmpty(const HashmapInfo *hashmap_info)
Definition: hashmap.c:1176
MagickExport void * GetNextKeyInHashmap(HashmapInfo *hashmap_info)
Definition: hashmap.c:484
MagickExport MagickBooleanType AppendValueToLinkedList(LinkedListInfo *list_info, const void *value)
Definition: hashmap.c:150
MagickExport void * GetLastValueInLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:447
MagickExport size_t HashStringInfoType(const void *string_info)
Definition: hashmap.c:937
MagickExport void * GetNextValueInLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:606
MagickExport size_t GetNumberOfElementsInLinkedList(const LinkedListInfo *list_info)
Definition: hashmap.c:679
MagickExport MagickBooleanType CompareHashmapStringInfo(const void *target, const void *source)
Definition: hashmap.c:296
MagickExport void * RemoveElementByValueFromLinkedList(LinkedListInfo *list_info, const void *value)
Definition: hashmap.c:1597
MagickExport void * RemoveLastElementFromLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:1828
MagickExport HashmapInfo * NewHashmap(const size_t capacity, size_t(*hash)(const void *), MagickBooleanType(*compare)(const void *, const void *), void *(*relinquish_key)(void *), void *(*relinquish_value)(void *))
Definition: hashmap.c:1305
#define MagickExport
Definition: method-attribute.h:80
MagickExport LinkedListInfo * NewLinkedList(const size_t capacity)
Definition: hashmap.c:1363
MagickExport MagickBooleanType CompareHashmapString(const void *target, const void *source)
Definition: hashmap.c:258
MagickExport void * GetValueFromLinkedList(LinkedListInfo *list_info, const size_t index)
Definition: hashmap.c:788