splay-tree.c File Reference

#include "MagickCore/studio.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/locale_.h"
#include "MagickCore/log.h"
#include "MagickCore/memory_.h"
#include "MagickCore/memory-private.h"
#include "MagickCore/splay-tree.h"
#include "MagickCore/semaphore.h"
#include "MagickCore/string_.h"

Data Structures

struct  _NodeInfo
struct  _SplayTreeInfo

Defines

#define MaxSplayTreeDepth   1024

Typedefs

typedef struct _NodeInfo NodeInfo

Functions

static int IterateOverSplayTree (SplayTreeInfo *, int(*)(NodeInfo *, const void *), const void *)
static void SplaySplayTree (SplayTreeInfo *, const void *)
MagickExport MagickBooleanType AddValueToSplayTree (SplayTreeInfo *splay_tree, const void *key, const void *value)
static NodeInfoLinkSplayTreeNodes (NodeInfo **nodes, const size_t low, const size_t high)
static int SplayTreeToNodeArray (NodeInfo *node, const void *nodes)
static void BalanceSplayTree (SplayTreeInfo *splay_tree)
static void * GetFirstSplayTreeNode (SplayTreeInfo *splay_tree)
MagickExport SplayTreeInfoCloneSplayTree (SplayTreeInfo *splay_tree, void *(*clone_key)(void *), void *(*clone_value)(void *))
MagickExport int CompareSplayTreeString (const void *target, const void *source)
MagickExport int CompareSplayTreeStringInfo (const void *target, const void *source)
MagickExport MagickBooleanType DeleteNodeByValueFromSplayTree (SplayTreeInfo *splay_tree, const void *value)
MagickExport MagickBooleanType DeleteNodeFromSplayTree (SplayTreeInfo *splay_tree, const void *key)
MagickExport SplayTreeInfoDestroySplayTree (SplayTreeInfo *splay_tree)
MagickExport const void * GetNextKeyInSplayTree (SplayTreeInfo *splay_tree)
MagickExport const void * GetNextValueInSplayTree (SplayTreeInfo *splay_tree)
MagickExport const void * GetRootValueFromSplayTree (SplayTreeInfo *splay_tree)
MagickExport const void * GetValueFromSplayTree (SplayTreeInfo *splay_tree, const void *key)
MagickExport size_t GetNumberOfNodesInSplayTree (const SplayTreeInfo *splay_tree)
MagickExport SplayTreeInfoNewSplayTree (int(*compare)(const void *, const void *), void *(*relinquish_key)(void *), void *(*relinquish_value)(void *))
MagickExport void * RemoveNodeByValueFromSplayTree (SplayTreeInfo *splay_tree, const void *value)
MagickExport void * RemoveNodeFromSplayTree (SplayTreeInfo *splay_tree, const void *key)
MagickExport void ResetSplayTree (SplayTreeInfo *splay_tree)
MagickExport void ResetSplayTreeIterator (SplayTreeInfo *splay_tree)
static NodeInfoSplay (SplayTreeInfo *splay_tree, const size_t depth, const void *key, NodeInfo **node, NodeInfo **parent, NodeInfo **grandparent)

Define Documentation

#define MaxSplayTreeDepth   1024

Referenced by Splay().


Typedef Documentation

typedef struct _NodeInfo NodeInfo

Function Documentation

MagickExport MagickBooleanType AddValueToSplayTree ( SplayTreeInfo splay_tree,
const void *  key,
const void *  value 
)
static void BalanceSplayTree ( SplayTreeInfo splay_tree  )  [static]
MagickExport SplayTreeInfo* CloneSplayTree ( SplayTreeInfo splay_tree,
void *(*)(void *)  clone_key,
void *(*)(void *)  clone_value 
)
MagickExport int CompareSplayTreeString ( const void *  target,
const void *  source 
)
MagickExport int CompareSplayTreeStringInfo ( const void *  target,
const void *  source 
)

References CompareStringInfo().

MagickExport MagickBooleanType DeleteNodeByValueFromSplayTree ( SplayTreeInfo splay_tree,
const void *  value 
)
MagickExport MagickBooleanType DeleteNodeFromSplayTree ( SplayTreeInfo splay_tree,
const void *  key 
)
MagickExport SplayTreeInfo* DestroySplayTree ( SplayTreeInfo splay_tree  ) 
static void* GetFirstSplayTreeNode ( SplayTreeInfo splay_tree  )  [inline, static]
MagickExport const void* GetNextKeyInSplayTree ( SplayTreeInfo splay_tree  ) 
MagickExport const void* GetNextValueInSplayTree ( SplayTreeInfo splay_tree  ) 
MagickExport size_t GetNumberOfNodesInSplayTree ( const SplayTreeInfo splay_tree  ) 
MagickExport const void* GetRootValueFromSplayTree ( SplayTreeInfo splay_tree  ) 
MagickExport const void* GetValueFromSplayTree ( SplayTreeInfo splay_tree,
const void *  key 
)
static int IterateOverSplayTree ( SplayTreeInfo splay_tree,
int(*)(NodeInfo *, const void *)  method,
const void *  value 
) [static]
static NodeInfo* LinkSplayTreeNodes ( NodeInfo **  nodes,
const size_t  low,
const size_t  high 
) [static]

References _NodeInfo::left.

Referenced by BalanceSplayTree().

MagickExport SplayTreeInfo* NewSplayTree ( int(*)(const void *, const void *)  compare,
void *(*)(void *)  relinquish_key,
void *(*)(void *)  relinquish_value 
)
MagickExport void* RemoveNodeByValueFromSplayTree ( SplayTreeInfo splay_tree,
const void *  value 
)
MagickExport void* RemoveNodeFromSplayTree ( SplayTreeInfo splay_tree,
const void *  key 
)
MagickExport void ResetSplayTree ( SplayTreeInfo splay_tree  ) 
MagickExport void ResetSplayTreeIterator ( SplayTreeInfo splay_tree  ) 
static NodeInfo* Splay ( SplayTreeInfo splay_tree,
const size_t  depth,
const void *  key,
NodeInfo **  node,
NodeInfo **  parent,
NodeInfo **  grandparent 
) [static]
static void SplaySplayTree ( SplayTreeInfo splay_tree,
const void *  key 
) [static]
static int SplayTreeToNodeArray ( NodeInfo node,
const void *  nodes 
) [inline, static]

Referenced by BalanceSplayTree().


Generated on 10 Aug 2020 for MagickCore by  doxygen 1.6.1