StdTypes.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef ANKI_UTIL_STD_TYPES_H
  2. #define ANKI_UTIL_STD_TYPES_H
  3. #include <cstdint>
  4. #include <cstddef>
  5. #include <limits>
  6. namespace anki {
  7. /// @addtogroup util
  8. /// @{
  9. typedef int8_t I8;
  10. const I8 MAX_I8 = std::numeric_limits<I8>::max();
  11. const I8 MIN_I8 = std::numeric_limits<I8>::min();
  12. typedef int16_t I16;
  13. const I16 MAX_I16 = std::numeric_limits<I16>::max();
  14. const I16 MIN_I16 = std::numeric_limits<I16>::min();
  15. typedef int32_t I32;
  16. const I32 MAX_I32 = std::numeric_limits<I32>::max();
  17. const I32 MIN_I32 = std::numeric_limits<I32>::min();
  18. typedef int64_t I64;
  19. const I64 MAX_I64 = std::numeric_limits<I64>::max();
  20. const I64 MIN_I64 = std::numeric_limits<I64>::min();
  21. typedef int_fast32_t I; ///< Fast signed integer at least 32bit
  22. const I MAX_I = std::numeric_limits<I>::max();
  23. const I MIN_I = std::numeric_limits<I>::min();
  24. typedef uint8_t U8;
  25. const U8 MAX_U8 = std::numeric_limits<U8>::max();
  26. const U8 MIN_U8 = std::numeric_limits<U8>::min();
  27. typedef uint16_t U16;
  28. const U16 MAX_U16 = std::numeric_limits<U16>::max();
  29. const U16 MIN_U16 = std::numeric_limits<U16>::min();
  30. typedef uint32_t U32;
  31. const U32 MAX_U32 = std::numeric_limits<U32>::max();
  32. const U32 MIN_U32 = std::numeric_limits<U32>::min();
  33. typedef uint64_t U64;
  34. const U64 MAX_U64 = std::numeric_limits<U64>::max();
  35. const U64 MIN_U64 = std::numeric_limits<U64>::min();
  36. typedef uint_fast32_t U; ///< fast unsigned integer at least 32bit
  37. const U MAX_U = std::numeric_limits<U>::max();
  38. const U MIN_U = std::numeric_limits<U>::min();
  39. typedef size_t PtrSize; ///< Like size_t
  40. const PtrSize MAX_PTR_SIZE = std::numeric_limits<PtrSize>::max();
  41. const PtrSize MIN_PTR_SIZE = std::numeric_limits<PtrSize>::min();
  42. typedef float F32;
  43. const F32 MAX_F32 = std::numeric_limits<F32>::max();
  44. const F32 MIN_F32 = -std::numeric_limits<F32>::max();
  45. typedef double F64;
  46. const F64 MAX_F64 = std::numeric_limits<F64>::max();
  47. const F64 MIN_F64 = -std::numeric_limits<F64>::max();
  48. typedef bool Bool;
  49. typedef U8 Bool8;
  50. /// @}
  51. } // end namespace anki
  52. #endif