Changeset 22308 in vbox
- Timestamp:
- Aug 17, 2009 8:58:21 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/avl.h
r20740 r22308 917 917 918 918 919 /** AVL tree of RTFOFF ranges. 920 * @{ 921 */ 922 923 /** 924 * AVL Core node. 925 */ 926 typedef struct _AVLRFOFFNodeCore 927 { 928 /** First key value in the range (inclusive). */ 929 RTFOFF Key; 930 /** Last key value in the range (inclusive). */ 931 RTFOFF KeyLast; 932 /** Offset to the left leaf node, relative to this field. */ 933 struct _AVLRFOFFNodeCore *pLeft; 934 /** Offset to the right leaf node, relative to this field. */ 935 struct _AVLRFOFFNodeCore *pRight; 936 /** Height of this tree: max(height(left), height(right)) + 1 */ 937 unsigned char uchHeight; 938 } AVLRFOFFNODECORE, *PAVLRFOFFNODECORE; 939 940 /** A pointer based tree with RTFOFF ranges. */ 941 typedef PAVLRFOFFNODECORE AVLRFOFFTREE; 942 /** Pointer to a pointer based tree with RTFOFF ranges. */ 943 typedef AVLRFOFFTREE *PAVLRFOFFTREE; 944 945 /** Pointer to an internal tree pointer. 946 * In this case it's a pointer to a relative offset. */ 947 typedef AVLRFOFFTREE *PPAVLRFOFFNODECORE; 948 949 /** Callback function for RTAvlrGCPtrDoWithAll() and RTAvlrGCPtrDestroy(). */ 950 typedef DECLCALLBACK(int) AVLRFOFFCALLBACK(PAVLRFOFFNODECORE pNode, void *pvUser); 951 /** Pointer to callback function for RTAvlrGCPtrDoWithAll() and RTAvlrGCPtrDestroy(). */ 952 typedef AVLRFOFFCALLBACK *PAVLRFOFFCALLBACK; 953 954 RTDECL(bool) RTAvlrFileOffsetInsert( PAVLRFOFFTREE pTree, PAVLRFOFFNODECORE pNode); 955 RTDECL(PAVLRFOFFNODECORE) RTAvlrFileOffsetRemove( PAVLRFOFFTREE pTree, RTFOFF Key); 956 RTDECL(PAVLRFOFFNODECORE) RTAvlrFileOffsetGet( PAVLRFOFFTREE pTree, RTFOFF Key); 957 RTDECL(PAVLRFOFFNODECORE) RTAvlrFileOffsetGetBestFit( PAVLRFOFFTREE pTree, RTFOFF Key, bool fAbove); 958 RTDECL(PAVLRFOFFNODECORE) RTAvlrFileOffsetRangeGet( PAVLRFOFFTREE pTree, RTFOFF Key); 959 RTDECL(PAVLRFOFFNODECORE) RTAvlrFileOffsetRangeRemove( PAVLRFOFFTREE pTree, RTFOFF Key); 960 RTDECL(int) RTAvlrFileOffsetDoWithAll( PAVLRFOFFTREE pTree, int fFromLeft, PAVLRFOFFCALLBACK pfnCallBack, void *pvParam); 961 RTDECL(int) RTAvlrFileOffsetDestroy( PAVLRFOFFTREE pTree, PAVLRFOFFCALLBACK pfnCallBack, void *pvParam); 962 RTDECL(PAVLRFOFFNODECORE) RTAvlrFileOffsetGetRoot( PAVLRFOFFTREE pTree); 963 RTDECL(PAVLRFOFFNODECORE) RTAvlrFileOffsetGetLeft( PAVLRFOFFNODECORE pNode); 964 RTDECL(PAVLRFOFFNODECORE) RTAvlrFileOffsetGetRight( PAVLRFOFFNODECORE pNode); 965 966 /** @} */ 967 919 968 /** @} */ 920 969 -
trunk/src/VBox/Runtime/Makefile.kmk
r22109 r22308 294 294 common/table/avlroogcptr.cpp \ 295 295 common/table/avlruintptr.cpp \ 296 common/table/avlrfoff.cpp \ 296 297 common/table/avlu32.cpp \ 297 298 common/table/avluintptr.cpp \
Note:
See TracChangeset
for help on using the changeset viewer.