32#error "Use this header only with Microsoft Visual C++ compilers!"
47#if (_MSC_VER < 1300) && defined(__cplusplus)
51#if (_MSC_VER < 1300) && defined(__cplusplus)
102#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
105#define INT8_MIN (static_cast<int8_t>(_I8_MIN))
106#define INT8_MAX _I8_MAX
107#define INT16_MIN (static_cast<int16_t>(_I16_MIN))
108#define INT16_MAX _I16_MAX
109#define INT32_MIN (static_cast<int32_t>(_I32_MIN))
110#define INT32_MAX _I32_MAX
111#define INT64_MIN (static_cast<int64_t>(_I64_MIN))
112#define INT64_MAX _I64_MAX
113#define UINT8_MAX _UI8_MAX
114#define UINT16_MAX _UI16_MAX
115#define UINT32_MAX _UI32_MAX
116#define UINT64_MAX _UI64_MAX
119#define INT_LEAST8_MIN INT8_MIN
120#define INT_LEAST8_MAX INT8_MAX
121#define INT_LEAST16_MIN INT16_MIN
122#define INT_LEAST16_MAX INT16_MAX
123#define INT_LEAST32_MIN INT32_MIN
124#define INT_LEAST32_MAX INT32_MAX
125#define INT_LEAST64_MIN INT64_MIN
126#define INT_LEAST64_MAX INT64_MAX
127#define UINT_LEAST8_MAX UINT8_MAX
128#define UINT_LEAST16_MAX UINT16_MAX
129#define UINT_LEAST32_MAX UINT32_MAX
130#define UINT_LEAST64_MAX UINT64_MAX
133#define INT_FAST8_MIN INT8_MIN
134#define INT_FAST8_MAX INT8_MAX
135#define INT_FAST16_MIN INT16_MIN
136#define INT_FAST16_MAX INT16_MAX
137#define INT_FAST32_MIN INT32_MIN
138#define INT_FAST32_MAX INT32_MAX
139#define INT_FAST64_MIN INT64_MIN
140#define INT_FAST64_MAX INT64_MAX
141#define UINT_FAST8_MAX UINT8_MAX
142#define UINT_FAST16_MAX UINT16_MAX
143#define UINT_FAST32_MAX UINT32_MAX
144#define UINT_FAST64_MAX UINT64_MAX
148#define INTPTR_MIN INT64_MIN
149#define INTPTR_MAX INT64_MAX
150#define UINTPTR_MAX UINT64_MAX
152#define INTPTR_MIN INT32_MIN
153#define INTPTR_MAX INT32_MAX
154#define UINTPTR_MAX UINT32_MAX
158#define INTMAX_MIN INT64_MIN
159#define INTMAX_MAX INT64_MAX
160#define UINTMAX_MAX UINT64_MAX
165#define PTRDIFF_MIN _I64_MIN
166#define PTRDIFF_MAX _I64_MAX
168#define PTRDIFF_MIN _I32_MIN
169#define PTRDIFF_MAX _I32_MAX
172#define SIG_ATOMIC_MIN INT_MIN
173#define SIG_ATOMIC_MAX INT_MAX
177#define SIZE_MAX _UI64_MAX
179#define SIZE_MAX _UI32_MAX
188#define WCHAR_MAX _UI16_MAX
192#define WINT_MAX _UI16_MAX
198#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
202#define INT8_C(val) val##i8
203#define INT16_C(val) val##i16
204#define INT32_C(val) val##i32
205#define INT64_C(val) val##i64
207#define UINT8_C(val) val##ui8
208#define UINT16_C(val) val##ui16
209#define UINT32_C(val) val##ui32
210#define UINT64_C(val) val##ui64
213#define INTMAX_C INT64_C
214#define UINTMAX_C UINT64_C
unsigned __int16 uint16_t
unsigned __int32 uint32_t
unsigned __int64 uint64_t