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 int
00034 CompareSplayTreeString(const void *,const void *),
00035 CompareSplayTreeStringInfo(const void *,const void *);
00036
00037 extern MagickExport SplayTreeInfo
00038 *CloneSplayTree(SplayTreeInfo *,void *(*)(void *),void *(*)(void *)),
00039 *DestroySplayTree(SplayTreeInfo *),
00040 *NewSplayTree(int (*)(const void *,const void *),void *(*)(void *),
00041 void *(*)(void *));
00042
00043 extern MagickExport unsigned long
00044 GetNumberOfNodesInSplayTree(const SplayTreeInfo *);
00045
00046 extern MagickExport void
00047 *GetNextKeyInSplayTree(SplayTreeInfo *),
00048 *GetNextValueInSplayTree(SplayTreeInfo *),
00049 *GetValueFromSplayTree(SplayTreeInfo *,const void *),
00050 *RemoveNodeByValueFromSplayTree(SplayTreeInfo *,const void *),
00051 *RemoveNodeFromSplayTree(SplayTreeInfo *,const void *),
00052 ResetSplayTreeIterator(SplayTreeInfo *);
00053
00054 #if defined(__cplusplus) || defined(c_plusplus)
00055 }
00056 #endif
00057
00058 #endif