Initial
This commit is contained in:
83
bsptree/TREENODE.HPP
Normal file
83
bsptree/TREENODE.HPP
Normal file
@@ -0,0 +1,83 @@
|
||||
#ifndef _BSPTREE_TREENODE_HPP_
|
||||
#define _BSPTREE_TREENODE_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
class TreeNode
|
||||
{
|
||||
public:
|
||||
TreeNode(void);
|
||||
TreeNode(const T &someItem);
|
||||
TreeNode(const TreeNode<T> &someTreeNode);
|
||||
virtual ~TreeNode();
|
||||
void leftNode(TreeNode<T> *lpLeftNode);
|
||||
void rightNode(TreeNode<T> *lpRightNode);
|
||||
TreeNode<T> *leftNode(void);
|
||||
TreeNode<T> *rightNode(void);
|
||||
T &item(void);
|
||||
WORD operator==(const TreeNode<T> &someTreeNode)const;
|
||||
TreeNode<T> &operator=(const TreeNode<T> &someTreeNode);
|
||||
private:
|
||||
TreeNode<T> *mlpLeftNode;
|
||||
TreeNode<T> *mlpRightNode;
|
||||
T *mlpItem;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
inline
|
||||
TreeNode<T>::~TreeNode()
|
||||
{
|
||||
::delete mlpItem;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline
|
||||
void TreeNode<T>::leftNode(TreeNode<T> *lpLeftNode)
|
||||
{
|
||||
mlpLeftNode=lpLeftNode;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline
|
||||
void TreeNode<T>::rightNode(TreeNode<T> *lpRightNode)
|
||||
{
|
||||
mlpRightNode=lpRightNode;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline
|
||||
TreeNode<T> *TreeNode<T>::leftNode(void)
|
||||
{
|
||||
return mlpLeftNode;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline
|
||||
TreeNode<T> *TreeNode<T>::rightNode(void)
|
||||
{
|
||||
return mlpRightNode;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline
|
||||
T &TreeNode<T>::item(void)
|
||||
{
|
||||
return *mlpItem;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline
|
||||
TreeNode<T> &TreeNode<T>::operator=(const TreeNode<T> &someTreeNode)
|
||||
{
|
||||
leftNode(((TreeNode<T>&)someTreeNode).leftNode());
|
||||
rightNode(((TreeNode<T>&)someTreeNode).rightNode());
|
||||
*mlpItem=*someTreeNode.mlpItem;
|
||||
return *this;
|
||||
}
|
||||
#if defined(_MSC_VER)
|
||||
#include <bsptree/treenode.hpp>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user