Changeset 96 in vbox for trunk/include/iprt
- Timestamp:
- Jan 17, 2007 1:22:21 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/avl.h
r92 r96 260 260 261 261 262 /** AVL tree of RTGCPTRs. 263 * @{ 264 */ 265 266 /** 267 * AVL Core node. 268 */ 269 typedef struct _AVLGCPtrNodeCore 270 { 271 /** Key value. */ 272 RTGCPTR Key; 273 /** Pointer to the left node. */ 274 struct _AVLGCPtrNodeCore *pLeft; 275 /** Pointer to the right node. */ 276 struct _AVLGCPtrNodeCore *pRight; 277 /** Height of this tree: max(height(left), height(right)) + 1 */ 278 unsigned char uchHeight; 279 } AVLGCPTRNODECORE, *PAVLGCPTRNODECORE, **PPAVLGCPTRNODECORE; 280 281 /** A tree of RTGCPTR keys. */ 282 typedef PAVLGCPTRNODECORE AVLGCPTRTREE; 283 /** Pointer to a tree of RTGCPTR keys. */ 284 typedef PPAVLGCPTRNODECORE PAVLGCPTRTREE; 285 286 /** Callback function for RTAvlroGCPtrDoWithAll(). */ 287 typedef DECLCALLBACK(int) AVLGCPTRCALLBACK(PAVLGCPTRNODECORE pNode, void *pvUser); 288 /** Pointer to callback function for RTAvlroGCPtrDoWithAll(). */ 289 typedef AVLGCPTRCALLBACK *PAVLGCPTRCALLBACK; 290 291 RTDECL(bool) RTAvlGCPtrInsert(PAVLGCPTRTREE pTree, PAVLGCPTRNODECORE pNode); 292 RTDECL(PAVLGCPTRNODECORE) RTAvlGCPtrRemove(PAVLGCPTRTREE pTree, RTGCPTR Key); 293 RTDECL(PAVLGCPTRNODECORE) RTAvlGCPtrGet(PAVLGCPTRTREE pTree, RTGCPTR Key); 294 RTDECL(int) RTAvlGCPtrDoWithAll(PAVLGCPTRTREE pTree, int fFromLeft, PAVLGCPTRCALLBACK pfnCallBack, void *pvParam); 295 RTDECL(PAVLGCPTRNODECORE) RTAvlGCPtrGetBestFit(PAVLGCPTRTREE ppTree, RTGCPTR Key, bool fAbove); 296 RTDECL(PAVLGCPTRNODECORE) RTAvlGCPtrRemoveBestFit(PAVLGCPTRTREE ppTree, RTGCPTR Key, bool fAbove); 297 RTDECL(int) RTAvlGCPtrDestroy(PAVLGCPTRTREE pTree, PAVLGCPTRCALLBACK pfnCallBack, void *pvParam); 298 299 /** @} */ 300 301 262 302 /** AVL tree of RTGCPTRs - using relative offsets internally. 263 303 * @{
Note:
See TracChangeset
for help on using the changeset viewer.