GeTree< TYPE > Class Template Reference

#include <customdatatype_itemtree.h>

Public Member Functions

 GeTree ()
 
 ~GeTree ()
 
void Destruct (GeTreeNode< TYPE > *node)
 
void Free ()
 
Bool Init ()
 
GeTreeNode< TYPE > * Alloc (Bool insert=false)
 
GeTreeNode< TYPE > * Add (const TYPE &data, Bool insert=false)
 
GeTreeNode< TYPE > * Insert (const TYPE &data, GeTreeNode< TYPE > *parent, GeTreeNode< TYPE > *prev)
 
void Insert (GeTreeNode< TYPE > *node, GeTreeNode< TYPE > *parent, GeTreeNode< TYPE > *prev)
 
void InsertLast (GeTreeNode< TYPE > *node, GeTreeNode< TYPE > *parent)
 
void Remove (GeTreeNode< TYPE > *node)
 
GeTreeNode< TYPE > * GetRoot ()
 
const GeTreeNode< TYPE > * GetCRoot () const
 
void Free (GeTreeNode< TYPE > *&node)
 
Bool IsEmpty ()
 
GeTreeNode< TYPE > * Find (const TYPE &data, Bool(*fn)(const TYPE &src, const TYPE &dst))
 
GeTreeNode< TYPE > * Find (const TYPE &data)
 
void Move (GeTreeNode< TYPE > *node, GeTreeNode< TYPE > *parent, GeTreeNode< TYPE > *prev)
 
Int32 GetChildCount (GeTreeNode< TYPE > *root=nullptr)
 
void FillArray (TYPE *data, GeTreeNode< TYPE > *root=nullptr)
 
void FillDataArray (TYPE **data, GeTreeNode< TYPE > *root=nullptr)
 
Bool CopyTo (GeTree< TYPE > *dsttree, const GeTreeNode< TYPE > *src=nullptr, GeTreeNode< TYPE > *dst=nullptr, Bool downonly=true) const
 

Static Public Member Functions

static Bool IsEqualTree (const GeTreeNode< TYPE > *src, const GeTreeNode< TYPE > *dst)
 
static Bool IsEqual (const GeTreeNode< TYPE > *src, const GeTreeNode< TYPE > *dst)
 

Private Member Functions

GeTreeNode< TYPE > * _Find (const TYPE &data, GeTreeNode< TYPE > *node, Bool(*fn)(const TYPE &src, const TYPE &dst))
 
GeTreeNode< TYPE > * _Find (const TYPE &data, GeTreeNode< TYPE > *node)
 
 GeTree (const GeTree &src)
 
GeTreeoperator= (const GeTree &src)
 
void _GetChildCount (GeTreeNode< TYPE > *node, Int32 &cnt)
 
void _FillArray (TYPE *data, GeTreeNode< TYPE > *node, Int32 &index)
 
void _FillDataArray (TYPE **data, GeTreeNode< TYPE > *node, Int32 &index)
 

Private Attributes

GeTreeNode< TYPE > m_Root
 
GeTreeNode< TYPE > * m_pAvailable
 

Constructor & Destructor Documentation

◆ GeTree() [1/2]

GeTree ( const GeTree< TYPE > &  src)
private

◆ GeTree() [2/2]

GeTree ( )

◆ ~GeTree()

~GeTree ( )

Member Function Documentation

◆ _Find() [1/2]

GeTreeNode<TYPE>* _Find ( const TYPE &  data,
GeTreeNode< TYPE > *  node,
Bool(*)(const TYPE &src, const TYPE &dst)  fn 
)
private

◆ _Find() [2/2]

GeTreeNode<TYPE>* _Find ( const TYPE &  data,
GeTreeNode< TYPE > *  node 
)
private

◆ operator=()

GeTree& operator= ( const GeTree< TYPE > &  src)
private

◆ _GetChildCount()

void _GetChildCount ( GeTreeNode< TYPE > *  node,
Int32 cnt 
)
private

◆ _FillArray()

void _FillArray ( TYPE *  data,
GeTreeNode< TYPE > *  node,
Int32 index 
)
private

◆ _FillDataArray()

void _FillDataArray ( TYPE **  data,
GeTreeNode< TYPE > *  node,
Int32 index 
)
private

◆ Destruct()

void Destruct ( GeTreeNode< TYPE > *  node)

◆ Free() [1/2]

void Free ( )

◆ Init()

Bool Init ( )

◆ Alloc()

GeTreeNode<TYPE>* Alloc ( Bool  insert = false)

◆ Add()

GeTreeNode<TYPE>* Add ( const TYPE &  data,
Bool  insert = false 
)

◆ Insert() [1/2]

GeTreeNode<TYPE>* Insert ( const TYPE &  data,
GeTreeNode< TYPE > *  parent,
GeTreeNode< TYPE > *  prev 
)

◆ Insert() [2/2]

void Insert ( GeTreeNode< TYPE > *  node,
GeTreeNode< TYPE > *  parent,
GeTreeNode< TYPE > *  prev 
)

◆ InsertLast()

void InsertLast ( GeTreeNode< TYPE > *  node,
GeTreeNode< TYPE > *  parent 
)

◆ Remove()

void Remove ( GeTreeNode< TYPE > *  node)

◆ GetRoot()

GeTreeNode<TYPE>* GetRoot ( )

◆ GetCRoot()

const GeTreeNode<TYPE>* GetCRoot ( ) const

◆ Free() [2/2]

void Free ( GeTreeNode< TYPE > *&  node)

◆ IsEmpty()

Bool IsEmpty ( )

◆ Find() [1/2]

GeTreeNode<TYPE>* Find ( const TYPE &  data,
Bool(*)(const TYPE &src, const TYPE &dst)  fn 
)

◆ Find() [2/2]

GeTreeNode<TYPE>* Find ( const TYPE &  data)

◆ Move()

void Move ( GeTreeNode< TYPE > *  node,
GeTreeNode< TYPE > *  parent,
GeTreeNode< TYPE > *  prev 
)

◆ GetChildCount()

Int32 GetChildCount ( GeTreeNode< TYPE > *  root = nullptr)

◆ FillArray()

void FillArray ( TYPE *  data,
GeTreeNode< TYPE > *  root = nullptr 
)

◆ FillDataArray()

void FillDataArray ( TYPE **  data,
GeTreeNode< TYPE > *  root = nullptr 
)

◆ IsEqualTree()

static Bool IsEqualTree ( const GeTreeNode< TYPE > *  src,
const GeTreeNode< TYPE > *  dst 
)
static

◆ IsEqual()

static Bool IsEqual ( const GeTreeNode< TYPE > *  src,
const GeTreeNode< TYPE > *  dst 
)
static

◆ CopyTo()

Bool CopyTo ( GeTree< TYPE > *  dsttree,
const GeTreeNode< TYPE > *  src = nullptr,
GeTreeNode< TYPE > *  dst = nullptr,
Bool  downonly = true 
) const

Member Data Documentation

◆ m_Root

GeTreeNode<TYPE> m_Root
private

◆ m_pAvailable

GeTreeNode<TYPE>* m_pAvailable
private