summaryrefslogtreecommitdiff
path: root/source/libs/asura-lib-utils/type.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/libs/asura-lib-utils/type.h')
-rw-r--r--source/libs/asura-lib-utils/type.h85
1 files changed, 85 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..1ed2d42
--- /dev/null
+++ b/source/libs/asura-lib-utils/type.h
@@ -0,0 +1,85 @@
+#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 char 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;
+
+ typedef const char cc8;
+
+ //--------------------------------------------------------------------------------//
+
+#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
+
+ #define ASURA_WINDOWS 1
+#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_OUT
+#define ASURA_REF
+ ///
+ /// ƶָȨ
+ ///
+#define ASURA_MOVE
+
+ //--------------------------------------------------------------------------------//
+
+#define ASURA_SDL_HOST 1
+
+} // namespace AsuraEngine
+
+#endif // __ASURA_CONFIG_H__ \ No newline at end of file