# splay-tree.h

Go to the documentation of this file.

    00001 /*
    00002   Copyright 1999-2008 ImageMagick Studio LLC, a non-profit organization
    00003   dedicated to making software imaging solutions freely available.
    00004
    00005   You may not use this file except in compliance with the License.
    00006   obtain a copy of the License at
    00007
    00008     http://www.imagemagick.org/script/license.php
    00009
    00010   Unless required by applicable law or agreed to in writing, software
    00011   distributed under the License is distributed on an "AS IS" BASIS,
    00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013   See the License for the specific language governing permissions and
    00014   limitations under the License.
    00015
    00016   MagickCore splay-tree methods.
    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