3#ifndef TRAM_SDK_TEMPLATES_STACK_H
4#define TRAM_SDK_TEMPLATES_STACK_H
28 Stack(std::string name, uint64_t initialSize){
33 char* newmemory = (
char*)::
operator new(initialSize *
sizeof(T));
34 first = (T*)newmemory;
37 lastend = (T*)newmemory + (initialSize *
sizeof(T));
41 std::cout <<
"Stack " <<
stackName <<
" out of space!" << std::endl;
53 std::cout <<
"Stack " <<
stackName <<
" already empty!" << std::endl;
T * first
Definition: stack.h:23
size_t size()
Definition: stack.h:74
T & top()
Definition: stack.h:70
uint64_t stackSize
Definition: stack.h:22
void Remove()
Definition: stack.h:51
void reset()
Definition: stack.h:73
void Reset()
Definition: stack.h:65
uint64_t GetLength()
Definition: stack.h:64
std::string stackName
Definition: stack.h:20
T * last
Definition: stack.h:24
T pop()
Definition: stack.h:72
T * GetLastPtr()
Definition: stack.h:58
T * lastend
Definition: stack.h:26
uint64_t stackLength
Definition: stack.h:21
T * firstend
Definition: stack.h:25
T * AddNew()
Definition: stack.h:39
Stack(std::string name, uint64_t initialSize)
Definition: stack.h:28
void push(const T &value)
Definition: stack.h:71