Mac OS 9
AVLTree.h File Reference

Prototypes for routines which create, destroy, allow for. More...

#include <MacTypes.h>
#include <MixedMode.h>

Go to the source code of this file.

Data Structures

struct  AVLTreeStruct
 

Macros

#define NewAVLCompareItemsUPP(userRoutine)
 
#define NewAVLItemSizeUPP(userRoutine)
 
#define NewAVLDisposeItemUPP(userRoutine)
 
#define NewAVLWalkUPP(userRoutine)
 
#define DisposeAVLCompareItemsUPP(userUPP)   DisposeRoutineDescriptor(userUPP)
 
#define DisposeAVLItemSizeUPP(userUPP)   DisposeRoutineDescriptor(userUPP)
 
#define DisposeAVLDisposeItemUPP(userUPP)   DisposeRoutineDescriptor(userUPP)
 
#define DisposeAVLWalkUPP(userUPP)   DisposeRoutineDescriptor(userUPP)
 
#define InvokeAVLCompareItemsUPP(tree, i1, i2, nd_typ, userUPP)
 
#define InvokeAVLItemSizeUPP(tree, itemPtr, userUPP)
 
#define InvokeAVLDisposeItemUPP(tree, dataP, userUPP)    CALL_TWO_PARAMETER_UPP((userUPP), uppAVLDisposeItemProcInfo, (tree), (dataP))
 
#define InvokeAVLWalkUPP(tree, dataP, visitStage, node, level, balance, refCon, userUPP)
 
#define NewAVLCompareItemsProc(userRoutine)   NewAVLCompareItemsUPP(userRoutine)
 
#define NewAVLItemSizeProc(userRoutine)   NewAVLItemSizeUPP(userRoutine)
 
#define NewAVLDisposeItemProc(userRoutine)   NewAVLDisposeItemUPP(userRoutine)
 
#define NewAVLWalkProc(userRoutine)   NewAVLWalkUPP(userRoutine)
 
#define CallAVLCompareItemsProc(userRoutine, tree, i1, i2, nd_typ)    InvokeAVLCompareItemsUPP(tree, i1, i2, nd_typ, userRoutine)
 
#define CallAVLItemSizeProc(userRoutine, tree, itemPtr)    InvokeAVLItemSizeUPP(tree, itemPtr, userRoutine)
 
#define CallAVLDisposeItemProc(userRoutine, tree, dataP)    InvokeAVLDisposeItemUPP(tree, dataP, userRoutine)
 
#define CallAVLWalkProc(userRoutine, tree, dataP, visitStage, node, level, balance, refCon)
 

Typedefs

typedef UInt32 AVLFlags
 
typedef UInt16 AVLVisitStage
 
typedef UInt16 AVLOrder
 
typedef UInt16 AVLNodeType
 
typedef struct AVLTreeStruct AVLTreeStruct
 
typedef AVLTreeStructAVLTreePtr
 
typedef const void * i1
 
typedef const void const void * i2
 
typedef const void const void AVLNodeType nd_typ
 
typedef const void * itemPtr
 
typedef const void * dataP
 
typedef const void AVLVisitStage visitStage
 
typedef const void AVLVisitStage AVLNodeType node
 
typedef const void AVLVisitStage AVLNodeType UInt32 level
 
typedef const void AVLVisitStage AVLNodeType UInt32 SInt32 balance
 
typedef const void AVLVisitStage AVLNodeType UInt32 SInt32 void * refCon
 

Enumerations

enum  { kAVLFlagUseHandleForDataStorageMask = 0x00000001 }
 
enum  { kAVLPreOrder = 0 , kAVLInOrder = 1 , kAVLPostOrder = 2 }
 
enum  { kAVLLeftToRight = 0 , kAVLRightToLeft = 1 }
 
enum  {
  kAVLIsTree = 0 , kAVLIsLeftBranch = 1 , kAVLIsRightBranch = 2 , kAVLIsLeaf = 3 ,
  kAVLNullNode = 4
}
 
enum  {
  errItemAlreadyInTree = -960 , errNotValidTree = -961 , errItemNotFoundInTree = -962 , errCanNotInsertWhileWalkProcInProgress = -963 ,
  errTreeIsLocked = -964 , errTreeIsCorrupt = -965
}
 
enum  { uppAVLCompareItemsProcInfo = 0x00002FF0 }
 
enum  { uppAVLItemSizeProcInfo = 0x000003F0 }
 
enum  { uppAVLDisposeItemProcInfo = 0x000003C0 }
 
enum  { uppAVLWalkProcInfo = 0x000FEBE0 }
 

Functions

typedef CALLBACK_API (SInt32, AVLCompareItemsProcPtr)(AVLTreePtr tree
 
typedef CALLBACK_API (UInt32, AVLItemSizeProcPtr)(AVLTreePtr tree
 
typedef CALLBACK_API (void, AVLDisposeItemProcPtr)(AVLTreePtr tree
 
typedef CALLBACK_API (OSErr, AVLWalkProcPtr)(AVLTreePtr tree
 
typedef STACK_UPP_TYPE (AVLCompareItemsProcPtr) AVLCompareItemsUPP
 
typedef STACK_UPP_TYPE (AVLItemSizeProcPtr) AVLItemSizeUPP
 
typedef STACK_UPP_TYPE (AVLDisposeItemProcPtr) AVLDisposeItemUPP
 
typedef STACK_UPP_TYPE (AVLWalkProcPtr) AVLWalkUPP
 
AVLCompareItemsUPP NewAVLCompareItemsUPP (AVLCompareItemsProcPtr userRoutine)
 
AVLItemSizeUPP NewAVLItemSizeUPP (AVLItemSizeProcPtr userRoutine)
 
AVLDisposeItemUPP NewAVLDisposeItemUPP (AVLDisposeItemProcPtr userRoutine)
 
AVLWalkUPP NewAVLWalkUPP (AVLWalkProcPtr userRoutine)
 
void DisposeAVLCompareItemsUPP (AVLCompareItemsUPP userUPP)
 
void DisposeAVLItemSizeUPP (AVLItemSizeUPP userUPP)
 
void DisposeAVLDisposeItemUPP (AVLDisposeItemUPP userUPP)
 
void DisposeAVLWalkUPP (AVLWalkUPP userUPP)
 
SInt32 InvokeAVLCompareItemsUPP (AVLTreePtr tree, const void *i1, const void *i2, AVLNodeType nd_typ, AVLCompareItemsUPP userUPP)
 
UInt32 InvokeAVLItemSizeUPP (AVLTreePtr tree, const void *itemPtr, AVLItemSizeUPP userUPP)
 
void InvokeAVLDisposeItemUPP (AVLTreePtr tree, const void *dataP, AVLDisposeItemUPP userUPP)
 
OSErr InvokeAVLWalkUPP (AVLTreePtr tree, const void *dataP, AVLVisitStage visitStage, AVLNodeType node, UInt32 level, SInt32 balance, void *refCon, AVLWalkUPP userUPP)
 
OSErr AVLInit (UInt32 flags, AVLCompareItemsUPP compareItemsProc, AVLItemSizeUPP sizeItemProc, AVLDisposeItemUPP disposeItemProc, void *refCon, AVLTreePtr *tree)
 
OSErr AVLDispose (AVLTreePtr *tree, AVLOrder order)
 
OSErr AVLWalk (AVLTreePtr tree, AVLWalkUPP walkProc, AVLOrder order, void *walkRefCon)
 
OSErr AVLCount (AVLTreePtr tree, UInt32 *count)
 
OSErr AVLGetIndItem (AVLTreePtr tree, UInt32 index, void *dataPtr, UInt32 *itemSize)
 
OSErr AVLInsert (AVLTreePtr tree, const void *data)
 
OSErr AVLRemove (AVLTreePtr tree, const void *key, void *dataPtr, UInt32 *itemSize)
 
OSErr AVLFind (AVLTreePtr tree, const void *key, void *dataPtr, UInt32 *itemSize)
 
OSErr AVLGetRefcon (AVLTreePtr tree, void **refCon)
 
OSErr AVLLockTree (AVLTreePtr tree)
 
OSErr AVLUnlockTree (AVLTreePtr tree)
 
OSErr AVLCheckTree (AVLTreePtr tree)
 

Detailed Description

Prototypes for routines which create, destroy, allow for.

Version: Universal Interfaces 3.4.1

Copyright: � 1999-2001 by Apple Computer, Inc., all rights reserved.

For bug reports, consult the following page on the World Wide Web:

http://developer.apple.com/bugreporter/

Macro Definition Documentation

◆ CallAVLWalkProc

#define CallAVLWalkProc (   userRoutine,
  tree,
  dataP,
  visitStage,
  node,
  level,
  balance,
  refCon 
)
Value:
InvokeAVLWalkUPP(tree, dataP, visitStage, node, level, balance, refCon, \
userRoutine)
OSErr InvokeAVLWalkUPP(AVLTreePtr tree, const void *dataP, AVLVisitStage visitStage, AVLNodeType node, UInt32 level, SInt32 balance, void *refCon, AVLWalkUPP userUPP)

◆ InvokeAVLCompareItemsUPP

#define InvokeAVLCompareItemsUPP (   tree,
  i1,
  i2,
  nd_typ,
  userUPP 
)
Value:
(SInt32) CALL_FOUR_PARAMETER_UPP((userUPP), uppAVLCompareItemsProcInfo, \
(tree), (i1), (i2), (nd_typ))

◆ InvokeAVLItemSizeUPP

#define InvokeAVLItemSizeUPP (   tree,
  itemPtr,
  userUPP 
)
Value:
(UInt32) CALL_TWO_PARAMETER_UPP((userUPP), uppAVLItemSizeProcInfo, (tree), \
(itemPtr))

◆ InvokeAVLWalkUPP

#define InvokeAVLWalkUPP (   tree,
  dataP,
  visitStage,
  node,
  level,
  balance,
  refCon,
  userUPP 
)
Value:
(OSErr) CALL_SEVEN_PARAMETER_UPP((userUPP), uppAVLWalkProcInfo, (tree), \
(dataP), (visitStage), (node), (level), \
(balance), (refCon))

◆ NewAVLCompareItemsProc

#define NewAVLCompareItemsProc (   userRoutine)    NewAVLCompareItemsUPP(userRoutine)

support for pre-Carbon UPP routines: New...Proc and Call...Proc

◆ NewAVLCompareItemsUPP

#define NewAVLCompareItemsUPP (   userRoutine)
Value:
(AVLCompareItemsUPP) \
NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLCompareItemsProcInfo, \
GetCurrentArchitecture())
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)

pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes)

◆ NewAVLDisposeItemUPP

#define NewAVLDisposeItemUPP (   userRoutine)
Value:
(AVLDisposeItemUPP) \
NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLDisposeItemProcInfo, \
GetCurrentArchitecture())

pascal no_return_value Func(4_bytes, 4_bytes)

◆ NewAVLItemSizeUPP

#define NewAVLItemSizeUPP (   userRoutine)
Value:
(AVLItemSizeUPP) \
NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLItemSizeProcInfo, \
GetCurrentArchitecture())

pascal 4_bytes Func(4_bytes, 4_bytes)

◆ NewAVLWalkUPP

#define NewAVLWalkUPP (   userRoutine)
Value:
(AVLWalkUPP) NewRoutineDescriptor( \
(ProcPtr)(userRoutine), uppAVLWalkProcInfo, GetCurrentArchitecture())

pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes)

Typedef Documentation

◆ AVLNodeType

typedef UInt16 AVLNodeType

The type of the node being passed to a callback proc.

◆ AVLOrder

typedef UInt16 AVLOrder

The order the tree is walked or disposed of.

◆ AVLVisitStage

typedef UInt16 AVLVisitStage

The visit stage for AVLWalk() walkProcs

Function Documentation

◆ AVLCheckTree()

OSErr AVLCheckTree ( AVLTreePtr  tree)

Get the refCon for the given tree ( set in AVLInit ) and return it. If the given tree is invalid, then return nil. AVLCheckTree()

Non-Carbon CFM: in InterfaceLib 9.2.1 and later
Carbon Lib: not available
Mac OS X: not available

◆ AVLCount()

OSErr AVLCount ( AVLTreePtr  tree,
UInt32 *  count 
)

Return the number of items in the given tree. AVLCount()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ AVLDispose()

OSErr AVLDispose ( AVLTreePtr tree,
AVLOrder  order 
)

Dispose of an AVL tree. This will dispose of each item in the tree in the order specified, call the tree's disposeProc proc for each item, and then dispose of the space allocated for the tree itself. AVLDispose()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ AVLFind()

OSErr AVLFind ( AVLTreePtr  tree,
const void *  key,
void *  dataPtr,
UInt32 *  itemSize 
)

Find the item in the tree with the given key, and return it's data in dataPtr ( if dataPtr != nil ), and it's size in *itemSize ( if itemSize != nil ). It is not necessary to fill in a complete record for key, only that the compareItemsProc return 0 when asked to compare the data at key with the node in the tree to be deleted. If the item cannot be found in the tree, this will return errItemNotFoundInTree. AVLFind()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ AVLGetIndItem()

OSErr AVLGetIndItem ( AVLTreePtr  tree,
UInt32  index,
void *  dataPtr,
UInt32 *  itemSize 
)

Return the one-based index-th item from the tree by putting it's data at dataPtr if dataPtr is non-nil, and it's size into *itemSize if itemSize is non-nil. If index is out of range, return errItemNotFoundInTree. ( Internally, this does an AVLWalk(), so the tree can not be modified while this call is in progress ). AVLGetIndItem()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ AVLGetRefcon()

OSErr AVLGetRefcon ( AVLTreePtr  tree,
void **  refCon 
)

Get the refCon for the given tree ( set in AVLInit ) and return it. If the given tree is invalid, then return nil. AVLGetRefcon()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ AVLInit()

OSErr AVLInit ( UInt32  flags,
AVLCompareItemsUPP  compareItemsProc,
AVLItemSizeUPP  sizeItemProc,
AVLDisposeItemUPP  disposeItemProc,
void *  refCon,
AVLTreePtr tree 
)

CALL_NOT_IN_CARBON Create an AVL tree. The compareItemsProc and the sizeItemProc are required; disposeItemProc is optional and can be nil. The refCon is stored with the list, and is passed back to the compareItemsProc, sizeItemProc, and disposeItemsProc calls. The allocation of the tree ( and all nodes later added to the list with AVLInsert ) will be created in what is the current zone at the time AVLInit() is called. Always call AVLDispose() to dispose of a list created with AVLInit(). AVLInit()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ AVLInsert()

OSErr AVLInsert ( AVLTreePtr  tree,
const void *  data 
)

Insert the given item into the tree. This will call the tree's sizeItemProc to determine how big the item at data is, and then will make a copy of the item and insert it into the tree in the appropriate place. If an item already exists in the tree with the same key ( so that the compareItemsUPP returns 0 when asked to compare this item to an existing one ), then it will return errItemNotFoundInTree. AVLInsert()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ AVLLockTree()

OSErr AVLLockTree ( AVLTreePtr  tree)

Get the refCon for the given tree ( set in AVLInit ) and return it. If the given tree is invalid, then return nil. AVLLockTree()

Non-Carbon CFM: in InterfaceLib 9.2.1 and later
Carbon Lib: not available
Mac OS X: not available

◆ AVLRemove()

OSErr AVLRemove ( AVLTreePtr  tree,
const void *  key,
void *  dataPtr,
UInt32 *  itemSize 
)

Remove any item from the tree with the given key. If dataPtr != nil, then copy the item's data to dataPtr before removing it from the tree. Before removing the item, call the tree's disposeItemProc to let it release anything used by the data in the tree. It is not necessary to fill in a complete record for key, only that the compareItemsProc return 0 when asked to compare the data at key with the node in the tree to be deleted. If the item cannot be found in the tree, this will return errItemNotFoundInTree. AVLRemove()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ AVLUnlockTree()

OSErr AVLUnlockTree ( AVLTreePtr  tree)

Get the refCon for the given tree ( set in AVLInit ) and return it. If the given tree is invalid, then return nil. AVLUnlockTree()

Non-Carbon CFM: in InterfaceLib 9.2.1 and later
Carbon Lib: not available
Mac OS X: not available

◆ AVLWalk()

OSErr AVLWalk ( AVLTreePtr  tree,
AVLWalkUPP  walkProc,
AVLOrder  order,
void *  walkRefCon 
)

Iterate across all of the items in the tree, in the order specified. kLeftToRight is basically lowest-to-highest order, kRightToLeft is highest-to-lowest order. For each node in the tree, it will call the walkProc with three messages ( at the appropriate time ). First, with kAVLPreOrder when the walking gets to this node in the tree, before handling either the left or right subtree, secondly, with kAVLInOrder after handling one subtree but before handling the other, and lastly with kAVLPostOrder after handling both subtrees. If you want to handle items in order, then only do something if the visit stage is kAVLInOrder. You can only call AVLRemove() from inside a walkProc if visit stage is kAVLPostOrder ( because if you remove a node during the pre or in order stages you will corrupt the list ) OR if you return a non-zero result from the walkProc call which called AVLRemove() to immediately terminate the walkProc. Do not call AVLInsert() to insert a node into the tree from inside a walkProc. The walkProc function gets called with the AVLTreePtr, a pointer to the data for the current node ( which you can change in place as long as you do not affect the order within the tree ), the visit stage, the type of the current node ( leaf node, right or left branch, or full tree ), the level within the tree ( the root is level 1 ), the balance for the current node, and the refCon passed to AVLWalk(). This refCon is different from the one passed into AVLInit(); use AVLGetRefCon() to get that refCon if you want it inside a walkProc. ( Most walkProcs will not care about the values for node type, level, or balance. ) AVLWalk()

Non-Carbon CFM: in InterfaceLib 9.0 and later
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ CALLBACK_API() [1/4]

typedef CALLBACK_API ( OSErr  ,
AVLWalkProcPtr   
)

The common way to iterate across all of the items in a tree is via AVLWalk(), which takes a walkProcPtr. This function will get called for every item in the tree three times, as the tree is being walked across. First, the walkProc will get called with visitStage == kAVLPreOrder, at which point internally the node of the tree for the given data has just been reached. Later, this function will get called with visitStage == kAVLInOrder, and lastly this function will get called with visitStage == kAVLPostOrder. The 'minimum' item in the tree will get called with visitStage == kInOrder first, followed by the 'next' item in the tree, up until the last item in the tree structure is called. In general, you'll only care about calls to this function when visitStage == kAVLInOrder.

◆ CALLBACK_API() [2/4]

typedef CALLBACK_API ( SInt32  ,
AVLCompareItemsProcPtr   
)

Every tree must have a function which compares the data for two items and returns < 0, 0, or >0 for the items - < 0 if the first item is 'before' the second item according to some criteria, == 0 if the two items are identical according to the criteria, or > 0 if the first item is 'after' the second item according to the criteria. The comparison function is also passed the node type, but most of the time this can be ignored.

◆ CALLBACK_API() [3/4]

typedef CALLBACK_API ( UInt32  ,
AVLItemSizeProcPtr   
)

Every tree must have a itemSizeProc; this routine gets passed a pointer to the item's data and returns the size of the data. If a tree contains records of a fixed size, this function can just return sizeof( that-struct ); otherwise it should calculate the size of the item based on the data for the item.

◆ CALLBACK_API() [4/4]

typedef CALLBACK_API ( void  ,
AVLDisposeItemProcPtr   
)

A tree may have an optional disposeItemProc, which gets called whenever an item is removed from the tree ( via AVLRemove() or when AVLDispose() deletes all of the items in the tree ). This might be useful if the nodes in the tree own 'resources' ( like, open files ) which should be released before the item is removed.

◆ DisposeAVLCompareItemsUPP()

void DisposeAVLCompareItemsUPP ( AVLCompareItemsUPP  userUPP)

DisposeAVLCompareItemsUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ DisposeAVLDisposeItemUPP()

void DisposeAVLDisposeItemUPP ( AVLDisposeItemUPP  userUPP)

DisposeAVLDisposeItemUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ DisposeAVLItemSizeUPP()

void DisposeAVLItemSizeUPP ( AVLItemSizeUPP  userUPP)

DisposeAVLItemSizeUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ DisposeAVLWalkUPP()

void DisposeAVLWalkUPP ( AVLWalkUPP  userUPP)

DisposeAVLWalkUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ InvokeAVLCompareItemsUPP()

SInt32 InvokeAVLCompareItemsUPP ( AVLTreePtr  tree,
const void *  i1,
const void *  i2,
AVLNodeType  nd_typ,
AVLCompareItemsUPP  userUPP 
)

InvokeAVLCompareItemsUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ InvokeAVLDisposeItemUPP()

void InvokeAVLDisposeItemUPP ( AVLTreePtr  tree,
const void *  dataP,
AVLDisposeItemUPP  userUPP 
)

InvokeAVLDisposeItemUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ InvokeAVLItemSizeUPP()

UInt32 InvokeAVLItemSizeUPP ( AVLTreePtr  tree,
const void *  itemPtr,
AVLItemSizeUPP  userUPP 
)

InvokeAVLItemSizeUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ InvokeAVLWalkUPP()

OSErr InvokeAVLWalkUPP ( AVLTreePtr  tree,
const void *  dataP,
AVLVisitStage  visitStage,
AVLNodeType  node,
UInt32  level,
SInt32  balance,
void *  refCon,
AVLWalkUPP  userUPP 
)

InvokeAVLWalkUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ NewAVLCompareItemsUPP()

AVLCompareItemsUPP NewAVLCompareItemsUPP ( AVLCompareItemsProcPtr  userRoutine)

NewAVLCompareItemsUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ NewAVLDisposeItemUPP()

AVLDisposeItemUPP NewAVLDisposeItemUPP ( AVLDisposeItemProcPtr  userRoutine)

NewAVLDisposeItemUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ NewAVLItemSizeUPP()

AVLItemSizeUPP NewAVLItemSizeUPP ( AVLItemSizeProcPtr  userRoutine)

NewAVLItemSizeUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later

◆ NewAVLWalkUPP()

AVLWalkUPP NewAVLWalkUPP ( AVLWalkProcPtr  userRoutine)

NewAVLWalkUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.0 and later
Mac OS X: in version 10.0 and later