campo-sirio/include/stack.cpp
guy 12227a589a Patch level :
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
stack.*    Aggiunto metodo destroy
strings.*  Aggiunti costruttori ed operator= per le TStingNN
tree.cpp   Aumentata spaziature righe della TTree_window
urldefid.h Aggiunto BMP_STOP
window.cpp Corretta TScroll_window::dev2log


git-svn-id: svn://10.65.10.50/trunk@6854 c028cbd2-c16b-5b4b-a496-9718f37d4682
1998-07-20 13:29:52 +00:00

39 lines
567 B
C++
Executable File

#include <stack.h>
TStack::TStack(int size) : _data(size), _sp(0)
{}
void TStack::push(const TObject& o)
{
_data.add(o, _sp++);
}
void TStack::push(TObject* o)
{
_data.add(o, _sp++);
}
TObject& TStack::pop()
{
CHECK(_sp > 0, "Stack underflow!");
return _data[--_sp];
}
TObject& TStack::peek(int depth) const
{
CHECKD(depth >= 0 && depth < _sp, "Stack depth error: ", depth);
return _data[_sp-depth-1];
}
void TStack::destroy()
{
_data.destroy();
_sp = 0;
}
bool TStack::destroy_base()
{
if (_sp > 0) _sp--;
return _data.destroy(0, TRUE);
}