Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# deTStack< T > Class Template Reference

templated stack (or queue) storage class More...

`#include <deStack.hpp>`

Inheritance diagram for deTStack< T >:

[legend]
Collaboration diagram for deTStack< T >:

[legend]
List of all members.

## Public Types
enum | deStackType { LIFO_STACK = 0, FIFO_STACK = 1, StackType_32bit = 0x7fffffff }
## Public Member Functions
| deTStack ()
| deTStack (deStackType PopOrder)
| deTStack (const deTStack &Stack)
| ~deTStack ()
deBoolean | Push (const T &ItemData)
deBoolean | Push (const T &ItemData, T *&ref)
deBoolean | Pop ()
deBoolean | Pop (T &target)
T * | Peek (int ItemOffset)
T * | Peek ()
deBoolean | Clear ()
deBoolean | isEmpty ()
int | Length (void)
deStackType | GetStackType (void)
void | SetStackType (deStackType PopOrder)
bool | HasData (T &data)
## Private Member Functions
TStackNode * | InsertItem (TStackNode *PrevItem, TStackNode *NextItem, const T &ItemData)
TStackNode * | AppendItem (const T &ItemData)
deBoolean | RemoveItem (TStackNode *sn)
T * | GetFirstItem (TStackNode *&sn)
T * | GetLastItem (TStackNode *&sn)
T * | GetNextItem (TStackNode *&sn)
T * | GetPrevItem (TStackNode *&sn)
## Private Attributes
TStackNode * | Head
TStackNode * | Tail
int | ItemCount
deStackType | StackType

## Detailed Description

### template<class T>
class deTStack< T >

templated stack (or queue) storage class

## Member Enumeration Documentation

template<class T>
enum deTStack::deStackType

  | Enumeration values:
  LIFO_STACK |
  FIFO_STACK |
  StackType_32bit |

## Constructor & Destructor Documentation

template<class T>
deTStack< T >::deTStack | ( |  | ) |

template<class T>
deTStack< T >::deTStack | ( | deStackType | PopOrder | ) |

template<class T>
deTStack< T >::deTStack | ( | const deTStack< T > & | Stack | ) |

template<class T>
deTStack< T >::~deTStack | ( |  | ) |

## Member Function Documentation

template<class T>
deTStack< T >::TStackNode * deTStack< T >::AppendItem | ( | const T & | ItemData | ) | `[private]`

template<class T>
deBoolean deTStack< T >::Clear | ( |  | ) |

template<class T>
T * deTStack< T >::GetFirstItem | ( | TStackNode *& | sn | ) | `[private]`

template<class T>
T * deTStack< T >::GetLastItem | ( | TStackNode *& | sn | ) | `[private]`

template<class T>
T * deTStack< T >::GetNextItem | ( | TStackNode *& | sn | ) | `[private]`

template<class T>
T * deTStack< T >::GetPrevItem | ( | TStackNode *& | sn | ) | `[private]`

template<class T>
deStackType deTStack< T >::GetStackType | ( | void |  | ) | `[inline]`

template<class T>
bool deTStack< T >::HasData | ( | T & | data | ) |

template<class T>
deTStack< T >::TStackNode * deTStack< T >::InsertItem | ( | TStackNode * | PrevItem,
|  | TStackNode * | NextItem,
|  | const T & | ItemData
| ) | `[private]`

template<class T>
deBoolean deTStack< T >::isEmpty | ( |  | ) | `[inline]`

template<class T>
int deTStack< T >::Length | ( | void |  | ) | `[inline]`

template<class T>
T * deTStack< T >::Peek | ( |  | ) |

template<class T>
T * deTStack< T >::Peek | ( | int | ItemOffset | ) |

template<class T>
deBoolean deTStack< T >::Pop | ( | T & | target | ) |

template<class T>
deBoolean deTStack< T >::Pop | ( |  | ) |

template<class T>
deBoolean deTStack< T >::Push | ( | const T & | ItemData,
|  | T *& | ref
| ) |

template<class T>
deBoolean deTStack< T >::Push | ( | const T & | ItemData | ) |

template<class T>
deBoolean deTStack< T >::RemoveItem | ( | TStackNode * | sn | ) | `[private]`

template<class T>
void deTStack< T >::SetStackType | ( | deStackType | PopOrder | ) | `[inline]`

## Member Data Documentation

template<class T>
TStackNode* deTStack< T >::Head`[private]`

template<class T>
int deTStack< T >::ItemCount`[private]`

template<class T>
deStackType deTStack< T >::StackType`[private]`

template<class T>
TStackNode* deTStack< T >::Tail`[private]`

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

- deStack.hpp