1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /// @ref ext_scalar_uint_sized
- /// @file glm/ext/scalar_uint_sized.hpp
- ///
- /// @defgroup ext_scalar_uint_sized GLM_EXT_scalar_uint_sized
- /// @ingroup ext
- ///
- /// Exposes sized unsigned integer scalar types.
- ///
- /// Include <glm/ext/scalar_uint_sized.hpp> to use the features of this extension.
- ///
- /// @see ext_scalar_int_sized
- #pragma once
- #include "../detail/setup.hpp"
- #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
- # pragma message("GLM: GLM_EXT_scalar_uint_sized extension included")
- #endif
- namespace glm{
- namespace detail
- {
- # if GLM_HAS_EXTENDED_INTEGER_TYPE
- typedef std::uint8_t uint8;
- typedef std::uint16_t uint16;
- typedef std::uint32_t uint32;
- # else
- typedef unsigned char uint8;
- typedef unsigned short uint16;
- typedef unsigned int uint32;
- #endif
- template<>
- struct is_int<uint8>
- {
- enum test {value = ~0};
- };
- template<>
- struct is_int<uint16>
- {
- enum test {value = ~0};
- };
- template<>
- struct is_int<uint64>
- {
- enum test {value = ~0};
- };
- }//namespace detail
- /// @addtogroup ext_scalar_uint_sized
- /// @{
- /// 8 bit unsigned integer type.
- typedef detail::uint8 uint8;
- /// 16 bit unsigned integer type.
- typedef detail::uint16 uint16;
- /// 32 bit unsigned integer type.
- typedef detail::uint32 uint32;
- /// 64 bit unsigned integer type.
- typedef detail::uint64 uint64;
- /// @}
- }//namespace glm
|