74 if (pArray[i] != nFillValue)
80 static inline bool IsFilledSize(
const void* pArray,
size_t nArraySizeBytes,
TYPE nFillValue) noexcept
83 return IsFilledQty((
const TYPE*)pArray, (
ITERATE_t)(nArraySizeBytes /
sizeof(
TYPE)), nFillValue);
92 if (pArray1[i] != pArray2[i])
104 if (pArray1[i] != pArray2[i])
105 return (
COMPARE_t)(pArray1[i] - pArray2[i]);
110 template <
class TYPE>
118 pArray[i] = nFillValue;
121 template <
class TYPE>
131 template <
class TYPE>
132 static inline void FillSize(
void* pArray,
size_t nArraySizeBytes,
TYPE nFillValue) noexcept
140 template <
class TYPE>
150 template <
class TYPE>
161 template <
class TYPE>
167 size_t nQty = nArraySizeBytes /
sizeof(
TYPE);
168 TYPE* pMemBS = pArray;
169 TYPE* pMemBE = pArray + (nQty - 1);
170 for (; pMemBS < pMemBE; pMemBS++, pMemBE--)
172 cValT::Swap<TYPE>(*pMemBS, *pMemBE);
175 static void GRAYCALL ReverseArrayBlocks(
void* pArray,
size_t nArraySizeBytes,
size_t iBlockSize);
179 inline void cValArray::FillQty<BYTE>(BYTE* pData,
ITERATE_t nBlocks, BYTE bFill) noexcept
182 ::memset(pData, bFill, (
size_t)nBlocks);
185 inline void cValArray::FillSize<BYTE>(
void* pData,
size_t nSizeBlock, BYTE bFill) noexcept
188 ::memset(pData, bFill, nSizeBlock);
#define GRAYCORE_LINK
Definition: GrayCore.h:47
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define TYPE
Definition: StrT.cpp:38
< The main namespace for all Core functions.
Definition: GrayCore.cpp:14
int COMPARE_t
result of compare. 0=same, 1=a>b, -1=a<b
Definition: cValT.h:17
int ITERATE_t
like size_t but signed
Definition: Index.h:28
COMPARE_TYPE
Definition: cValT.h:19
@ COMPARE_Less
VARCMP_LT.
Definition: cValT.h:22
@ COMPARE_Greater
VARCMP_GT.
Definition: cValT.h:24
@ COMPARE_Equal
VARCMP_EQ.
Definition: cValT.h:23
static bool IsFilledQty(const TYPE *pArray, ITERATE_t nBlocks, TYPE nFillValue) noexcept
Definition: cValT.h:69
static void FillQty(TYPE *pArray, ITERATE_t nBlocks, TYPE nFillValue=0) noexcept
Definition: cValT.h:111
static void ReverseArray(TYPE *pArray, size_t nArraySizeBytes) noexcept
Definition: cValT.h:162
static bool IsEqualQty(const TYPE *pArray1, const TYPE *pArray2, ITERATE_t nBlocks) noexcept
Definition: cValT.h:87
static void CopyQtyRev(TYPE *pDst, const TYPE *pSrc, ITERATE_t nBlocks) noexcept
Definition: cValT.h:151
static void FillSize(void *pArray, size_t nArraySizeBytes, TYPE nFillValue) noexcept
Definition: cValT.h:132
static void ZeroQty(TYPE *pArray, ITERATE_t nBlocks) noexcept
Definition: cValT.h:122
static bool IsFilledSize(const void *pArray, size_t nArraySizeBytes, TYPE nFillValue) noexcept
Definition: cValT.h:80
static COMPARE_t CompareQty(const TYPE *pArray1, const TYPE *pArray2, ITERATE_t nBlocks) noexcept
Definition: cValT.h:99
static void CopyQty(TYPE *pDst, const TYPE *pSrc, ITERATE_t nBlocks) noexcept
Definition: cValT.h:141
static void Swap(TYPE &a, TYPE &b) noexcept
Definition: cValT.h:34
static COMPARE_t Compare(const TYPE &a, const TYPE &b) noexcept
Definition: cValT.h:46