OpenBarnyard
 
Loading...
Searching...
No Matches
TNodeList< T >::TNode Class Reference

#include <TNodeList.h>

Inheritance diagram for TNodeList< T >::TNode:
TInputDevice TKernelInterfaceDLL TMemory::MemBlockSlot TRegMaterial TRenderAdapter TRenderAdapter::Mode TRenderAdapter::Mode::Device TTextureFactory::NameEntry

Public Member Functions

constexpr TNode ()
 
constexpr TNode (const TNode &a_rcNode)
 
 TNode (TNode &&a_rNode)
 
T * Next () const
 
T * Prev () const
 
void Remove ()
 
void SetList (TNodeList *list)
 
TNodeListGetList () const
 
TBOOL IsLinked () const
 

Protected Attributes

friend TNodeList
 
TNodeListm_pList
 
T * m_pNext
 
T * m_pPrev
 

Detailed Description

template<class T>
class TNodeList< T >::TNode

Definition at line 9 of file TNodeList.h.

Constructor & Destructor Documentation

◆ TNode() [1/3]

template<class T>
TNodeList< T >::TNode::TNode ( )
inlineconstexpr

Definition at line 15 of file TNodeList.h.

16 : m_pNext( TSTATICCAST( T, this ) ), m_pPrev( TSTATICCAST( T, this ) ), m_pList( TNULL )
17 {}
#define TSTATICCAST(POINTERTYPE, VALUE)
Definition Defines.h:69
TNodeList * m_pList
Definition TNodeList.h:42

◆ TNode() [2/3]

template<class T>
TNodeList< T >::TNode::TNode ( const TNode & a_rcNode)
inlineconstexpr

Definition at line 19 of file TNodeList.h.

20 : m_pNext( a_rcNode.m_pNext ), m_pPrev( a_rcNode.m_pPrev ), m_pList( a_rcNode.m_pList )
21 {}

◆ TNode() [3/3]

template<class T>
TNodeList< T >::TNode::TNode ( TNode && a_rNode)
inline

Definition at line 23 of file TNodeList.h.

24 : m_pNext( a_rNode.m_pNext ), m_pPrev( a_rNode.m_pPrev ), m_pList( a_rNode.m_pList )
25 {
26 a_rNode.m_pList = TNULL;
27 a_rNode.m_pNext = TNULL;
28 a_rNode.m_pPrev = TNULL;
29 }

Member Function Documentation

◆ GetList()

template<class T>
TNodeList * TNodeList< T >::TNode::GetList ( ) const
inline

Definition at line 37 of file TNodeList.h.

37{ return m_pList; }

◆ IsLinked()

template<class T>
TBOOL TNodeList< T >::TNode::IsLinked ( ) const
inline

Definition at line 39 of file TNodeList.h.

39{ return m_pList != TNULL; }

◆ Next()

template<class T>
T * TNodeList< T >::TNode::Next ( ) const
inline

Definition at line 31 of file TNodeList.h.

31{ return m_pNext; }

◆ Prev()

template<class T>
T * TNodeList< T >::TNode::Prev ( ) const
inline

Definition at line 32 of file TNodeList.h.

32{ return m_pPrev; }

◆ Remove()

template<class T>
void TNodeList< T >::TNode::Remove ( )
inline

Definition at line 34 of file TNodeList.h.

34{ GetList()->Remove( TSTATICCAST( T, this ) ); }
T * Remove(T *pNode)
Definition TNodeList.h:161
TNodeList * GetList() const
Definition TNodeList.h:37

◆ SetList()

template<class T>
void TNodeList< T >::TNode::SetList ( TNodeList * list)
inline

Definition at line 36 of file TNodeList.h.

36{ m_pList = list; }

Member Data Documentation

◆ m_pList

template<class T>
TNodeList* TNodeList< T >::TNode::m_pList
protected

Definition at line 42 of file TNodeList.h.

◆ m_pNext

template<class T>
T* TNodeList< T >::TNode::m_pNext
protected

Definition at line 43 of file TNodeList.h.

◆ m_pPrev

template<class T>
T* TNodeList< T >::TNode::m_pPrev
protected

Definition at line 44 of file TNodeList.h.

◆ TNodeList

template<class T>
friend TNodeList< T >::TNode::TNodeList
protected

Definition at line 12 of file TNodeList.h.


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