diff options
author | smatz <smatz@openttd.org> | 2009-12-25 23:10:20 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2009-12-25 23:10:20 +0000 |
commit | a7be7ebe808a1aba2ce9e5b6441fcdaa65419419 (patch) | |
tree | b5f33cbef8ca6ade28a2e8f90fa9f6565a68be16 | |
parent | 4dbf08fc4b8b132f9448d9199b23eadf23df5fbb (diff) | |
download | openttd-a7be7ebe808a1aba2ce9e5b6441fcdaa65419419.tar.xz |
(svn r18633) -Codechange: fortify SmallVector a bit more
-rw-r--r-- | src/core/smallvec_type.hpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/smallvec_type.hpp b/src/core/smallvec_type.hpp index 82ade860c..38fa6fe6e 100644 --- a/src/core/smallvec_type.hpp +++ b/src/core/smallvec_type.hpp @@ -54,7 +54,7 @@ public: /** * Remove all items from the list and free allocated memory. */ - void Reset() + FORCEINLINE void Reset() { this->items = 0; this->capacity = 0; @@ -76,6 +76,7 @@ public: /** * Append an item and return it. + * @return pointer to newly allocated item */ FORCEINLINE T *Append() { @@ -144,7 +145,8 @@ public: return this->Find(item) != this->End(); } - /** Removes given item from this map + /** + * Removes given item from this vector * @param item item to remove * @note it has to be pointer to item in this map. It is overwritten by the last item. */ @@ -223,6 +225,7 @@ public: */ FORCEINLINE const T *Get(uint index) const { + assert(index < this->items); return &this->data[index]; } @@ -234,6 +237,7 @@ public: */ FORCEINLINE T *Get(uint index) { + assert(index < this->items); return &this->data[index]; } @@ -245,6 +249,7 @@ public: */ FORCEINLINE const T &operator[](uint index) const { + assert(index < this->items); return this->data[index]; } @@ -256,6 +261,7 @@ public: */ FORCEINLINE T &operator[](uint index) { + assert(index < this->items); return this->data[index]; } }; |