aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorJohannes Schickel2012-02-22 20:07:40 +0100
committerJohannes Schickel2012-02-22 20:07:40 +0100
commit7d8da240820fa9cafc8e3090c007051a29d8d79f (patch)
treeeb9ed52bb77135cbc92971852d30114a522e70d4 /common
parent417cd7625c44bcae1b40c0a0b86ea6592ffd813c (diff)
downloadscummvm-rg350-7d8da240820fa9cafc8e3090c007051a29d8d79f.tar.gz
scummvm-rg350-7d8da240820fa9cafc8e3090c007051a29d8d79f.tar.bz2
scummvm-rg350-7d8da240820fa9cafc8e3090c007051a29d8d79f.zip
COMMON: Add a size_type to Stack and FixedStack.
Diffstat (limited to 'common')
-rw-r--r--common/stack.h28
1 files changed, 16 insertions, 12 deletions
diff --git a/common/stack.h b/common/stack.h
index 0d13049f2e..235715dac3 100644
--- a/common/stack.h
+++ b/common/stack.h
@@ -30,12 +30,11 @@ namespace Common {
/**
* Extremly simple fixed size stack class.
*/
-template<class T, int MAX_SIZE = 10>
+template<class T, uint MAX_SIZE = 10>
class FixedStack {
-protected:
- T _stack[MAX_SIZE];
- int _size;
public:
+ typedef uint size_type;
+
FixedStack<T, MAX_SIZE>() : _size(0) {}
bool empty() const {
@@ -61,17 +60,20 @@ public:
--_size;
return tmp;
}
- int size() const {
+ size_type size() const {
return _size;
}
- T &operator[](int i) {
- assert(0 <= i && i < MAX_SIZE);
+ T &operator[](size_type i) {
+ assert(i < MAX_SIZE);
return _stack[i];
}
- const T &operator[](int i) const {
- assert(0 <= i && i < MAX_SIZE);
+ const T &operator[](size_type i) const {
+ assert(i < MAX_SIZE);
return _stack[i];
}
+protected:
+ T _stack[MAX_SIZE];
+ size_type _size;
};
@@ -84,6 +86,8 @@ private:
Array<T> _stack;
public:
+ typedef typename Array<T>::size_type size_type;
+
Stack<T>() {}
Stack<T>(const Array<T> &stackContent) : _stack(stackContent) {}
@@ -107,13 +111,13 @@ public:
_stack.pop_back();
return tmp;
}
- int size() const {
+ size_type size() const {
return _stack.size();
}
- T &operator[](int i) {
+ T &operator[](size_type i) {
return _stack[i];
}
- const T &operator[](int i) const {
+ const T &operator[](size_type i) const {
return _stack[i];
}
};