00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_SPLAY_H
00019 #define MAGICKCORE_SPLAY_H
00020
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 typedef struct _SplayTreeInfo
00026 SplayTreeInfo;
00027
00028 extern MagickExport MagickBooleanType
00029 AddValueToSplayTree(SplayTreeInfo *,const void *,const void *),
00030 DeleteNodeByValueFromSplayTree(SplayTreeInfo *,const void *),
00031 DeleteNodeFromSplayTree(SplayTreeInfo *,const void *);
00032
00033 extern MagickExport const void
00034 *GetNextKeyInSplayTree(SplayTreeInfo *),
00035 *GetNextValueInSplayTree(SplayTreeInfo *),
00036 *GetRootValueFromSplayTree(SplayTreeInfo *),
00037 *GetValueFromSplayTree(SplayTreeInfo *,const void *);
00038
00039 extern MagickExport int
00040 CompareSplayTreeString(const void *,const void *),
00041 CompareSplayTreeStringInfo(const void *,const void *);
00042
00043 extern MagickExport SplayTreeInfo
00044 *CloneSplayTree(SplayTreeInfo *,void *(*)(void *),void *(*)(void *)),
00045 *DestroySplayTree(SplayTreeInfo *),
00046 *NewSplayTree(int (*)(const void *,const void *),void *(*)(void *),
00047 void *(*)(void *));
00048
00049 extern MagickExport size_t
00050 GetNumberOfNodesInSplayTree(const SplayTreeInfo *);
00051
00052 extern MagickExport void
00053 *RemoveNodeByValueFromSplayTree(SplayTreeInfo *,const void *),
00054 *RemoveNodeFromSplayTree(SplayTreeInfo *,const void *),
00055 ResetSplayTree(SplayTreeInfo *),
00056 ResetSplayTreeIterator(SplayTreeInfo *);
00057
00058 #if defined(__cplusplus) || defined(c_plusplus)
00059 }
00060 #endif
00061
00062 #endif