Logo Search packages:      
Sourcecode: virtualbox-ose version File versions  Download package

Classes | Defines | Typedefs | Functions | Variables

kAvlBase.h File Reference

#include <k/kDefs.h>
#include <k/kTypes.h>
#include <k/kHlpAssert.h>
Include dependency graph for kAvlBase.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  KAVL_INT
struct  KAVLROOT

Defines

#define KAVL_GET_POINTER(pp)   ( *(pp) )
#define KAVL_GET_POINTER_NULL(pp)   ( *(pp) )
#define KAVL_HEIGHTOF(pNode)   ((KU8)((pNode) != NULL ? (pNode)->mHeight : 0))
#define KAVL_LOOKTHRU_INVALIDATE_NODE(pRoot, pNode, Key)   do { } while (0)
#define KAVL_NEED_KAVLROOT
#define KAVL_NULL   NULL
#define KAVL_R_IS_IDENTICAL(key1B, key2B, key1E, key2E)   KAVL_E(key1B, key2B)
#define KAVL_R_IS_INTERSECTING(key1B, key2B, key1E, key2E)   KAVL_E(key1B, key2B)
#define KAVL_READ_LOCK(pRoot)   do { } while (0)
#define KAVL_READ_UNLOCK(pRoot)   do { } while (0)
#define KAVL_SET_POINTER(pp, p)   ( (*(pp)) = (p) )
#define KAVL_SET_POINTER_NULL(pp, pp2)   ( (*(pp)) = *(pp2) )
#define KAVL_WRITE_LOCK(pRoot)   do { } while (0)
#define KAVL_WRITE_UNLOCK(pRoot)   do { } while (0)
#define KAVLROOT   KAVL_TYPE(,ROOT)
#define KAVLTREEPTR   KAVLNODE *

Typedefs

typedef int(*)(KAVLNODE *, void * KAVL_TYPE )(PFN, CALLBACK)

Functions

 K_DECL_INLINE (void) KAVL_FN(Rebalance)(KAVL_INT(STACK)*pStack)
 KAVL_DECL (KAVLNODE *) KAVL_FN(Remove)(KAVLROOT *pRoot
 KAVL_DECL (void) KAVL_FN(Init)(KAVLROOT *pRoot)
 KAVL_DECL (KBOOL) KAVL_FN(Insert)(KAVLROOT *pRoot
KAVLNODE *pNode KAVL_INT (STACK) AVLStack
 KAVL_SET_POINTER (ppCurNode, pNode)

Variables

KAVL_FN() Rebalance & AVLStack
AVLStack cEntries = 0
return K_TRUE
register KAVLKEY Key = pNode->mKey
pNode mHeight = 1
KAVLTREEPTR * ppCurNode = &pRoot->mpRoot

Detailed Description

kAvlTmpl - Templated AVL Trees, The Mandatory Base Code.

Definition in file kAvlBase.h.


Generated by  Doxygen 1.6.0   Back to index