# hashmap.c File Reference

`#include "magick/studio.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/hashmap.h"`
`#include "magick/memory_.h"`
`#include "magick/semaphore.h"`
`#include "magick/signature.h"`
`#include "magick/string_.h"`

## Data Structures

struct | _ElementInfo
struct | _EntryInfo
struct | _LinkedListInfo
struct | _HashmapInfo

## Defines

#define | MaxCapacities 20

## Typedefs

typedef struct _ElementInfo | ElementInfo
typedef struct _EntryInfo | EntryInfo

## Functions

MagickExport MagickBooleanType | AppendValueToLinkedList (LinkedListInfo *list_info, const void *value)
MagickExport void | ClearLinkedList (LinkedListInfo *list_info, void *(*relinquish_value)(void *))
MagickExport MagickBooleanType | CompareHashmapString (const void *target, const void *source)
MagickExport MagickBooleanType | CompareHashmapStringInfo (const void *target, const void *source)
MagickExport HashmapInfo * | DestroyHashmap (HashmapInfo *hashmap_info)
MagickExport LinkedListInfo * | DestroyLinkedList (LinkedListInfo *list_info, void *(*relinquish_value)(void *))
MagickExport void * | GetLastValueInLinkedList (LinkedListInfo *list_info)
MagickExport void * | GetNextKeyInHashmap (HashmapInfo *hashmap_info)
MagickExport void * | GetNextValueInHashmap (HashmapInfo *hashmap_info)
MagickExport void * | GetNextValueInLinkedList (LinkedListInfo *list_info)
MagickExport unsigned long | GetNumberOfEntriesInHashmap (const HashmapInfo *hashmap_info)
MagickExport unsigned long | GetNumberOfElementsInLinkedList (const LinkedListInfo *list_info)
MagickExport void * | GetValueFromHashmap (HashmapInfo *hashmap_info, const void *key)
MagickExport void * | GetValueFromLinkedList (LinkedListInfo *list_info, const unsigned long index)
MagickExport size_t | HashPointerType (const void *pointer)
MagickExport size_t | HashStringType (const void *string)
MagickExport size_t | HashStringInfoType (const void *string)
MagickExport MagickBooleanType | InsertValueInLinkedList (LinkedListInfo *list_info, const unsigned long index, const void *value)
MagickExport MagickBooleanType | InsertValueInSortedLinkedList (LinkedListInfo *list_info, int(*compare)(const void *, const void *), void **replace, const void *value)
MagickExport MagickBooleanType | IsHashmapEmpty (const HashmapInfo *hashmap_info)
MagickExport MagickBooleanType | IsLinkedListEmpty (const LinkedListInfo *list_info)
MagickExport MagickBooleanType | LinkedListToArray (LinkedListInfo *list_info, void **array)
MagickExport HashmapInfo * | NewHashmap (const unsigned long capacity, size_t(*hash)(const void *), MagickBooleanType(*compare)(const void *, const void *), void *(*relinquish_key)(void *), void *(*relinquish_value)(void *))
MagickExport LinkedListInfo * | NewLinkedList (const unsigned long capacity)
static MagickBooleanType | IncreaseHashmapCapacity (HashmapInfo *hashmap_info)
MagickExport MagickBooleanType | PutEntryInHashmap (HashmapInfo *hashmap_info, const void *key, const void *value)
MagickExport void * | RemoveElementByValueFromLinkedList (LinkedListInfo *list_info, const void *value)
MagickExport void * | RemoveElementFromLinkedList (LinkedListInfo *list_info, const unsigned long index)
MagickExport void * | RemoveEntryFromHashmap (HashmapInfo *hashmap_info, const void *key)
MagickExport void * | RemoveLastElementFromLinkedList (LinkedListInfo *list_info)
MagickExport void | ResetHashmapIterator (HashmapInfo *hashmap_info)
MagickExport void | ResetLinkedListIterator (LinkedListInfo *list_info)

## Define Documentation

#define MaxCapacities 20

## Typedef Documentation

typedef struct _ElementInfo ElementInfo

typedef struct _EntryInfo EntryInfo

## Function Documentation

MagickExport MagickBooleanType AppendValueToLinkedList | ( | LinkedListInfo * | list_info,
|  | const void * | value |
| ) |  |  |

MagickExport void ClearLinkedList | ( | LinkedListInfo * | list_info,
|  | void *(*)(void *) | relinquish_value |
| ) |  |  |

MagickExport MagickBooleanType CompareHashmapString | ( | const void * | target,
|  | const void * | source |
| ) |  |  |

MagickExport MagickBooleanType CompareHashmapStringInfo | ( | const void * | target,
|  | const void * | source |
| ) |  |  |

MagickExport HashmapInfo* DestroyHashmap | ( | HashmapInfo * | hashmap_info | ) |

MagickExport LinkedListInfo* DestroyLinkedList | ( | LinkedListInfo * | list_info,
|  | void *(*)(void *) | relinquish_value |
| ) |  |  |

MagickExport void* GetLastValueInLinkedList | ( | LinkedListInfo * | list_info | ) |

MagickExport void* GetNextKeyInHashmap | ( | HashmapInfo * | hashmap_info | ) |

MagickExport void* GetNextValueInHashmap | ( | HashmapInfo * | hashmap_info | ) |

MagickExport void* GetNextValueInLinkedList | ( | LinkedListInfo * | list_info | ) |

MagickExport unsigned long GetNumberOfElementsInLinkedList | ( | const LinkedListInfo * | list_info | ) |

MagickExport unsigned long GetNumberOfEntriesInHashmap | ( | const HashmapInfo * | hashmap_info | ) |

MagickExport void* GetValueFromHashmap | ( | HashmapInfo * | hashmap_info,
|  | const void * | key |
| ) |  |  |

MagickExport void* GetValueFromLinkedList | ( | LinkedListInfo * | list_info,
|  | const unsigned long | index |
| ) |  |  |

MagickExport size_t HashPointerType | ( | const void * | pointer | ) |

MagickExport size_t HashStringInfoType | ( | const void * | string | ) |

MagickExport size_t HashStringType | ( | const void * | string | ) |

static MagickBooleanType IncreaseHashmapCapacity | ( | HashmapInfo * | hashmap_info | ) | `[static]`

MagickExport MagickBooleanType InsertValueInLinkedList | ( | LinkedListInfo * | list_info,
|  | const unsigned long | index,
|  | const void * | value |
| ) |  |  |

MagickExport MagickBooleanType InsertValueInSortedLinkedList | ( | LinkedListInfo * | list_info,
|  | int(*)(const void *, const void *) | compare,
|  | void ** | replace,
|  | const void * | value |
| ) |  |  |

MagickExport MagickBooleanType IsHashmapEmpty | ( | const HashmapInfo * | hashmap_info | ) |

MagickExport MagickBooleanType IsLinkedListEmpty | ( | const LinkedListInfo * | list_info | ) |

MagickExport MagickBooleanType LinkedListToArray | ( | LinkedListInfo * | list_info,
|  | void ** | array |
| ) |  |  |

MagickExport HashmapInfo* NewHashmap | ( | const unsigned long | capacity,
|  | size_t(*)(const void *) | hash,
|  | MagickBooleanType(*)(const void *, const void *) | compare,
|  | void *(*)(void *) | relinquish_key,
|  | void *(*)(void *) | relinquish_value |
| ) |  |  |

MagickExport LinkedListInfo* NewLinkedList | ( | const unsigned long | capacity | ) |

MagickExport MagickBooleanType PutEntryInHashmap | ( | HashmapInfo * | hashmap_info,
|  | const void * | key,
|  | const void * | value |
| ) |  |  |

MagickExport void* RemoveElementByValueFromLinkedList | ( | LinkedListInfo * | list_info,
|  | const void * | value |
| ) |  |  |

MagickExport void* RemoveElementFromLinkedList | ( | LinkedListInfo * | list_info,
|  | const unsigned long | index |
| ) |  |  |

MagickExport void* RemoveEntryFromHashmap | ( | HashmapInfo * | hashmap_info,
|  | const void * | key |
| ) |  |  |

MagickExport void* RemoveLastElementFromLinkedList | ( | LinkedListInfo * | list_info | ) |

MagickExport void ResetHashmapIterator | ( | HashmapInfo * | hashmap_info | ) |

MagickExport void ResetLinkedListIterator | ( | LinkedListInfo * | list_info | ) |