OpenBarnyard
 
Loading...
Searching...
No Matches
TStack< T, C > Class Template Reference

#include <TStack.h>

Public Member Functions

 TStack ()=default
 
 ~TStack ()=default
 
void Push (const T &a_item=T())
 
T & PushNull ()
 
T & Pop ()
 
TBOOL IsFull () const
 
T & Top ()
 
TBOOL IsEmpty () const
 
void Reset ()
 
TINT Count () const
 
T & Begin ()
 
const T & Begin () const
 
T & End ()
 
const T & End () const
 

Detailed Description

template<typename T, TINT C>
class TStack< T, C >

Definition at line 6 of file TStack.h.

Constructor & Destructor Documentation

◆ TStack()

template<typename T, TINT C>
TStack< T, C >::TStack ( )
default

◆ ~TStack()

template<typename T, TINT C>
TStack< T, C >::~TStack ( )
default

Member Function Documentation

◆ Begin() [1/2]

template<typename T, TINT C>
T & TStack< T, C >::Begin ( )
inline

Definition at line 58 of file TStack.h.

59 {
60 return AtUnsafe( 0 );
61 }

◆ Begin() [2/2]

template<typename T, TINT C>
const T & TStack< T, C >::Begin ( ) const
inline

Definition at line 63 of file TStack.h.

64 {
65 return AtUnsafe( 0 );
66 }

◆ Count()

template<typename T, TINT C>
TINT TStack< T, C >::Count ( ) const
inline

Definition at line 53 of file TStack.h.

54 {
55 return m_iTop + 1;
56 }

◆ End() [1/2]

template<typename T, TINT C>
T & TStack< T, C >::End ( )
inline

Definition at line 68 of file TStack.h.

69 {
70 return AtUnsafe( m_iTop );
71 }

◆ End() [2/2]

template<typename T, TINT C>
const T & TStack< T, C >::End ( ) const
inline

Definition at line 73 of file TStack.h.

74 {
75 return AtUnsafe( m_iTop );
76 }

◆ IsEmpty()

template<typename T, TINT C>
TBOOL TStack< T, C >::IsEmpty ( ) const
inline

Definition at line 43 of file TStack.h.

44 {
45 return m_iTop == -1;
46 }

◆ IsFull()

template<typename T, TINT C>
TBOOL TStack< T, C >::IsFull ( ) const
inline

Definition at line 33 of file TStack.h.

34 {
35 return m_iTop == ( C - 1 );
36 }
Definition TStack.h:7

◆ Pop()

template<typename T, TINT C>
T & TStack< T, C >::Pop ( )
inline

Definition at line 25 of file TStack.h.

26 {
27 T& item = AtUnsafe( m_iTop );
28 m_iTop--;
29 if ( IsEmpty() ) m_iTop = 0;
30 return item;
31 }
TBOOL IsEmpty() const
Definition TStack.h:43

◆ Push()

template<typename T, TINT C>
void TStack< T, C >::Push ( const T & a_item = T())
inline

Definition at line 12 of file TStack.h.

13 {
14 m_iTop++;
15 if ( IsFull() ) return;
16 AtUnsafe( m_iTop ) = a_item;
17 }
TBOOL IsFull() const
Definition TStack.h:33

◆ PushNull()

template<typename T, TINT C>
T & TStack< T, C >::PushNull ( )
inline

Definition at line 19 of file TStack.h.

20 {
21 m_iTop++;
22 return Top();
23 }
T & Top()
Definition TStack.h:38

◆ Reset()

template<typename T, TINT C>
void TStack< T, C >::Reset ( )
inline

Definition at line 48 of file TStack.h.

49 {
50 m_iTop = -1;
51 }

◆ Top()

template<typename T, TINT C>
T & TStack< T, C >::Top ( )
inline

Definition at line 38 of file TStack.h.

39 {
40 return AtUnsafe( m_iTop );
41 }

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