VirtualBox

Changeset 449 in vbox for trunk/include/iprt


Ignore:
Timestamp:
Jan 30, 2007 11:03:57 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
18030
Message:

RTAvlrGCPtr*

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/avl.h

    r96 r449  
    284284typedef PPAVLGCPTRNODECORE    PAVLGCPTRTREE;
    285285
    286 /** Callback function for RTAvlroGCPtrDoWithAll(). */
     286/** Callback function for RTAvlGCPtrDoWithAll(). */
    287287typedef DECLCALLBACK(int)   AVLGCPTRCALLBACK(PAVLGCPTRNODECORE pNode, void *pvUser);
    288 /** Pointer to callback function for RTAvlroGCPtrDoWithAll(). */
     288/** Pointer to callback function for RTAvlGCPtrDoWithAll(). */
    289289typedef AVLGCPTRCALLBACK *PAVLGCPTRCALLBACK;
    290290
     
    333333typedef AVLOGCPTRTREE    *PPAVLOGCPTRNODECORE;
    334334
    335 /** Callback function for RTAvlroGCPtrDoWithAll(). */
     335/** Callback function for RTAvloGCPtrDoWithAll(). */
    336336typedef DECLCALLBACK(int)   AVLOGCPTRCALLBACK(PAVLOGCPTRNODECORE pNode, void *pvUser);
    337 /** Pointer to callback function for RTAvlroGCPtrDoWithAll(). */
     337/** Pointer to callback function for RTAvloGCPtrDoWithAll(). */
    338338typedef AVLOGCPTRCALLBACK *PAVLOGCPTRCALLBACK;
    339339
     
    345345RTDECL(PAVLOGCPTRNODECORE)      RTAvloGCPtrRemoveBestFit(PAVLOGCPTRTREE ppTree, RTGCPTR Key, bool fAbove);
    346346RTDECL(int)                     RTAvloGCPtrDestroy(PAVLOGCPTRTREE pTree, PAVLOGCPTRCALLBACK pfnCallBack, void *pvParam);
     347
     348/** @} */
     349
     350
     351/** AVL tree of RTGCPTR ranges.
     352 * @{
     353 */
     354
     355/**
     356 * AVL Core node.
     357 */
     358typedef struct _AVLRGCPtrNodeCore
     359{
     360    /** First key value in the range (inclusive). */
     361    RTGCPTR             Key;
     362    /** Last key value in the range (inclusive). */
     363    RTGCPTR             KeyLast;
     364    /** Offset to the left leaf node, relative to this field. */
     365    struct _AVLRGCPtrNodeCore  *pLeft;
     366    /** Offset to the right leaf node, relative to this field. */
     367    struct _AVLRGCPtrNodeCore  *pRight;
     368    /** Height of this tree: max(height(left), height(right)) + 1 */
     369    unsigned char       uchHeight;
     370} AVLRGCPTRNODECORE, *PAVLRGCPTRNODECORE;
     371
     372/** A offset base tree with RTGCPTR keys. */
     373typedef PAVLRGCPTRNODECORE AVLRGCPTRTREE;
     374/** Pointer to a offset base tree with RTGCPTR keys. */
     375typedef AVLRGCPTRTREE    *PAVLRGCPTRTREE;
     376
     377/** Pointer to an internal tree pointer.
     378 * In this case it's a pointer to a relative offset. */
     379typedef AVLRGCPTRTREE    *PPAVLRGCPTRNODECORE;
     380
     381/** Callback function for RTAvlrGCPtrDoWithAll() and RTAvlrGCPtrDestroy(). */
     382typedef DECLCALLBACK(int)   AVLRGCPTRCALLBACK(PAVLRGCPTRNODECORE pNode, void *pvUser);
     383/** Pointer to callback function for RTAvlrGCPtrDoWithAll() and RTAvlrGCPtrDestroy(). */
     384typedef AVLRGCPTRCALLBACK *PAVLRGCPTRCALLBACK;
     385
     386RTDECL(bool)                   RTAvlrGCPtrInsert(       PAVLRGCPTRTREE pTree, PAVLRGCPTRNODECORE pNode);
     387RTDECL(PAVLRGCPTRNODECORE)     RTAvlrGCPtrRemove(       PAVLRGCPTRTREE pTree, RTGCPTR Key);
     388RTDECL(PAVLRGCPTRNODECORE)     RTAvlrGCPtrGet(          PAVLRGCPTRTREE pTree, RTGCPTR Key);
     389RTDECL(PAVLRGCPTRNODECORE)     RTAvlrGCPtrGetBestFit(   PAVLRGCPTRTREE pTree, RTGCPTR Key, bool fAbove);
     390RTDECL(PAVLRGCPTRNODECORE)     RTAvlrGCPtrRangeGet(     PAVLRGCPTRTREE pTree, RTGCPTR Key);
     391RTDECL(PAVLRGCPTRNODECORE)     RTAvlrGCPtrRangeRemove(  PAVLRGCPTRTREE pTree, RTGCPTR Key);
     392RTDECL(int)                    RTAvlrGCPtrDoWithAll(    PAVLRGCPTRTREE pTree, int fFromLeft, PAVLRGCPTRCALLBACK pfnCallBack, void *pvParam);
     393RTDECL(int)                    RTAvlrGCPtrDestroy(      PAVLRGCPTRTREE pTree, PAVLRGCPTRCALLBACK pfnCallBack, void *pvParam);
     394RTDECL(PAVLRGCPTRNODECORE)     RTAvlrGCPtrGetRoot(      PAVLRGCPTRTREE pTree);
     395RTDECL(PAVLRGCPTRNODECORE)     RTAvlrGCPtrGetLeft(      PAVLRGCPTRNODECORE pNode);
     396RTDECL(PAVLRGCPTRNODECORE)     RTAvlrGCPtrGetRight(     PAVLRGCPTRNODECORE pNode);
    347397
    348398/** @} */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette