[Scummvm-cvs-logs] SF.net SVN: scummvm: [24926] scummvm/trunk/common/stack.h
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Tue Dec 26 00:13:15 CET 2006
Revision: 24926
http://scummvm.svn.sourceforge.net/scummvm/?rev=24926&view=rev
Author: fingolfin
Date: 2006-12-25 15:13:13 -0800 (Mon, 25 Dec 2006)
Log Message:
-----------
Tweaked the FixedStack class a bit
Modified Paths:
--------------
scummvm/trunk/common/stack.h
Modified: scummvm/trunk/common/stack.h
===================================================================
--- scummvm/trunk/common/stack.h 2006-12-25 23:05:07 UTC (rev 24925)
+++ scummvm/trunk/common/stack.h 2006-12-25 23:13:13 UTC (rev 24926)
@@ -49,26 +49,30 @@
assert(_size < MAX_SIZE);
_stack[_size++] = x;
}
- T top() const {
- if (_size > 0)
- return _stack[_size - 1];
- else
- return 0;
+ const T& top() const {
+ assert(_size > 0);
+ return _stack[_size - 1];
}
+ T& top() {
+ assert(_size > 0);
+ return _stack[_size - 1];
+ }
T pop() {
- T tmp;
- assert(_size > 0);
- tmp = _stack[_size - 1];
- _stack[--_size] = 0;
+ T tmp = top();
+ --_size;
return tmp;
}
int size() const {
return _size;
}
- T operator [](int i) {
+ T& operator [](int i) {
assert(0 <= i && i < MAX_SIZE);
return _stack[i];
}
+ const T& operator [](int i) const {
+ assert(0 <= i && i < MAX_SIZE);
+ return _stack[i];
+ }
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list