stdint.h
Engine/source/platformWin32/stdint.h
Public Defines
define
_W64()
define
INT16_C(val) val##i16
define
INT16_MAX() _I16_MAX
define
INT16_MIN() (()_I16_MIN)
define
INT32_C(val) val##i32
define
INT32_MAX() _I32_MAX
define
INT32_MIN() (()_I32_MIN)
define
INT64_C(val) val##i64
define
INT64_MAX() _I64_MAX
define
INT64_MIN() (()_I64_MIN)
define
INT8_C(val) val##i8
define
INT8_MAX() _I8_MAX
define
INT8_MIN() (()_I8_MIN)
define
define
define
define
define
define
define
define
define
define
define
define
define
define
define
define
define
INTMAX_C()
define
define
define
define
define
PTRDIFF_MAX() _I32_MAX
define
PTRDIFF_MIN() _I32_MIN
define
SIG_ATOMIC_MAX() INT_MAX
define
SIG_ATOMIC_MIN() INT_MIN
define
SIZE_MAX() _UI32_MAX
define
UINT16_C(val) val##ui16
define
UINT16_MAX() _UI16_MAX
define
UINT32_C(val) val##ui32
define
UINT32_MAX() _UI32_MAX
define
UINT64_C(val) val##ui64
define
UINT64_MAX() _UI64_MAX
define
UINT8_C(val) val##ui8
define
UINT8_MAX() _UI8_MAX
define
define
define
define
define
define
define
define
define
define
define
define
WCHAR_MAX() _UI16_MAX
define
WCHAR_MIN() 0
define
WINT_MAX() _UI16_MAX
define
WINT_MIN() 0
Public Typedefs
signed short
int16_t
signed int
int32_t
signed __int64
int64_t
signed char
int8_t
int_fast16_t
int_fast32_t
int_fast64_t
int_fast8_t
int_least16_t
int_least32_t
int_least64_t
int_least8_t
intmax_t
_W64 signed int
intptr_t
unsigned short
uint16_t
unsigned int
uint32_t
unsigned __int64
uint64_t
unsigned char
uint8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
uint_fast8_t
uint_least16_t
uint_least32_t
uint_least64_t
uint_least8_t
uintmax_t
_W64 unsigned int
uintptr_t
Detailed Description
Public Defines
_W64()
INT16_C(val) val##i16
INT16_MAX() _I16_MAX
INT16_MIN() (()_I16_MIN)
INT32_C(val) val##i32
INT32_MAX() _I32_MAX
INT32_MIN() (()_I32_MIN)
INT64_C(val) val##i64
INT64_MAX() _I64_MAX
INT64_MIN() (()_I64_MIN)
INT8_C(val) val##i8
INT8_MAX() _I8_MAX
INT8_MIN() (()_I8_MIN)
INT_FAST16_MAX()
INT_FAST16_MIN()
INT_FAST32_MAX()
INT_FAST32_MIN()
INT_FAST64_MAX()
INT_FAST64_MIN()
INT_FAST8_MAX()
INT_FAST8_MIN()
INT_LEAST16_MAX()
INT_LEAST16_MIN()
INT_LEAST32_MAX()
INT_LEAST32_MIN()
INT_LEAST64_MAX()
INT_LEAST64_MIN()
INT_LEAST8_MAX()
INT_LEAST8_MIN()
INTMAX_C()
INTMAX_MAX()
INTMAX_MIN()
INTPTR_MAX()
INTPTR_MIN()
PTRDIFF_MAX() _I32_MAX
PTRDIFF_MIN() _I32_MIN
SIG_ATOMIC_MAX() INT_MAX
SIG_ATOMIC_MIN() INT_MIN
SIZE_MAX() _UI32_MAX
UINT16_C(val) val##ui16
UINT16_MAX() _UI16_MAX
UINT32_C(val) val##ui32
UINT32_MAX() _UI32_MAX
UINT64_C(val) val##ui64
UINT64_MAX() _UI64_MAX
UINT8_C(val) val##ui8
UINT8_MAX() _UI8_MAX
UINT_FAST16_MAX()
UINT_FAST32_MAX()
UINT_FAST64_MAX()
UINT_FAST8_MAX()
UINT_LEAST16_MAX()
UINT_LEAST32_MAX()
UINT_LEAST64_MAX()
UINT_LEAST8_MAX()
UINTMAX_C()
UINTMAX_MAX()
UINTPTR_MAX()
WCHAR_MAX() _UI16_MAX
WCHAR_MIN() 0
WINT_MAX() _UI16_MAX
WINT_MIN() 0
Public Typedefs
typedef signed short int16_t
typedef signed int int32_t
typedef signed __int64 int64_t
typedef signed char int8_t
typedef int16_t int_fast16_t
typedef int32_t int_fast32_t
typedef int64_t int_fast64_t
typedef int8_t int_fast8_t
typedef int16_t int_least16_t
typedef int32_t int_least32_t
typedef int64_t int_least64_t
typedef int8_t int_least8_t
typedef int64_t intmax_t
typedef _W64 signed int intptr_t
typedef unsigned short uint16_t
typedef unsigned int uint32_t
typedef unsigned __int64 uint64_t
typedef unsigned char uint8_t
typedef uint16_t uint_fast16_t
typedef uint32_t uint_fast32_t
typedef uint64_t uint_fast64_t
typedef uint8_t uint_fast8_t
typedef uint16_t uint_least16_t
typedef uint32_t uint_least32_t
typedef uint64_t uint_least64_t
typedef uint8_t uint_least8_t
typedef uint64_t uintmax_t
typedef _W64 unsigned int uintptr_t
1 2// ISO C9x compliant stdint.h for Microsoft Visual Studio 3// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 4// 5// Copyright (c) 2006-2013 Alexander Chemeris 6// 7// Redistribution and use in source and binary forms, with or without 8// modification, are permitted provided that the following conditions are met: 9// 10// 1. Redistributions of source code must retain the above copyright notice, 11// this list of conditions and the following disclaimer. 12// 13// 2. Redistributions in binary form must reproduce the above copyright 14// notice, this list of conditions and the following disclaimer in the 15// documentation and/or other materials provided with the distribution. 16// 17// 3. Neither the name of the product nor the names of its contributors may 18// be used to endorse or promote products derived from this software 19// without specific prior written permission. 20// 21// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 22// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 23// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 24// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 30// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31// 32/////////////////////////////////////////////////////////////////////////////// 33 34#ifndef _MSC_VER // [ 35#error "Use this header only with Microsoft Visual C++ compilers!" 36#endif // _MSC_VER ] 37 38#ifndef _MSC_STDINT_H_ // [ 39#define _MSC_STDINT_H_ 40 41#if _MSC_VER > 1000 42#pragma once 43#endif 44 45#if _MSC_VER >= 1600 // [ 46#include <stdint.h> 47#else // ] _MSC_VER >= 1600 [ 48 49#include <limits.h> 50 51// For Visual Studio 6 in C++ mode and for many Visual Studio versions when 52// compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}' 53// or compiler give many errors like this: 54// error C2733: second C linkage of overloaded function 'wmemchr' not allowed 55#ifdef __cplusplus 56extern "C" { 57#endif 58# include <wchar.h> 59#ifdef __cplusplus 60} 61#endif 62 63// Define _W64 macros to mark types changing their size, like intptr_t. 64#ifndef _W64 65# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 66# define _W64 __w64 67# else 68# define _W64 69# endif 70#endif 71 72 73// 7.18.1 Integer types 74 75// 7.18.1.1 Exact-width integer types 76 77// Visual Studio 6 and Embedded Visual C++ 4 doesn't 78// realize that, e.g. char has the same size as __int8 79// so we give up on __intX for them. 80#if (_MSC_VER < 1300) 81 typedef signed char int8_t; 82 typedef signed short int16_t; 83 typedef signed int int32_t; 84 typedef unsigned char uint8_t; 85 typedef unsigned short uint16_t; 86 typedef unsigned int uint32_t; 87#else 88 typedef signed __int8 int8_t; 89 typedef signed __int16 int16_t; 90 typedef signed __int32 int32_t; 91 typedef unsigned __int8 uint8_t; 92 typedef unsigned __int16 uint16_t; 93 typedef unsigned __int32 uint32_t; 94#endif 95typedef signed __int64 int64_t; 96typedef unsigned __int64 uint64_t; 97 98 99// 7.18.1.2 Minimum-width integer types 100typedef int8_t int_least8_t; 101typedef int16_t int_least16_t; 102typedef int32_t int_least32_t; 103typedef int64_t int_least64_t; 104typedef uint8_t uint_least8_t; 105typedef uint16_t uint_least16_t; 106typedef uint32_t uint_least32_t; 107typedef uint64_t uint_least64_t; 108 109// 7.18.1.3 Fastest minimum-width integer types 110typedef int8_t int_fast8_t; 111typedef int16_t int_fast16_t; 112typedef int32_t int_fast32_t; 113typedef int64_t int_fast64_t; 114typedef uint8_t uint_fast8_t; 115typedef uint16_t uint_fast16_t; 116typedef uint32_t uint_fast32_t; 117typedef uint64_t uint_fast64_t; 118 119// 7.18.1.4 Integer types capable of holding object pointers 120#ifdef _WIN64 // [ 121 typedef signed __int64 intptr_t; 122 typedef unsigned __int64 uintptr_t; 123#else // _WIN64 ][ 124 typedef _W64 signed int intptr_t; 125 typedef _W64 unsigned int uintptr_t; 126#endif // _WIN64 ] 127 128// 7.18.1.5 Greatest-width integer types 129typedef int64_t intmax_t; 130typedef uint64_t uintmax_t; 131 132 133// 7.18.2 Limits of specified-width integer types 134 135#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259 136 137// 7.18.2.1 Limits of exact-width integer types 138#define INT8_MIN ((int8_t)_I8_MIN) 139#define INT8_MAX _I8_MAX 140#define INT16_MIN ((int16_t)_I16_MIN) 141#define INT16_MAX _I16_MAX 142#define INT32_MIN ((int32_t)_I32_MIN) 143#define INT32_MAX _I32_MAX 144#define INT64_MIN ((int64_t)_I64_MIN) 145#define INT64_MAX _I64_MAX 146#define UINT8_MAX _UI8_MAX 147#define UINT16_MAX _UI16_MAX 148#define UINT32_MAX _UI32_MAX 149#define UINT64_MAX _UI64_MAX 150 151// 7.18.2.2 Limits of minimum-width integer types 152#define INT_LEAST8_MIN INT8_MIN 153#define INT_LEAST8_MAX INT8_MAX 154#define INT_LEAST16_MIN INT16_MIN 155#define INT_LEAST16_MAX INT16_MAX 156#define INT_LEAST32_MIN INT32_MIN 157#define INT_LEAST32_MAX INT32_MAX 158#define INT_LEAST64_MIN INT64_MIN 159#define INT_LEAST64_MAX INT64_MAX 160#define UINT_LEAST8_MAX UINT8_MAX 161#define UINT_LEAST16_MAX UINT16_MAX 162#define UINT_LEAST32_MAX UINT32_MAX 163#define UINT_LEAST64_MAX UINT64_MAX 164 165// 7.18.2.3 Limits of fastest minimum-width integer types 166#define INT_FAST8_MIN INT8_MIN 167#define INT_FAST8_MAX INT8_MAX 168#define INT_FAST16_MIN INT16_MIN 169#define INT_FAST16_MAX INT16_MAX 170#define INT_FAST32_MIN INT32_MIN 171#define INT_FAST32_MAX INT32_MAX 172#define INT_FAST64_MIN INT64_MIN 173#define INT_FAST64_MAX INT64_MAX 174#define UINT_FAST8_MAX UINT8_MAX 175#define UINT_FAST16_MAX UINT16_MAX 176#define UINT_FAST32_MAX UINT32_MAX 177#define UINT_FAST64_MAX UINT64_MAX 178 179// 7.18.2.4 Limits of integer types capable of holding object pointers 180#ifdef _WIN64 // [ 181# define INTPTR_MIN INT64_MIN 182# define INTPTR_MAX INT64_MAX 183# define UINTPTR_MAX UINT64_MAX 184#else // _WIN64 ][ 185# define INTPTR_MIN INT32_MIN 186# define INTPTR_MAX INT32_MAX 187# define UINTPTR_MAX UINT32_MAX 188#endif // _WIN64 ] 189 190// 7.18.2.5 Limits of greatest-width integer types 191#define INTMAX_MIN INT64_MIN 192#define INTMAX_MAX INT64_MAX 193#define UINTMAX_MAX UINT64_MAX 194 195// 7.18.3 Limits of other integer types 196 197#ifdef _WIN64 // [ 198# define PTRDIFF_MIN _I64_MIN 199# define PTRDIFF_MAX _I64_MAX 200#else // _WIN64 ][ 201# define PTRDIFF_MIN _I32_MIN 202# define PTRDIFF_MAX _I32_MAX 203#endif // _WIN64 ] 204 205#define SIG_ATOMIC_MIN INT_MIN 206#define SIG_ATOMIC_MAX INT_MAX 207 208#ifndef SIZE_MAX // [ 209# ifdef _WIN64 // [ 210# define SIZE_MAX _UI64_MAX 211# else // _WIN64 ][ 212# define SIZE_MAX _UI32_MAX 213# endif // _WIN64 ] 214#endif // SIZE_MAX ] 215 216// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h> 217#ifndef WCHAR_MIN // [ 218# define WCHAR_MIN 0 219#endif // WCHAR_MIN ] 220#ifndef WCHAR_MAX // [ 221# define WCHAR_MAX _UI16_MAX 222#endif // WCHAR_MAX ] 223 224#define WINT_MIN 0 225#define WINT_MAX _UI16_MAX 226 227#endif // __STDC_LIMIT_MACROS ] 228 229 230// 7.18.4 Limits of other integer types 231 232#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 233 234// 7.18.4.1 Macros for minimum-width integer constants 235 236#define INT8_C(val) val##i8 237#define INT16_C(val) val##i16 238#define INT32_C(val) val##i32 239#define INT64_C(val) val##i64 240 241#define UINT8_C(val) val##ui8 242#define UINT16_C(val) val##ui16 243#define UINT32_C(val) val##ui32 244#define UINT64_C(val) val##ui64 245 246// 7.18.4.2 Macros for greatest-width integer constants 247// These #ifndef's are needed to prevent collisions with <boost/cstdint.hpp>. 248// Check out Issue 9 for the details. 249#ifndef INTMAX_C // [ 250# define INTMAX_C INT64_C 251#endif // INTMAX_C ] 252#ifndef UINTMAX_C // [ 253# define UINTMAX_C UINT64_C 254#endif // UINTMAX_C ] 255 256#endif // __STDC_CONSTANT_MACROS ] 257 258#endif // _MSC_VER >= 1600 ] 259 260#endif // _MSC_STDINT_H_ ] 261