18#ifndef MAGICKCORE_SPLAY_H
19#define MAGICKCORE_SPLAY_H
21#if defined(__cplusplus) || defined(c_plusplus)
28extern MagickExport MagickBooleanType
29 AddValueToSplayTree(SplayTreeInfo *,
const void *,
const void *),
30 DeleteNodeByValueFromSplayTree(SplayTreeInfo *,
const void *),
31 DeleteNodeFromSplayTree(SplayTreeInfo *,
const void *);
33extern MagickExport
const void
34 *GetNextKeyInSplayTree(SplayTreeInfo *),
35 *GetNextValueInSplayTree(SplayTreeInfo *),
36 *GetRootValueFromSplayTree(SplayTreeInfo *),
37 *GetValueFromSplayTree(SplayTreeInfo *,
const void *);
39extern MagickExport
int
40 CompareSplayTreeString(
const void *,
const void *),
41 CompareSplayTreeStringInfo(
const void *,
const void *);
43extern MagickExport SplayTreeInfo
44 *CloneSplayTree(SplayTreeInfo *,
void *(*)(
void *),
void *(*)(
void *)),
45 *DestroySplayTree(SplayTreeInfo *),
46 *NewSplayTree(
int (*)(
const void *,
const void *),
void *(*)(
void *),
49extern MagickExport
size_t
50 GetNumberOfNodesInSplayTree(
const SplayTreeInfo *);
52extern MagickExport
void
53 *RemoveNodeByValueFromSplayTree(SplayTreeInfo *,
const void *),
54 *RemoveNodeFromSplayTree(SplayTreeInfo *,
const void *),
55 ResetSplayTree(SplayTreeInfo *),
56 ResetSplayTreeIterator(SplayTreeInfo *);
58#if defined(__cplusplus) || defined(c_plusplus)