Vector.h 542 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef ANKI_UTIL_VECTOR_H
  2. #define ANKI_UTIL_VECTOR_H
  3. #include "anki/util/Assert.h"
  4. #include <vector>
  5. namespace anki {
  6. /// @addtogroup util
  7. /// @{
  8. template<typename T>
  9. using Vector = std::vector<T>;
  10. template<typename T>
  11. class PtrVector: public Vector<T*>
  12. {
  13. public:
  14. ~PtrVector()
  15. {
  16. for(typename Vector<T*>::iterator it = Vector<T*>::begin();
  17. it != Vector<T*>::end(); it++)
  18. {
  19. typedef char TypeMustBeComplete[sizeof(T) ? 1 : -1];
  20. (void) sizeof(TypeMustBeComplete);
  21. delete *it;
  22. }
  23. }
  24. };
  25. } // end namespace anki
  26. #endif