summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorMichael Lutz <michi@icosahedron.de>2019-04-02 21:31:24 +0200
committerMichael Lutz <michi@icosahedron.de>2019-04-09 22:45:15 +0200
commitc7b9987d081ae4e0103309b18c93deecc395dec9 (patch)
treee5b1f9553d6399e2eed9c05a2d91673205f9c912 /src/core
parentd3e113eb5f618ce0174fa0dfa2591cb96e999350 (diff)
downloadopenttd-c7b9987d081ae4e0103309b18c93deecc395dec9.tar.xz
Codechange: Switch DropDownList to directly use std::vector, thus making AutoDeleteSmallVector obsolete.
DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate copy-free code for most situations.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/smallvec_type.hpp30
1 files changed, 0 insertions, 30 deletions
diff --git a/src/core/smallvec_type.hpp b/src/core/smallvec_type.hpp
index f43265ebe..77b03ca6b 100644
--- a/src/core/smallvec_type.hpp
+++ b/src/core/smallvec_type.hpp
@@ -99,36 +99,6 @@ public:
}
};
-/**
- * Simple vector template class, with automatic delete.
- *
- * @note There are no asserts in the class so you have
- * to care about that you grab an item which is
- * inside the list.
- *
- * @param T The type of the items stored, must be a pointer
- */
-template <typename T>
-class AutoDeleteSmallVector : public std::vector<T> {
-public:
- ~AutoDeleteSmallVector()
- {
- this->Clear();
- }
-
- /**
- * Remove all items from the list.
- */
- inline void Clear()
- {
- for (T p : *this) {
- delete p;
- }
-
- std::vector<T>::clear();
- }
-};
-
typedef AutoFreeSmallVector<char*> StringList; ///< Type for a list of strings.
#endif /* SMALLVEC_TYPE_HPP */