Array.h 613 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef ANKI_UTIL_ARRAY_H
  2. #define ANKI_UTIL_ARRAY_H
  3. #include "anki/util/Assert.h"
  4. #include <array>
  5. namespace anki {
  6. /// @addtogroup util
  7. /// @{
  8. template<typename T, size_t size>
  9. class Array: public std::array<T, size>
  10. {
  11. public:
  12. typedef std::array<T, size> Base;
  13. #if !NDEBUG
  14. typename Base::reference operator[](typename Base::size_type n)
  15. {
  16. ANKI_ASSERT(n < Base::size());
  17. return Base::operator[](n);
  18. }
  19. typename Base::const_reference operator[](
  20. typename Base::size_type n) const
  21. {
  22. ANKI_ASSERT(n < Base::size());
  23. return Base::operator[](n);
  24. }
  25. #endif
  26. };
  27. /// @}
  28. } // end namespace anki
  29. #endif