63 lines
1.8 KiB
C++
63 lines
1.8 KiB
C++
// File: crn_types.h
|
|
// This software is in the public domain. Please see license.txt.
|
|
#pragma once
|
|
|
|
namespace crnlib
|
|
{
|
|
typedef unsigned char uint8;
|
|
typedef signed char int8;
|
|
typedef unsigned short uint16;
|
|
typedef signed short int16;
|
|
typedef unsigned int uint32;
|
|
typedef uint32 uint;
|
|
typedef signed int int32;
|
|
|
|
#ifdef __GNUC__
|
|
typedef unsigned long long uint64;
|
|
typedef long long int64;
|
|
#else
|
|
typedef unsigned __int64 uint64;
|
|
typedef signed __int64 int64;
|
|
#endif
|
|
|
|
const uint8 cUINT8_MIN = 0;
|
|
const uint8 cUINT8_MAX = 0xFFU;
|
|
const uint16 cUINT16_MIN = 0;
|
|
const uint16 cUINT16_MAX = 0xFFFFU;
|
|
const uint32 cUINT32_MIN = 0;
|
|
const uint32 cUINT32_MAX = 0xFFFFFFFFU;
|
|
const uint64 cUINT64_MIN = 0;
|
|
const uint64 cUINT64_MAX = 0xFFFFFFFFFFFFFFFFULL; //0xFFFFFFFFFFFFFFFFui64;
|
|
|
|
const int8 cINT8_MIN = -128;
|
|
const int8 cINT8_MAX = 127;
|
|
const int16 cINT16_MIN = -32768;
|
|
const int16 cINT16_MAX = 32767;
|
|
const int32 cINT32_MIN = (-2147483647 - 1);
|
|
const int32 cINT32_MAX = 2147483647;
|
|
const int64 cINT64_MIN = (int64)0x8000000000000000ULL; //(-9223372036854775807i64 - 1);
|
|
const int64 cINT64_MAX = (int64)0x7FFFFFFFFFFFFFFFULL; // 9223372036854775807i64;
|
|
|
|
#if CRNLIB_64BIT_POINTERS
|
|
typedef uint64 uint_ptr;
|
|
typedef uint64 uint32_ptr;
|
|
typedef int64 signed_size_t;
|
|
typedef uint64 ptr_bits_t;
|
|
#else
|
|
typedef unsigned int uint_ptr;
|
|
typedef unsigned int uint32_ptr;
|
|
typedef signed int signed_size_t;
|
|
typedef uint32 ptr_bits_t;
|
|
#endif
|
|
|
|
enum eVarArg { cVarArg };
|
|
enum eClear { cClear };
|
|
enum eNoClamp { cNoClamp };
|
|
enum { cInvalidIndex = -1 };
|
|
|
|
const uint cIntBits = 32;
|
|
|
|
struct empty_type { };
|
|
|
|
} // namespace crnlib
|