18#ifndef MAGICKCORE_LINKED_LIST_H
19#define MAGICKCORE_LINKED_LIST_H
21#if defined(__cplusplus) || defined(c_plusplus)
28extern MagickExport LinkedListInfo
29 *DestroyLinkedList(LinkedListInfo *,
void *(*)(
void *)),
30 *NewLinkedList(
const size_t);
32extern MagickExport MagickBooleanType
33 AppendValueToLinkedList(LinkedListInfo *,
const void *),
34 InsertValueInLinkedList(LinkedListInfo *,
const size_t,
const void *),
35 InsertValueInSortedLinkedList(LinkedListInfo *,
36 int (*)(
const void *,
const void *),
void **,
const void *),
37 IsLinkedListEmpty(
const LinkedListInfo *),
38 LinkedListToArray(LinkedListInfo *,
void **);
40extern MagickExport
size_t
41 GetNumberOfElementsInLinkedList(
const LinkedListInfo *);
43extern MagickExport
void
44 ClearLinkedList(LinkedListInfo *,
void *(*)(
void *)),
45 *GetLastValueInLinkedList(LinkedListInfo *),
46 *GetNextValueInLinkedList(LinkedListInfo *),
47 *GetValueFromLinkedList(LinkedListInfo *,
const size_t),
48 *RemoveElementByValueFromLinkedList(LinkedListInfo *,
const void *),
49 *RemoveElementFromLinkedList(LinkedListInfo *,
const size_t),
50 *RemoveLastElementFromLinkedList(LinkedListInfo *),
51 ResetLinkedListIterator(LinkedListInfo *);
53#if defined(__cplusplus) || defined(c_plusplus)