diff options
author | chai <chaifix@163.com> | 2019-03-19 23:06:27 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-03-19 23:06:27 +0800 |
commit | 1497dccd63a84b7ee2b229b1ad9c5c02718f2a78 (patch) | |
tree | f8d1bff50da13e126d08c7345653e002e293202d /source/libs/asura-lib-utils/type.h | |
parent | 5e2a973516e0729b225da9de0b03015dc5854ac4 (diff) |
*rename
Diffstat (limited to 'source/libs/asura-lib-utils/type.h')
-rw-r--r-- | source/libs/asura-lib-utils/type.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/source/libs/asura-lib-utils/type.h b/source/libs/asura-lib-utils/type.h new file mode 100644 index 0000000..25b52fe --- /dev/null +++ b/source/libs/asura-lib-utils/type.h @@ -0,0 +1,70 @@ +#ifndef __ASURA_UTILS_TYPE_H__ +#define __ASURA_UTILS_TYPE_H__ + +#include <cstdlib> +#include <stdint.h> + +namespace AsuraEngine +{ + + //---------------------------------------------------------------------------------------------------------------- + + typedef int8_t int8; + typedef uint8_t uint8; + typedef uint8 byte; + typedef int16_t int16; + typedef uint16_t uint16; + typedef int32_t int32; + typedef uint32_t uint32; + typedef int64_t int64; + typedef uint64_t uint64; + + typedef uint32_t uint; + typedef int32_t sint; + + typedef std::size_t size_t; + + //---------------------------------------------------------------------------------------------------------------- + +#ifndef ASSERT + #ifdef NDEBUG + #define ASSERT(x) { false ? (void)(x) : (void)0; } + #else + #ifdef _WIN32 + #define ASURA_DEBUG_BREAK() __debugbreak() + #else + #define ASURA_DEBUG_BREAK() raise(SIGTRAP) + #endif + #define ASSERT(x) do { const volatile bool asura_assert_b____ = !(x); if(asura_assert_b____) ASURA_DEBUG_BREAK(); } while (false) + #endif +#endif + + //---------------------------------------------------------------------------------------------------------------- + +#ifdef _WIN32 + #define ASURA_FINAL final + #define ASURA_LIBRARY_EXPORT __declspec(dllexport) + #define ASURA_LIBRARY_IMPORT __declspec(dllimport) + #define ASURA_FORCE_INLINE __forceinline + #define ASURA_RESTRICT __restrict + #define ASURA_ATTRIBUTE_USED + #define ASURA_ABSTRACT + #define ASURA_API ASURA_LIBRARY_EXPORT +#else + #define ASURA_FINAL final + #define ASURA_LIBRARY_EXPORT __attribute__((visibility("default"))) + #define ASURA_LIBRARY_IMPORT + #define ASURA_FORCE_INLINE __attribute__((always_inline)) inline + #define ASURA_RESTRICT __restrict__ + #define ASURA_ATTRIBUTE_USED __attribute__((used)) + #define ASURA_ABSTRACT + #define ASURA_API ASURA_LIBRARY_EXPORT +#endif + + //---------------------------------------------------------------------------------------------------------------- + +#define ASURA_SDL_HOST 1 + +} // namespace AsuraEngine + +#endif // __ASURA_CONFIG_H__
\ No newline at end of file |