32 #define MAKEDWORD(low, high) ((UINT32)(((WORD)(low)) | (((UINT32)((WORD)(high))) << 16)))
45 operator WORD() const noexcept
49 void operator = (WORD w) noexcept
55 #ifdef USE_LITTLE_ENDIAN
81 operator UINT32() const noexcept
85 void operator = (UINT32 dw) noexcept
92 #ifdef USE_LITTLE_ENDIAN
124 operator UINT64() const noexcept
128 void operator = (UINT64 qw) noexcept
136 #ifdef USE_LITTLE_ENDIAN
150 template<
typename TYPE =
int >
172 #define CTYPE_DEF(a,_TYPE,c,d,e,f,g,h) template<> const _TYPE cTypeLimit<_TYPE>::k_Min = e; template<> const _TYPE cTypeLimit<_TYPE>::k_Max = f; const BYTE cTypeLimit<_TYPE>::k_TypeFlags = (c);
184 template<
typename TYPE >
193 template<
typename TYPE >
201 template<
typename TYPE >
208 return a == 0 || ::isnormal(a);
#define GRAYCORE_LINK
Definition: GrayCore.h:47
#define CATTR_PACKED
Definition: GrayCore.h:87
#define TYPE
Definition: StrT.cpp:38
< The main namespace for all Core functions.
Definition: GrayCore.cpp:14
CTYPE_FLAG_TYPE_
Definition: cTypes.h:17
@ CTYPE_FLAG_Float
Floating point. double or float.
Definition: cTypes.h:22
@ CTYPE_FLAG_UNUSED
This type is just a placeholder. don't use it.
Definition: cTypes.h:28
@ CTYPE_FLAG_Time
Number represents a time. number of time units from some epoch.
Definition: cTypes.h:23
@ CTYPE_FLAG_NumSigned
a signed numeric value. float or int.
Definition: cTypes.h:21
@ CTYPE_FLAG_StringA
UTF8 format string.
Definition: cTypes.h:26
@ CTYPE_FLAG_Alloc
Contains pointer to allocated memory. variable length? Blob?
Definition: cTypes.h:25
@ CTYPE_FLAG_Numeric
A numeric value of some sort. (maybe time, float or int)
Definition: cTypes.h:20
@ CTYPE_FLAG_StringW
UNICODE format string.
Definition: cTypes.h:27
@ CTYPE_FLAG_Array
An array of stuff.
Definition: cTypes.h:24
static bool IsFinite(TYPE a) noexcept
Definition: cTypes.h:202
static bool IsNaN(TYPE a) noexcept
Definition: cTypes.h:185
static bool IsInfinite(TYPE a)
Definition: cTypes.h:194
static const TYPE k_Min
Min value TYPE can represent. negative if signed type. NOT EPSILON (near zero). e....
Definition: cTypes.h:156
static bool isNumSigned() noexcept
Definition: cTypes.h:160
static const BYTE k_TypeFlags
CTYPE_FLAG_TYPE_ = float, signed, etc ?
Definition: cTypes.h:158
static const TYPE k_Max
Max positive value. Can equal this value. inclusive. AKA INT_MAX, FLT_MAX, DBL_MAX.
Definition: cTypes.h:157
short u_s
Definition: cTypes.h:44
BYTE m_Lo
Definition: cTypes.h:60
BYTE m_Hi
Definition: cTypes.h:59
WORD u_w
16 bit words
Definition: cTypes.h:43
cUnion16 m_Lo
Definition: cTypes.h:97
float u_f
32 bit float.
Definition: cTypes.h:79
cUnion16 m_Hi
Definition: cTypes.h:96
UINT32 u_dw
32 bit unsigned
Definition: cTypes.h:78
INT64 u_iq
64 bits = QuadPart = LONGLONG.
Definition: cTypes.h:123
double u_d
assumed to be 64 bits.
Definition: cTypes.h:119
cUnion32 m_Hi
Definition: cTypes.h:140
cUnion32 m_Lo
Definition: cTypes.h:141
UINT64 u_qw
64 bits = QuadPart = ULONGLONG.
Definition: cTypes.h:122