LibreOffice Module sot (master) 1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Friends | List of all members
StgAvlNode Class Referenceabstract

#include <stgavl.hxx>

Inheritance diagram for StgAvlNode:
[legend]
Collaboration diagram for StgAvlNode:
[legend]

Public Member Functions

virtual ~StgAvlNode ()
 
StgAvlNodeFind (StgAvlNode const *)
 
virtual sal_Int32 Compare (const StgAvlNode *) const =0
 

Static Public Member Functions

static bool Insert (StgAvlNode **, StgAvlNode *)
 
static bool Remove (StgAvlNode **, StgAvlNode *, bool bDel)
 

Protected Member Functions

 StgAvlNode ()
 

Protected Attributes

short m_nId
 
short m_nBalance
 
StgAvlNodem_pLeft
 
StgAvlNodem_pRight
 

Private Member Functions

sal_Int32 Locate (StgAvlNode const *, StgAvlNode **, StgAvlNode **, StgAvlNode **)
 
short Adjust (StgAvlNode **, StgAvlNode const *)
 
StgAvlNodeRotLL ()
 
StgAvlNodeRotLR ()
 
StgAvlNodeRotRR ()
 
StgAvlNodeRotRL ()
 
void StgEnum (short &)
 

Static Private Member Functions

static StgAvlNodeRem (StgAvlNode **, StgAvlNode *, bool)
 

Friends

class StgAvlIterator
 

Detailed Description

Definition at line 28 of file stgavl.hxx.

Constructor & Destructor Documentation

◆ StgAvlNode()

StgAvlNode::StgAvlNode ( )
protected

Definition at line 24 of file stgavl.cxx.

References m_nBalance, m_nId, m_pLeft, and m_pRight.

◆ ~StgAvlNode()

StgAvlNode::~StgAvlNode ( )
virtual

Definition at line 30 of file stgavl.cxx.

References m_pLeft, and m_pRight.

Member Function Documentation

◆ Adjust()

short StgAvlNode::Adjust ( StgAvlNode **  pHeavy,
StgAvlNode const *  pNew 
)
private

Definition at line 92 of file stgavl.cxx.

References Compare(), m_nBalance, m_pLeft, and m_pRight.

Referenced by Insert().

◆ Compare()

virtual sal_Int32 StgAvlNode::Compare ( const StgAvlNode ) const
pure virtual

Implemented in StgDirEntry.

Referenced by Adjust(), Locate(), and Rem().

◆ Find()

StgAvlNode * StgAvlNode::Find ( StgAvlNode const *  pFind)

Definition at line 36 of file stgavl.cxx.

References p.

Referenced by StgDirStrm::Find().

◆ Insert()

bool StgAvlNode::Insert ( StgAvlNode **  pRoot,
StgAvlNode pIns 
)
static

Definition at line 285 of file stgavl.cxx.

References Adjust(), Locate(), m_nBalance, m_pLeft, m_pRight, RotLL(), RotLR(), RotRL(), and RotRR().

Referenced by StgDirStrm::Create(), and StgDirStrm::SetupEntry().

◆ Locate()

sal_Int32 StgAvlNode::Locate ( StgAvlNode const *  pFind,
StgAvlNode **  pPivot,
StgAvlNode **  pParent,
StgAvlNode **  pPrev 
)
private

Definition at line 55 of file stgavl.cxx.

References Compare(), m_nBalance, m_pLeft, and m_pRight.

Referenced by Insert().

◆ Rem()

StgAvlNode * StgAvlNode::Rem ( StgAvlNode **  p,
StgAvlNode pDel,
bool  bPtrs 
)
staticprivate

Definition at line 219 of file stgavl.cxx.

References Compare(), last, m_pLeft, m_pRight, p, and Rem().

Referenced by Rem(), and Remove().

◆ Remove()

bool StgAvlNode::Remove ( StgAvlNode **  pRoot,
StgAvlNode pDel,
bool  bDel 
)
static

Definition at line 340 of file stgavl.cxx.

References Rem().

Referenced by StgDirEntry::DelTemp().

◆ RotLL()

StgAvlNode * StgAvlNode::RotLL ( )
private

Definition at line 135 of file stgavl.cxx.

References m_nBalance, m_pLeft, and m_pRight.

Referenced by Insert().

◆ RotLR()

StgAvlNode * StgAvlNode::RotLR ( )
private

Definition at line 147 of file stgavl.cxx.

References m_nBalance, m_pLeft, and m_pRight.

Referenced by Insert().

◆ RotRL()

StgAvlNode * StgAvlNode::RotRL ( )
private

Definition at line 189 of file stgavl.cxx.

References m_nBalance, m_pLeft, and m_pRight.

Referenced by Insert().

◆ RotRR()

StgAvlNode * StgAvlNode::RotRR ( )
private

Definition at line 178 of file stgavl.cxx.

References m_nBalance, m_pLeft, and m_pRight.

Referenced by Insert().

◆ StgEnum()

void StgAvlNode::StgEnum ( short &  n)
private

Definition at line 273 of file stgavl.cxx.

References m_nId, m_pLeft, m_pRight, n, and StgEnum().

Referenced by StgEnum().

Friends And Related Function Documentation

◆ StgAvlIterator

friend class StgAvlIterator
friend

Definition at line 30 of file stgavl.hxx.

Member Data Documentation

◆ m_nBalance

short StgAvlNode::m_nBalance
protected

Definition at line 42 of file stgavl.hxx.

Referenced by Adjust(), Insert(), Locate(), RotLL(), RotLR(), RotRL(), RotRR(), and StgAvlNode().

◆ m_nId

short StgAvlNode::m_nId
protected

Definition at line 41 of file stgavl.hxx.

Referenced by StgAvlNode(), and StgEnum().

◆ m_pLeft

StgAvlNode* StgAvlNode::m_pLeft
protected

◆ m_pRight

StgAvlNode * StgAvlNode::m_pRight
protected

The documentation for this class was generated from the following files: