Changeset 32284 in vbox
- Timestamp:
- Sep 7, 2010 12:29:14 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/avl.h
r28800 r32284 912 912 /** @} */ 913 913 914 /** AVL tree of RTGCPHYSes. 915 * @{ 916 */ 917 918 /** 919 * AVL 'pointer' type for the relative offset pointer scheme. 920 */ 921 typedef struct _AVLGCPhysNodeCore *AVLGCPHYSPTR; 922 923 /** 924 * AVL Core node. 925 */ 926 typedef struct _AVLGCPhysNodeCore 927 { 928 /** Offset to the left leaf node, relative to this field. */ 929 AVLGCPHYSPTR pLeft; 930 /** Offset to the right leaf node, relative to this field. */ 931 AVLGCPHYSPTR pRight; 932 /** Key value. */ 933 RTGCPHYS Key; 934 /** Height of this tree: max(height(left), height(right)) + 1 */ 935 unsigned char uchHeight; 936 } AVLGCPHYSNODECORE, *PAVLGCPHYSNODECORE; 937 938 /** A offset base tree with RTGCPHYS keys. */ 939 typedef AVLGCPHYSPTR AVLGCPHYSTREE; 940 /** Pointer to a offset base tree with RTGCPHYS keys. */ 941 typedef AVLGCPHYSTREE *PAVLGCPHYSTREE; 942 943 /** Pointer to an internal tree pointer. 944 * In this case it's a pointer to a relative offset. */ 945 typedef AVLGCPHYSTREE *PPAVLGCPHYSNODECORE; 946 947 /** Callback function for RTAvlGCPhysDoWithAll() and RTAvlGCPhysDestroy(). */ 948 typedef DECLCALLBACK(int) AVLGCPHYSCALLBACK(PAVLGCPHYSNODECORE pNode, void *pvUser); 949 /** Pointer to callback function for RTAvlGCPhysDoWithAll() and RTAvlGCPhysDestroy(). */ 950 typedef AVLGCPHYSCALLBACK *PAVLGCPHYSCALLBACK; 951 952 RTDECL(bool) RTAvlGCPhysInsert(PAVLGCPHYSTREE pTree, PAVLGCPHYSNODECORE pNode); 953 RTDECL(PAVLGCPHYSNODECORE) RTAvlGCPhysRemove(PAVLGCPHYSTREE pTree, RTGCPHYS Key); 954 RTDECL(PAVLGCPHYSNODECORE) RTAvlGCPhysGet(PAVLGCPHYSTREE pTree, RTGCPHYS Key); 955 RTDECL(int) RTAvlGCPhysDoWithAll(PAVLGCPHYSTREE pTree, int fFromLeft, PAVLGCPHYSCALLBACK pfnCallBack, void *pvParam); 956 RTDECL(PAVLGCPHYSNODECORE) RTAvlGCPhysGetBestFit(PAVLGCPHYSTREE ppTree, RTGCPHYS Key, bool fAbove); 957 RTDECL(PAVLGCPHYSNODECORE) RTAvlGCPhysRemoveBestFit(PAVLGCPHYSTREE ppTree, RTGCPHYS Key, bool fAbove); 958 RTDECL(int) RTAvlGCPhysDestroy(PAVLGCPHYSTREE pTree, PAVLGCPHYSCALLBACK pfnCallBack, void *pvParam); 959 960 /** @} */ 961 914 962 915 963 /** AVL tree of RTFOFF ranges.
Note:
See TracChangeset
for help on using the changeset viewer.