21#if defined(__DOXYGEN__)
48#elif defined(_MSC_VER)
71#elif defined(__INT8_TYPE__) && defined(__UINT8_TYPE__) && \
72 defined(__INT16_TYPE__) && defined(__UINT16_TYPE__) && \
73 defined(__INT32_TYPE__) && defined(__UINT32_TYPE__) && \
74 defined(__INT64_TYPE__) && defined(__UINT64_TYPE__) && \
75 defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__) && \
76 defined(__SIZE_TYPE__) && defined(__PTRDIFF_TYPE__)
91#elif defined(__CPPCHECK__)
107#error "Unsupported compiler: fixed-width predefined types are unavailable"
115#if defined(__cplusplus)
118#elif defined(_MSC_VER) && !defined(__clang__)
127#define SGL_FALSE ((sgl_bool_t)0)
129#define SGL_TRUE ((sgl_bool_t)1)
131#define SGL_SIZE_MAX (~(sgl_size_t)0U)
133#if defined(__cplusplus)
138#define SGL_NULL ((void *)0)
signed long sgl_intptr_t
Signed integer capable of representing an object pointer.
unsigned long sgl_uintptr_t
Unsigned integer capable of representing an object pointer.
signed short sgl_int16_t
Signed integer with exactly 16 value bits.
double sgl_float64_t
Double-precision floating-point value.
unsigned long long sgl_uint64_t
Unsigned integer with exactly 64 value bits.
signed long sgl_ptrdiff_t
Signed type used for pointer differences.
unsigned short sgl_uint16_t
Unsigned integer with exactly 16 value bits.
float sgl_float32_t
Single-precision floating-point value.
signed long long sgl_int64_t
Signed integer with exactly 64 value bits.
signed char sgl_int8_t
Signed integer with exactly 8 value bits.
_Bool sgl_bool_t
Boolean type mapped to the language/compiler representation.
signed int sgl_int32_t
Signed integer with exactly 32 value bits.
unsigned int sgl_uint32_t
Unsigned integer with exactly 32 value bits.
unsigned long sgl_size_t
Unsigned type used for object sizes and byte counts.
unsigned char sgl_uint8_t
Unsigned integer with exactly 8 value bits.