MagickCore
7.0.0
|
#include "MagickCore/studio.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/log.h"
#include "MagickCore/memory_.h"
#include "MagickCore/splay-tree.h"
#include "MagickCore/semaphore.h"
#include "MagickCore/string_.h"
Go to the source code of this file.
Data Structures | |
struct | _NodeInfo |
struct | _SplayTreeInfo |
Macros | |
#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 NodeInfo * | LinkSplayTreeNodes (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 SplayTreeInfo * | CloneSplayTree (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 SplayTreeInfo * | DestroySplayTree (SplayTreeInfo *splay_tree) |
MagickExport const void * | GetNextKeyInSplayTree (SplayTreeInfo *splay_tree) |
MagickExport const void * | GetNextValueInSplayTree (SplayTreeInfo *splay_tree) |
MagickExport const void * | GetValueFromSplayTree (SplayTreeInfo *splay_tree, const void *key) |
MagickExport size_t | GetNumberOfNodesInSplayTree (const SplayTreeInfo *splay_tree) |
MagickExport SplayTreeInfo * | NewSplayTree (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 NodeInfo * | Splay (SplayTreeInfo *splay_tree, const size_t depth, const void *key, NodeInfo **node, NodeInfo **parent, NodeInfo **grandparent) |
#define MaxSplayTreeDepth 1024 |
Definition at line 63 of file splay-tree.c.
Referenced by Splay().
MagickExport MagickBooleanType AddValueToSplayTree | ( | SplayTreeInfo * | splay_tree, |
const void * | key, | ||
const void * | value | ||
) |
Definition at line 152 of file splay-tree.c.
References AcquireMagickMemory(), _SplayTreeInfo::compare, _NodeInfo::key, _SplayTreeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), MagickFalse, MagickTrue, _SplayTreeInfo::nodes, _SplayTreeInfo::relinquish_key, _SplayTreeInfo::relinquish_value, _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, SplaySplayTree(), UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by AcquireUniqueFileResource(), CloneSplayTree(), FxChannelStatistics(), FxEvaluateSubexpression(), FxGetSymbol(), GetEXIFProperty(), GetXMLTreeAttributes(), GetXMPProperty(), InitializeMagickList(), LoadCoderList(), LoadCoderLists(), LoadLocaleList(), LoadTypeList(), OpenDistributeCache(), RegisterMagickInfo(), SetImageArtifact(), SetImageOption(), SetImageProfile(), SetImageProperty(), and SetImageRegistry().
|
static |
Definition at line 278 of file splay-tree.c.
References AcquireQuantumMemory(), _SplayTreeInfo::balance, IterateOverSplayTree(), LinkSplayTreeNodes(), MagickFalse, _SplayTreeInfo::nodes, RelinquishMagickMemory(), ResourceLimitFatalError, _SplayTreeInfo::root, SplayTreeToNodeArray(), and ThrowFatalException.
Referenced by SplaySplayTree().
MagickExport SplayTreeInfo* CloneSplayTree | ( | SplayTreeInfo * | splay_tree, |
void *(*)(void *) | clone_key, | ||
void *(*)(void *) | clone_value | ||
) |
Definition at line 344 of file splay-tree.c.
References AddValueToSplayTree(), _SplayTreeInfo::compare, _SplayTreeInfo::debug, GetFirstSplayTreeNode(), GetMagickModule, _NodeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, NewSplayTree(), _SplayTreeInfo::relinquish_key, _SplayTreeInfo::relinquish_value, _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, SplaySplayTree(), TraceEvent, UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by CloneImageArtifacts(), CloneImageOptions(), CloneImageProfiles(), and CloneImageProperties().
MagickExport int CompareSplayTreeString | ( | const void * | target, |
const void * | source | ||
) |
Definition at line 410 of file splay-tree.c.
References LocaleCompare().
Referenced by AcquireFxInfo(), AcquireUniqueFileResource(), GetXMPProperty(), InitializeMagickList(), LoadCoderList(), LoadCoderLists(), LoadLocaleList(), LoadTypeList(), SetImageArtifact(), SetImageOption(), SetImageProfile(), SetImageProperty(), and SetImageRegistry().
MagickExport int CompareSplayTreeStringInfo | ( | const void * | target, |
const void * | source | ||
) |
Definition at line 446 of file splay-tree.c.
References CompareStringInfo().
MagickExport MagickBooleanType DeleteNodeByValueFromSplayTree | ( | SplayTreeInfo * | splay_tree, |
const void * | value | ||
) |
Definition at line 484 of file splay-tree.c.
References _SplayTreeInfo::compare, _SplayTreeInfo::debug, GetFirstSplayTreeNode(), GetMagickModule, _NodeInfo::key, _SplayTreeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, MagickTrue, _SplayTreeInfo::nodes, _SplayTreeInfo::relinquish_key, _SplayTreeInfo::relinquish_value, RelinquishMagickMemory(), _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, SplaySplayTree(), TraceEvent, UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by UnregisterMagickInfo().
MagickExport MagickBooleanType DeleteNodeFromSplayTree | ( | SplayTreeInfo * | splay_tree, |
const void * | key | ||
) |
Definition at line 601 of file splay-tree.c.
References _SplayTreeInfo::compare, _SplayTreeInfo::debug, GetMagickModule, _NodeInfo::key, _SplayTreeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, MagickTrue, _SplayTreeInfo::nodes, _SplayTreeInfo::relinquish_key, _SplayTreeInfo::relinquish_value, RelinquishMagickMemory(), _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, SplaySplayTree(), TraceEvent, UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by DeleteImageArtifact(), DeleteImageOption(), DeleteImageProfile(), DeleteImageProperty(), DeleteImageRegistry(), DestroyDistributeCache(), FxChannelStatistics(), FxEvaluateSubexpression(), and RelinquishUniqueFileResource().
MagickExport SplayTreeInfo* DestroySplayTree | ( | SplayTreeInfo * | splay_tree | ) |
Definition at line 680 of file splay-tree.c.
References DestroySemaphoreInfo(), _NodeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), MagickSignature, _SplayTreeInfo::relinquish_key, _SplayTreeInfo::relinquish_value, RelinquishMagickMemory(), _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by CoderComponentTerminus(), DestroyFxInfo(), DestroyImageArtifacts(), DestroyImageOptions(), DestroyImageProfiles(), DestroyImageProperties(), DistributePixelCacheClient(), GetEXIFProperty(), LocaleComponentTerminus(), MagickComponentTerminus(), RegistryComponentTerminus(), ResourceComponentTerminus(), and TypeComponentTerminus().
|
inlinestatic |
Definition at line 331 of file splay-tree.c.
References _NodeInfo::key, _NodeInfo::left, and _SplayTreeInfo::root.
Referenced by CloneSplayTree(), DeleteNodeByValueFromSplayTree(), RemoveNodeByValueFromSplayTree(), and ResetSplayTreeIterator().
MagickExport const void* GetNextKeyInSplayTree | ( | SplayTreeInfo * | splay_tree | ) |
Definition at line 767 of file splay-tree.c.
References _SplayTreeInfo::debug, GetMagickModule, _NodeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, _SplayTreeInfo::next, _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, SplaySplayTree(), TraceEvent, and UnlockSemaphoreInfo().
Referenced by AsynchronousResourceComponentTerminus(), GetNextImageArtifact(), GetNextImageOption(), GetNextImageProfile(), GetNextImageProperty(), GetNextImageRegistry(), and RelinquishUniqueFileResource().
MagickExport const void* GetNextValueInSplayTree | ( | SplayTreeInfo * | splay_tree | ) |
Definition at line 821 of file splay-tree.c.
References _SplayTreeInfo::debug, GetMagickModule, _NodeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, _SplayTreeInfo::next, _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, SplaySplayTree(), TraceEvent, UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by GetCoderInfo(), GetCoderInfoList(), GetCoderList(), GetImageArtifact(), GetImageMagick(), GetImageProperty(), GetLocaleInfo_(), GetLocaleInfoList(), GetLocaleList(), GetMagickInfo(), GetMagickInfoList(), GetMagickList(), GetTypeInfo(), GetTypeInfoByFamily(), GetTypeInfoList(), GetTypeList(), and UnregisterMagickInfo().
MagickExport size_t GetNumberOfNodesInSplayTree | ( | const SplayTreeInfo * | splay_tree | ) |
Definition at line 933 of file splay-tree.c.
References _SplayTreeInfo::debug, GetMagickModule, LogMagickEvent(), MagickFalse, MagickSignature, _SplayTreeInfo::nodes, _SplayTreeInfo::signature, and TraceEvent.
Referenced by GetCoderInfo(), GetCoderInfoList(), GetCoderList(), GetLocaleInfo_(), GetLocaleInfoList(), GetLocaleList(), GetMagickInfoList(), GetMagickList(), GetTypeInfo(), GetTypeInfoList(), GetTypeList(), LoadLocaleLists(), LoadTypeLists(), and UnregisterMagickInfo().
MagickExport const void* GetValueFromSplayTree | ( | SplayTreeInfo * | splay_tree, |
const void * | key | ||
) |
Definition at line 878 of file splay-tree.c.
References _SplayTreeInfo::compare, _SplayTreeInfo::debug, GetMagickModule, _NodeInfo::key, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, SplaySplayTree(), TraceEvent, UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by FxChannelStatistics(), FxGetSymbol(), GetCoderInfo(), GetEXIFProperty(), GetImageArtifact(), GetImageOption(), GetImageProfile(), GetImageProperty(), GetImageRegistry(), GetLocaleInfo_(), GetTypeInfo(), ReadDistributeCacheMetacontent(), ReadDistributeCachePixels(), WriteDistributeCacheMetacontent(), and WriteDistributeCachePixels().
|
static |
Definition at line 970 of file splay-tree.c.
References AcquireQuantumMemory(), _NodeInfo::left, MagickFalse, MagickTrue, _SplayTreeInfo::nodes, RelinquishMagickMemory(), ResourceLimitFatalError, _NodeInfo::right, _SplayTreeInfo::root, and ThrowFatalException.
Referenced by BalanceSplayTree().
|
inlinestatic |
Definition at line 245 of file splay-tree.c.
References _NodeInfo::left.
Referenced by BalanceSplayTree().
MagickExport SplayTreeInfo* NewSplayTree | ( | int(*)(const void *, const void *) | compare, |
void *(*)(void *) | relinquish_key, | ||
void *(*)(void *) | relinquish_value | ||
) |
Definition at line 1098 of file splay-tree.c.
References AcquireMagickMemory(), AllocateSemaphoreInfo(), _SplayTreeInfo::balance, _SplayTreeInfo::compare, _SplayTreeInfo::debug, IsEventLogging(), _SplayTreeInfo::key, MagickFalse, MagickSignature, _SplayTreeInfo::next, _SplayTreeInfo::nodes, _SplayTreeInfo::relinquish_key, _SplayTreeInfo::relinquish_value, ResetMagickMemory(), ResourceLimitFatalError, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, and ThrowFatalException.
Referenced by AcquireFxInfo(), AcquireUniqueFileResource(), CloneSplayTree(), DistributePixelCacheClient(), GetEXIFProperty(), GetXMPProperty(), InitializeMagickList(), LoadCoderList(), LoadCoderLists(), LoadLocaleList(), LoadTypeList(), SetImageArtifact(), SetImageOption(), SetImageProfile(), SetImageProperty(), and SetImageRegistry().
MagickExport void* RemoveNodeByValueFromSplayTree | ( | SplayTreeInfo * | splay_tree, |
const void * | value | ||
) |
Definition at line 1149 of file splay-tree.c.
References _SplayTreeInfo::compare, _SplayTreeInfo::debug, GetFirstSplayTreeNode(), GetMagickModule, _NodeInfo::key, _SplayTreeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, _SplayTreeInfo::nodes, _SplayTreeInfo::relinquish_value, RelinquishMagickMemory(), _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, SplaySplayTree(), TraceEvent, UnlockSemaphoreInfo(), and _NodeInfo::value.
MagickExport void* RemoveNodeFromSplayTree | ( | SplayTreeInfo * | splay_tree, |
const void * | key | ||
) |
Definition at line 1258 of file splay-tree.c.
References _SplayTreeInfo::compare, _SplayTreeInfo::debug, GetMagickModule, _NodeInfo::key, _SplayTreeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, _SplayTreeInfo::nodes, _SplayTreeInfo::relinquish_key, RelinquishMagickMemory(), _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, SplaySplayTree(), TraceEvent, UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by RemoveImageArtifact(), RemoveImageOption(), RemoveImageProfile(), RemoveImageProperty(), and RemoveImageRegistry().
MagickExport void ResetSplayTree | ( | SplayTreeInfo * | splay_tree | ) |
Definition at line 1339 of file splay-tree.c.
References _SplayTreeInfo::balance, _SplayTreeInfo::debug, GetMagickModule, _NodeInfo::key, _SplayTreeInfo::key, _NodeInfo::left, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, _SplayTreeInfo::next, _SplayTreeInfo::nodes, _SplayTreeInfo::relinquish_key, _SplayTreeInfo::relinquish_value, RelinquishMagickMemory(), _NodeInfo::right, _SplayTreeInfo::root, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, TraceEvent, UnlockSemaphoreInfo(), and _NodeInfo::value.
Referenced by ResetImageOptions().
MagickExport void ResetSplayTreeIterator | ( | SplayTreeInfo * | splay_tree | ) |
Definition at line 1431 of file splay-tree.c.
References _SplayTreeInfo::debug, GetFirstSplayTreeNode(), GetMagickModule, LockSemaphoreInfo(), LogMagickEvent(), MagickFalse, MagickSignature, _SplayTreeInfo::next, _SplayTreeInfo::semaphore, _SplayTreeInfo::signature, TraceEvent, and UnlockSemaphoreInfo().
Referenced by AsynchronousResourceComponentTerminus(), GetCoderInfo(), GetCoderInfoList(), GetCoderList(), GetImageArtifact(), GetImageMagick(), GetImageProperty(), GetLocaleInfo_(), GetLocaleInfoList(), GetMagickInfo(), GetMagickInfoList(), GetMagickList(), GetTypeInfo(), GetTypeInfoByFamily(), GetTypeInfoList(), GetTypeList(), RelinquishUniqueFileResource(), ResetImageArtifactIterator(), ResetImageOptionIterator(), ResetImageProfileIterator(), ResetImagePropertyIterator(), ResetImageRegistryIterator(), and UnregisterMagickInfo().
|
inlinestatic |
Definition at line 1474 of file splay-tree.c.
References _SplayTreeInfo::balance, _SplayTreeInfo::compare, _NodeInfo::key, _NodeInfo::left, MagickFalse, MagickTrue, MaxSplayTreeDepth, and _NodeInfo::right.
Referenced by SplaySplayTree().
|
static |
Definition at line 1565 of file splay-tree.c.
References _SplayTreeInfo::balance, BalanceSplayTree(), _SplayTreeInfo::compare, _NodeInfo::key, _SplayTreeInfo::key, MagickFalse, ResourceLimitFatalError, _SplayTreeInfo::root, Splay(), and ThrowFatalException.
Referenced by AddValueToSplayTree(), CloneSplayTree(), DeleteNodeByValueFromSplayTree(), DeleteNodeFromSplayTree(), GetNextKeyInSplayTree(), GetNextValueInSplayTree(), GetValueFromSplayTree(), RemoveNodeByValueFromSplayTree(), and RemoveNodeFromSplayTree().
|
inlinestatic |
Definition at line 267 of file splay-tree.c.
Referenced by BalanceSplayTree().