48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
|
/***
|
||
|
Copyright (©) 2020 Reece Wilson (a/k/a "Reece").
|
||
|
All rights reserved.
|
||
|
|
||
|
File: AuroraTypes.hpp
|
||
|
Date: 2020-6-12
|
||
|
Originator: Reece
|
||
|
Purpose:
|
||
|
***/
|
||
|
#pragma once
|
||
|
|
||
|
namespace Aurora::Types
|
||
|
{
|
||
|
#if defined(AURORA_COMPILER_MSVC)
|
||
|
using int8_t = signed char;
|
||
|
using int16_t = short;
|
||
|
using int32_t = int;
|
||
|
using int64_t = long long;
|
||
|
using uint8_t = unsigned char;
|
||
|
using uint16_t = unsigned short;
|
||
|
using uint32_t = unsigned int;
|
||
|
using uint64_t = unsigned long long;
|
||
|
#elif defined(AURORA_COMPILER_CLANG) || defined(AURORA_COMPILER_GCC)
|
||
|
using int8_t = __INT8_TYPE__;
|
||
|
using int16_t = __INT16_TYPE__;
|
||
|
using int32_t = __INT32_TYPE__;
|
||
|
using int64_t = __INT64_TYPE__;
|
||
|
using uint8_t = __UINT8_TYPE__;
|
||
|
using uint16_t = __UINT16_TYPE__;
|
||
|
using uint32_t = __UINT32_TYPE__;
|
||
|
using uint64_t = __UINT64_TYPE__;
|
||
|
#endif
|
||
|
|
||
|
#if defined(AURORA_ARCH_X86)
|
||
|
using size_t = uint32_t;
|
||
|
using ssize_t = int32_t;
|
||
|
#elif defined(AURORA_ARCH_X64)
|
||
|
using size_t = uint64_t;
|
||
|
using ssize_t = int64_t;
|
||
|
#elif defined(AURORA_ARCH_ARM)
|
||
|
using size_t = uint64_t;
|
||
|
using ssize_t = int64_t;
|
||
|
#else
|
||
|
#error unsupported architecture. currently supports: aarch64, x86_64, x86_32
|
||
|
#endif
|
||
|
|
||
|
using Handle = size_t;
|
||
|
}
|