OpenBarnyard
 
Loading...
Searching...
No Matches
T2RedBlackTreeNode< T > Class Template Reference

#include <T2RedBlackTree.h>

Inheritance diagram for T2RedBlackTreeNode< T >:
T2GenericRedBlackTreeNode

Public Member Functions

 T2RedBlackTreeNode (const T &value)
 
 T2RedBlackTreeNode (T &&value)
 
T * GetValue ()
 
TBOOL IsLeftNodeNext (const T &value) const
 
TBOOL operator== (const T &other) const
 
TBOOL operator== (const T2RedBlackTreeNode< T > &other) const
 
TBOOL operator!= (const T &other) const
 
TBOOL operator!= (const T2RedBlackTreeNode< T > &other) const
 
TBOOL operator> (const T2RedBlackTreeNode< T > &other) const
 
TBOOL operator< (const T2RedBlackTreeNode< T > &other) const
 
TBOOL operator<= (const T2RedBlackTreeNode< T > &other) const
 
TBOOL operator>= (const T2RedBlackTreeNode< T > &other) const
 

Friends

template<class T>
class T2RedBlackTree
 

Additional Inherited Members

- Protected Member Functions inherited from T2GenericRedBlackTreeNode
constexpr T2GenericRedBlackTreeNode ()
 
 T2GenericRedBlackTreeNode (T2GenericRedBlackTreeNode *pNil)
 
- Protected Attributes inherited from T2GenericRedBlackTreeNode
TINT red
 
T2GenericRedBlackTreeNodem_pLeft
 
T2GenericRedBlackTreeNodem_pRight
 
T2GenericRedBlackTreeNodem_pParent
 

Detailed Description

template<class T>
class T2RedBlackTreeNode< T >

Definition at line 102 of file T2RedBlackTree.h.

Constructor & Destructor Documentation

◆ T2RedBlackTreeNode() [1/2]

template<class T>
T2RedBlackTreeNode< T >::T2RedBlackTreeNode ( const T & value)
inline

Definition at line 109 of file T2RedBlackTree.h.

110 : m_Value( value )
111 {
112 }

◆ T2RedBlackTreeNode() [2/2]

template<class T>
T2RedBlackTreeNode< T >::T2RedBlackTreeNode ( T && value)
inline

Definition at line 114 of file T2RedBlackTree.h.

115 : m_Value( std::move( value ) )
116 {
117 }

Member Function Documentation

◆ GetValue()

template<class T>
T * T2RedBlackTreeNode< T >::GetValue ( )
inline

Definition at line 119 of file T2RedBlackTree.h.

120 {
121 return &m_Value;
122 }

◆ IsLeftNodeNext()

template<class T>
TBOOL T2RedBlackTreeNode< T >::IsLeftNodeNext ( const T & value) const
inline

Definition at line 124 of file T2RedBlackTree.h.

125 {
126 // Insert same values to the right side
127 if ( TComparator<T>::IsEqual( m_Value, value ) )
128 return TFALSE;
129
130 return TComparator<T>::IsLess( m_Value, value );
131 }
static TBOOL IsLess(const T &a, const T &b)
Definition TComparator.h:19

◆ operator!=() [1/2]

template<class T>
TBOOL T2RedBlackTreeNode< T >::operator!= ( const T & other) const
inline

Definition at line 143 of file T2RedBlackTree.h.

144 {
145 return !TComparator<T>::IsEqual( m_Value, other );
146 }
static TBOOL IsEqual(const T &a, const T &b)
Definition TComparator.h:9

◆ operator!=() [2/2]

template<class T>
TBOOL T2RedBlackTreeNode< T >::operator!= ( const T2RedBlackTreeNode< T > & other) const
inline

Definition at line 148 of file T2RedBlackTree.h.

149 {
150 return !TComparator<T>::IsEqual( m_Value, other.m_Value );
151 }

◆ operator<()

template<class T>
TBOOL T2RedBlackTreeNode< T >::operator< ( const T2RedBlackTreeNode< T > & other) const
inline

Definition at line 158 of file T2RedBlackTree.h.

159 {
160 return TComparator<T>::IsLess( m_Value, other.m_Value );
161 }

◆ operator<=()

template<class T>
TBOOL T2RedBlackTreeNode< T >::operator<= ( const T2RedBlackTreeNode< T > & other) const
inline

Definition at line 163 of file T2RedBlackTree.h.

164 {
165 return TComparator<T>::IsLessOrEqual( m_Value, other.m_Value );
166 }
static TBOOL IsLessOrEqual(const T &a, const T &b)
Definition TComparator.h:24

◆ operator==() [1/2]

template<class T>
TBOOL T2RedBlackTreeNode< T >::operator== ( const T & other) const
inline

Definition at line 133 of file T2RedBlackTree.h.

134 {
135 return TComparator<T>::IsEqual( m_Value, other );
136 }

◆ operator==() [2/2]

template<class T>
TBOOL T2RedBlackTreeNode< T >::operator== ( const T2RedBlackTreeNode< T > & other) const
inline

Definition at line 138 of file T2RedBlackTree.h.

139 {
140 return TComparator<T>::IsEqual( m_Value, other.m_Value );
141 }

◆ operator>()

template<class T>
TBOOL T2RedBlackTreeNode< T >::operator> ( const T2RedBlackTreeNode< T > & other) const
inline

Definition at line 153 of file T2RedBlackTree.h.

154 {
155 return TComparator<T>::IsGreater( m_Value, other.m_Value );
156 }
static TBOOL IsGreater(const T &a, const T &b)
Definition TComparator.h:14

◆ operator>=()

template<class T>
TBOOL T2RedBlackTreeNode< T >::operator>= ( const T2RedBlackTreeNode< T > & other) const
inline

Definition at line 168 of file T2RedBlackTree.h.

169 {
170 return TComparator<T>::IsGreaterOrEqual( m_Value, other.m_Value );
171 }
static TBOOL IsGreaterOrEqual(const T &a, const T &b)
Definition TComparator.h:29

Friends And Related Symbol Documentation

◆ T2RedBlackTree

template<class T>
template<class T>
friend class T2RedBlackTree
friend

Definition at line 106 of file T2RedBlackTree.h.


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