diff --git a/source/build/include/build.h b/source/build/include/build.h index a95b4b5f9..f6089a0f6 100644 --- a/source/build/include/build.h +++ b/source/build/include/build.h @@ -21,7 +21,6 @@ static_assert('\xff' == 255, "Char must be unsigned!"); # error Visual Studio 2013 is the minimum supported version. #endif -#include "collections.h" #include "compat.h" #include "palette.h" #include "pragmas.h" diff --git a/source/build/include/collections.h b/source/build/include/collections.h deleted file mode 100644 index 7aba68cf9..000000000 --- a/source/build/include/collections.h +++ /dev/null @@ -1,69 +0,0 @@ - -#pragma once - -#ifndef collections_h_ -#define collections_h_ - -#include "compat.h" - -#ifdef HAVE_CXX11_HEADERS - -// GrowArray - heap-allocated storage that can expand at runtime -// requirements: type must work properly with realloc -- otherwise, use std::vector - -template ::value>, typename = enable_if_t<(increment_ > 0)>> -struct GrowArray -{ - FORCE_INLINE T * begin() const { return data_; } - FORCE_INLINE T * end() const { return data_ + size_; } - - FORCE_INLINE size_t size() const { return size_; } - - FORCE_INLINE T& operator[](size_t index) { return data_[index]; } - FORCE_INLINE const T& operator[](size_t index) const { return data_[index]; } - - FORCE_INLINE T& first() { return data_[0]; } - FORCE_INLINE const T& first() const { return data_[0]; } - - FORCE_INLINE T& last() { return data_[size_-1]; } - FORCE_INLINE const T& last() const { return data_[size_-1]; } - - void append(T item) - { - if (size_ == capacity_) - reallocate(capacity_ + increment_); - data_[size_++] = item; - } - - void removeLast() - { - --size_; - } - - void vacuum() - { - if (size_ < capacity_) - reallocate(size_); - } - - void clear() - { - size_ = 0; - capacity_ = 0; - free(data_); - data_ = nullptr; - } - -protected: - void reallocate(size_t newcapacity) - { - data_ = (T *)Xrealloc(data_, newcapacity * sizeof(T)); - capacity_ = newcapacity; - } - T * data_ = nullptr; - size_t size_ = 0, capacity_ = 0; -}; - -#endif - -#endif // collections_h_ diff --git a/source/duke3d/src/common_game.h b/source/duke3d/src/common_game.h index 0416c554c..709a137ec 100644 --- a/source/duke3d/src/common_game.h +++ b/source/duke3d/src/common_game.h @@ -7,7 +7,6 @@ #ifndef EDUKE32_COMMON_GAME_H_ #define EDUKE32_COMMON_GAME_H_ -#include "collections.h" #include "gamecontrol.h" BEGIN_DUKE_NS diff --git a/source/rr/src/common_game.h b/source/rr/src/common_game.h index f39dae046..2e3c6e9c5 100644 --- a/source/rr/src/common_game.h +++ b/source/rr/src/common_game.h @@ -7,7 +7,6 @@ #ifndef EDUKE32_COMMON_GAME_H_ #define EDUKE32_COMMON_GAME_H_ -#include "collections.h" #include "gamecontrol.h" BEGIN_RR_NS