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