math_fwd.hpp 745 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // vector_typedefs.hpp
  3. // math
  4. //
  5. // Created by Sam Jaffe on 7/5/16.
  6. //
  7. #pragma once
  8. #include <cstddef>
  9. #include <cstdint>
  10. namespace math {
  11. namespace vector {
  12. template <typename, size_t> class vector;
  13. }
  14. namespace matrix {
  15. template <typename, size_t, size_t> class matrix;
  16. template <typename T, size_t N>
  17. using square_matrix = matrix<T, N, N>;
  18. }
  19. struct line;
  20. struct circle;
  21. struct quad;
  22. struct rectangle;
  23. struct square;
  24. struct degree;
  25. struct radian;
  26. }
  27. namespace math {
  28. using vec2i = vector::vector<int, 2>;
  29. using vec2 = vector::vector<float, 2>;
  30. using vec3 = vector::vector<float, 3>;
  31. using rgba = vector::vector<uint8_t, 4>;
  32. using matr4 = matrix::matrix<float, 4, 4>;
  33. }