MagickCore
6.9.11-60
Convert, Edit, Or Compose Bitmap Images
|
Go to the documentation of this file.
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 HashmapInfo * DestroyHashmap(HashmapInfo *hashmap_info)
Definition: hashmap.c:330
size_t hash
Definition: hashmap.c:70
MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:293
#define MagickExport
Definition: method-attribute.h:80
MagickExport MagickBooleanType LinkedListToArray(LinkedListInfo *list_info, void **array)
Definition: hashmap.c:1238
MagickExport MagickBooleanType CompareHashmapString(const void *, const void *)
MagickExport HashmapInfo * NewHashmap(const size_t, size_t(*)(const void *), MagickBooleanType(*)(const void *, const void *), void *(*)(void *), void *(*)(void *))
MagickExport void * GetNextValueInHashmap(HashmapInfo *hashmap_info)
Definition: hashmap.c:545
MagickExport MagickBooleanType IsLinkedListEmpty(const LinkedListInfo *list_info)
Definition: hashmap.c:1205
MagickExport void * GetValueFromLinkedList(LinkedListInfo *list_info, const size_t index)
Definition: hashmap.c:788
MagickExport void * RemoveLastElementFromLinkedList(LinkedListInfo *)
MagickExport void ClearLinkedList(LinkedListInfo *, void *(*)(void *))
#define MagickCoreSignature
Definition: method-attribute.h:86
MagickExport void * RemoveEntryFromHashmap(HashmapInfo *hashmap_info, const void *key)
Definition: hashmap.c:1741
void * key
Definition: hashmap.c:73
LinkedListInfo ** map
Definition: hashmap.c:116
MagickExport LinkedListInfo * DestroyLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: hashmap.c:398
MagickExport MagickBooleanType InsertValueInSortedLinkedList(LinkedListInfo *, int(*)(const void *, const void *), void **, const void *)
void * value
Definition: hashmap.c:61
MagickExport size_t HashStringType(const void *)
MagickExport void ResetLinkedListIterator(LinkedListInfo *list_info)
Definition: hashmap.c:1921
MagickExport void ResetHashmapIterator(HashmapInfo *hashmap_info)
Definition: hashmap.c:1887
size_t signature
Definition: hashmap.c:122
MagickExport void ResetHashmapIterator(HashmapInfo *)
MagickExport void * GetValueFromHashmap(HashmapInfo *, const void *)
SemaphoreInfo * semaphore
Definition: hashmap.c:89
MagickExport MagickBooleanType CompareHashmapStringInfo(const void *, const void *)
MagickExport MagickBooleanType PutEntryInHashmap(HashmapInfo *hashmap_info, const void *key, const void *value)
Definition: hashmap.c:1495
MagickExport size_t GetNumberOfEntriesInHashmap(const HashmapInfo *hashmap_info)
Definition: hashmap.c:647
MagickExport MagickBooleanType IsHashmapEmpty(const HashmapInfo *hashmap_info)
Definition: hashmap.c:1176
void * value
Definition: hashmap.c:74
ElementInfo * tail
Definition: hashmap.c:85
SemaphoreInfo * semaphore
Definition: hashmap.c:119
@ MagickTrue
Definition: magick-type.h:205
MagickExport void * GetNextKeyInHashmap(HashmapInfo *hashmap_info)
Definition: hashmap.c:484
MagickExport StringInfo * StringToStringInfo(const char *string)
Definition: string.c:2446
MagickExport MagickBooleanType InsertValueInSortedLinkedList(LinkedListInfo *list_info, int(*compare)(const void *, const void *), void **replace, const void *value)
Definition: hashmap.c:1091
MagickExport void * RemoveElementFromLinkedList(LinkedListInfo *list_info, const size_t index)
Definition: hashmap.c:1669
MagickExport void * GetValueFromHashmap(HashmapInfo *hashmap_info, const void *key)
Definition: hashmap.c:711
MagickExport size_t HashStringType(const void *string)
Definition: hashmap.c:884
MagickExport size_t HashPointerType(const void *)
MagickExport void * GetLastValueInLinkedList(LinkedListInfo *)
MagickExport void * GetNextValueInLinkedList(LinkedListInfo *)
size_t entries
Definition: hashmap.c:109
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:552
MagickExport void ClearLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: hashmap.c:204
size_t capacity
Definition: hashmap.c:108
Definition: semaphore.c:61
MagickExport MagickBooleanType AppendValueToLinkedList(LinkedListInfo *, const void *)
MagickExport size_t HashPointerType(const void *pointer)
Definition: hashmap.c:848
size_t(* hash)(const void *)
Definition: hashmap.c:98
MagickExport void * GetNextValueInHashmap(HashmapInfo *)
struct _EntryInfo EntryInfo
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1435
MagickExport size_t HashStringInfoType(const void *string_info)
Definition: hashmap.c:937
MagickExport void * RemoveElementFromLinkedList(LinkedListInfo *, const size_t)
@ MagickFalse
Definition: magick-type.h:204
MagickExport void UpdateSignature(SignatureInfo *, const StringInfo *)
Definition: signature.c:750
MagickExport MagickBooleanType LinkedListToArray(LinkedListInfo *, void **)
MagickExport size_t GetNumberOfElementsInLinkedList(const LinkedListInfo *list_info)
Definition: hashmap.c:679
MagickBooleanType(* compare)(const void *, const void *)
Definition: hashmap.c:101
MagickExport MagickBooleanType AppendValueToLinkedList(LinkedListInfo *list_info, const void *value)
Definition: hashmap.c:150
MagickExport LinkedListInfo * DestroyLinkedList(LinkedListInfo *, void *(*)(void *))
Definition: signature.c:65
MagickExport SemaphoreInfo * AllocateSemaphoreInfo(void)
Definition: semaphore.c:192
MagickExport void * GetNextKeyInHashmap(HashmapInfo *)
void *(* relinquish_key)(void *)
Definition: hashmap.c:104
MagickExport void FinalizeSignature(SignatureInfo *)
MagickExport HashmapInfo * DestroyHashmap(HashmapInfo *)
MagickExport SignatureInfo * DestroySignatureInfo(SignatureInfo *)
Definition: signature.c:170
size_t signature
Definition: hashmap.c:92
void *(*) *(* relinquish_value)(void *)
Definition: hashmap.c:105
MagickExport void ResetLinkedListIterator(LinkedListInfo *)
Definition: hashmap.c:1921
MagickExport void * RemoveElementByValueFromLinkedList(LinkedListInfo *, const void *)
MagickExport MagickBooleanType CompareHashmapStringInfo(const void *target, const void *source)
Definition: hashmap.c:296
MagickExport void DestroySemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:351
MagickBooleanType
Definition: magick-type.h:203
MagickExport void * GetLastValueInLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:447
static MagickBooleanType IncreaseHashmapCapacity(HashmapInfo *hashmap_info)
Definition: hashmap.c:1411
MagickExport void * GetNextValueInLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:606
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1162
MagickExport size_t GetNumberOfEntriesInHashmap(const HashmapInfo *)
size_t elements
Definition: hashmap.c:81
MagickExport int CompareStringInfo(const StringInfo *target, const StringInfo *source)
Definition: string.c:377
struct _ElementInfo ElementInfo
MagickExport MagickBooleanType PutEntryInHashmap(HashmapInfo *, const void *, const void *)
Definition: hashmap.c:1495
MagickExport LinkedListInfo * NewLinkedList(const size_t)
Definition: hashmap.c:1363
MagickExport size_t GetNumberOfElementsInLinkedList(const LinkedListInfo *)
MagickExport void * GetValueFromLinkedList(LinkedListInfo *, const size_t)
MagickExport unsigned char * GetStringInfoDatum(const StringInfo *string_info)
Definition: string.c:1183
MagickBooleanType head_of_list
Definition: hashmap.c:113
MagickExport SignatureInfo * AcquireSignatureInfo(void)
ElementInfo * next
Definition: hashmap.c:86
MagickExport void * RemoveEntryFromHashmap(HashmapInfo *, const void *)
MagickExport void * RemoveLastElementFromLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:1828
MagickExport LinkedListInfo * NewLinkedList(const size_t capacity)
Definition: hashmap.c:1363
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
MagickExport void UnlockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:449
MagickExport StringInfo * DestroyStringInfo(StringInfo *string_info)
Definition: string.c:835
ElementInfo * head
Definition: hashmap.c:84
MagickExport const StringInfo * GetSignatureDigest(const SignatureInfo *)
Definition: signature.c:326
MagickExport MagickBooleanType CompareHashmapString(const void *target, const void *source)
Definition: hashmap.c:258
size_t capacity
Definition: hashmap.c:80
size_t next
Definition: hashmap.c:110
MagickExport void * RemoveElementByValueFromLinkedList(LinkedListInfo *list_info, const void *value)
Definition: hashmap.c:1597
MagickExport MagickBooleanType InsertValueInLinkedList(LinkedListInfo *, const size_t, const void *)
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
@ ResourceLimitFatalError
Definition: exception.h:78
struct _ElementInfo * next
Definition: hashmap.c:63
MagickExport size_t HashStringInfoType(const void *)
Definition: hashmap.c:937
MagickExport MagickBooleanType InsertValueInLinkedList(LinkedListInfo *list_info, const size_t index, const void *value)
Definition: hashmap.c:990
MagickExport MagickBooleanType IsLinkedListEmpty(const LinkedListInfo *)
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:665
MagickExport MagickBooleanType IsHashmapEmpty(const HashmapInfo *)