![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
< The main namespace for all Core functions. More...
Namespaces | |
InterlockedN | |
Typedefs | |
typedef const FILECHAR_t *const * | APP_ARGS_t |
the args passed to main() nullptr terminated array. More... | |
typedef cArraySortString< char > | cArraySortStringA |
typedef cArraySortString< wchar_t > | cArraySortStringW |
typedef cArrayString< char > | cArrayStringA |
typedef cArrayString< wchar_t > | cArrayStringW |
typedef HASHCODE32_t | ATOMCODE_t |
Encode a atom as a 32 bit hashcode instead of using its name/pointer. StrT::GetHashCode32() More... | |
typedef cRefPtr< cAtomDef > | cAtomDefPtr |
typedef unsigned short | BIT_SIZE_t |
number of bits in some intrinsic type. <= 256 ? More... | |
typedef unsigned int | BIT_ENUM_t |
Enumerate number of bits or address a single bit in some array of bits. More... | |
typedef const cDebugSourceLine & | src |
typedef cStringT< LOGCHAR_t > | cStringL |
Log string. More... | |
typedef UINT32 | OF_FLAGS_t |
Mask of file open flags OF_FLAGS_TYPE_. More... | |
typedef cExceptionHResult | CFileException |
typedef cStringT< FILECHAR_t > | cStringF |
A file name. checks USE_UNICODE_FN. related to cFilePath. More... | |
typedef WORD | FILECHR_MASK_t |
Mask of enum FILECHR_TYPE_. More... | |
typedef UINT64 | FILE_SIZE_t |
similar to STREAM_POS_t size_t More... | |
typedef UINT32 | FILEATTR_MASK_t |
typedef int | FILEDESC_t |
Posix file descriptor id for std C. used for separate _fileno in FILE*. More... | |
typedef int | IPROPIDX_t |
enumerate known properties for some interface/object/class. similar to SCRIPTPROPID_t More... | |
typedef char | IniChar_t |
char format even on UNICODE system! Screw M$, INI files should ALWAYS have UTF8 contents More... | |
typedef cStringT< IniChar_t > | cStringI |
A .INI file string. More... | |
typedef cRefPtr< cIniSectionEntry > | cIniSectionEntryPtr |
typedef INT32 | INTER32_t |
Interlock intrinsic type as INT32. More... | |
typedef __DECL_IMPORT cIUnkPtr | cIUnkBasePtr |
typedef UINT32 | LOG_ATTR_MASK_t |
typedef cRefPtr< cLogEvent > | cLogEventPtr |
typedef char | LOGCHAR_t |
always just use UTF8 for logs, don't bother with UNICODE. More... | |
typedef cRefPtr< cMemPage > | cMemPagePtr |
typedef LONG_PTR | STREAM_OFFSET_t |
Might be 64 or 32 bit. TODO SET USE_FILE_POS64. More... | |
typedef LONG_PTR | STREAM_SEEKRET_t |
return from Seek() More... | |
typedef ULONG_PTR | STREAM_POS_t |
NOT same as FILE_SIZE_t in 32 bit. Why not ? More... | |
typedef cOSModuleFunc< FARPROC > | cOSModuleFuncGeneric |
typedef __DECL_IMPORT cRefPtr | cRefBasePtr |
typedef WORD | RESOURCEID_t |
A resource in .RC attached to a file/module. like MAKEINTRESOURCE(). https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-makeintresourcea. More... | |
typedef cStreamProgressT< STREAM_POS_t > | cStreamProgress |
typedef cRefPtr< CStringData > | CStringDataPtr |
Pointer to hold a ref to the string data so i can thread lock it. More... | |
typedef cStringT< wchar_t > | cStringW |
typedef cStringT< char > | cStringA |
typedef cStringT< GChar_t > | cString |
typedef cString | CString |
typedef THREAD_EXITCODE_t(_stdcall * | THREAD_FUNC_t) (void *) |
typedef cLockerT< cThreadLockFast > | cThreadGuardFast |
typedef cLockerT< cThreadLockMutex > | cThreadGuardMutex |
typedef cThreadLockMutex | cThreadLockCrit |
typedef cThreadLockStub | cThreadLockCount |
typedef cLockerT< cThreadLockCount > | cThreadGuard |
typedef cThreadLockRef< cThreadLockableRef > | cThreadLockRefX |
typedef cLockerT< cThreadLockRW > | cThreadGuardWrite |
typedef UINT64 | FILETIME_t |
replace FILETIME for 64 bit math. Absolute 64-bit 100-nanosecond since January 1, 1601 GMT More... | |
typedef int | TIMESECD_t |
signed delta seconds. like TIMESEC_t. redefined in TimeUnits.h. More... | |
typedef float | TIMESECF_t |
delta float seconds. More... | |
typedef UINT32 | TIMESYS_t |
TIMESYS_t = The normal system tick timer. milli-seconds since start of system/app ? More... | |
typedef INT32 | TIMESYSD_t |
Time delta. signed milli-Seconds Span. cTimeSys::k_DMAX, cTimeSys::k_INF = MAILSLOT_WAIT_FOREVER. More... | |
typedef UINT64 | TIMEPERF_t |
The system very high precision performance timer. cTimeSpec. More... | |
typedef time_t | TIMESEC_t |
absolute seconds since January 1, 1970. (GMT?)(signed) NOTE: Changing to __time64_t just adds more range with same values. (>2038) More... | |
typedef short | TIMEUNIT_t |
Arbitrary time unit. (e.g. number of minutes or seconds). Allow negative for null ? Max 16 bits. More... | |
typedef std::type_info | TYPEINFO_t |
typedef int | COMPARE_t |
result of compare. 0=same, 1=a>b, -1=a<b More... | |
typedef char | FILECHAR_t |
a UTF8 char in a file name. like TCHAR More... | |
typedef UINT_PTR | HASHCODE_t |
could hold a pointer converted to a number? maybe 64 or 32 bit ? same as size_t. More... | |
typedef UINT32 | HASHCODE32_t |
always 32 bits. More... | |
typedef LONG | LSTATUS |
AKA error_status_t. FACILITY_WIN32 codes returned from RegCreateKeyEx() etc. Maybe NOT GetLastError() since it CAN sometimes return HRESULT. More... | |
typedef int | ITERATE_t |
like size_t but signed More... | |
typedef size_t | COUNT_t |
like size_t but a count of things that might NOT be bytes. ASSUME unsigned. _countof(x) More... | |
typedef WORD | RADIX_t |
Base for convert of numbers to strings. e.g. 10 base vs 16 base hex numbers. More... | |
typedef char | ATOMCHAR_t |
the char form (UNICODE or not) for an atom. (for symbolic names) More... | |
typedef char | GChar_t |
My version of TCHAR, _TCHAR. More... | |
typedef int | StrLen_t |
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters. NOT always valid for (p1-p2) for 32vs64 bit code. More... | |
typedef UINT32 | STR_BLOCKS_t |
bit mask of STR_BLOCK_TYPE More... | |
typedef UINT32 | STRP_MASK_t |
bit mask of STRP_TYPE_ More... | |
typedef void(__cdecl * | JMP_t) (int) |
Functions | |
template<class TYPE > | |
void __cdecl | ConstructElements (TYPE *pElements, ITERATE_t nCount) |
template<class TYPE > | |
void __cdecl | DestructElements (TYPE *pElements, ITERATE_t nCount) |
template<class TYPE > | |
void __cdecl | CopyElements (TYPE *pDest, const TYPE *pSrc, ITERATE_t nCount) |
template<> | |
void __cdecl | CopyElements< BYTE > (BYTE *pDest, const BYTE *pSrc, ITERATE_t nCount) |
typedef | bool (CALLBACK AssertCallback_t)(const char *pszExp |
INT32 __cdecl | InterlockedCompareExchange (INT32 volatile *pDest, INT32 nValNew, INT32 nValComp) noexcept |
bool | InterlockedSetIfEqual (_Inout_ INT32 volatile *pDest, INT32 nValNew, INT32 nValComp) noexcept |
INT32 __cdecl | InterlockedIncrement (INT32 volatile *pDest) noexcept |
INT32 __cdecl | InterlockedDecrement (INT32 volatile *pDest) noexcept |
INT32 __cdecl | InterlockedExchange (INT32 volatile *pDest, INT32 Value) noexcept |
INT32 __cdecl | InterlockedExchangeAdd (INT32 volatile *pDest, INT32 Value) noexcept |
INT64 __cdecl | _InterlockedCompareExchange64 (_Inout_ INT64 volatile *pDest, IN INT64 nValNew, IN INT64 nValComp) noexcept |
bool | _InterlockedSetIfEqual64 (_Inout_ INT64 volatile *pDest, INT64 nValNew, INT64 nValComp) noexcept |
INT64 __cdecl | _InterlockedIncrement64 (_Inout_ INT64 volatile *pDest) noexcept |
INT64 __cdecl | _InterlockedDecrement64 (_Inout_ INT64 volatile *pDest) noexcept |
INT64 __cdecl | _InterlockedExchange64 (_Inout_ INT64 volatile *pDest, IN INT64 Value) noexcept |
INT64 __cdecl | _InterlockedExchangeAdd64 (_Inout_ INT64 volatile *pDest, IN INT64 Value) noexcept |
typedef | __DECL_ALIGN (4) cInterlockedVal< INT32 > cInterlockedInt32 |
typedef | __DECL_ALIGN (8) cInterlockedVal< INT64 > cInterlockedInt64 |
cStringA | operator+ (const char *pStr1, const cStringA &s2) |
cStringW | operator+ (const wchar_t *pStr1, const cStringW &s2) |
template<typename _TYPE_CH > | |
void | operator>> (cArchive &ar, cStringT< _TYPE_CH > &pOb) |
template<typename _TYPE_CH > | |
void | operator<< (cArchive &ar, const cStringT< _TYPE_CH > &pOb) |
bool | operator< (const cTimeDouble &dt1, const cTimeDouble &dt2) |
bool | operator<= (const cTimeDouble &dt1, const cTimeDouble &dt2) |
bool | operator> (const cTimeDouble &dt1, const cTimeDouble &dt2) |
bool | operator>= (const cTimeDouble &dt1, const cTimeDouble &dt2) |
bool | operator== (const cTimeDouble &dt1, const cTimeDouble &dt2) |
bool | operator!= (const cTimeDouble &dt1, const cTimeDouble &dt2) |
cUInt64 | operator+ (const cUInt64 &roUI64_1, const cUInt64 &roUI64_2) |
cUInt64 | operator| (const cUInt64 &roUI64_1, const cUInt64 &roUI64_2) |
cUInt64 | operator& (const cUInt64 &roUI64_1, const cUInt64 &roUI64_2) |
cUInt64 | operator^ (const cUInt64 &roUI64_1, const cUInt64 &roUI64_2) |
cUInt64 | operator<< (const cUInt64 &n, BIT_ENUM_t uiBits) |
cUInt64 | operator>> (const cUInt64 &n, BIT_ENUM_t uiBits) |
class WINHEAPN(Handle) class | WINHEAPN (V) |
template<class _TYPE > | |
struct | WINHEAPN (T) |
template<class _TYPE_TO , class _TYPE_FROM > | |
bool | is_valid_cast (_TYPE_FROM *p) |
template<class _TYPE_TO , class _TYPE_FROM > | |
_TYPE_TO * | check_cast (_TYPE_FROM *p) |
template<typename TYPE > | |
__DECL_IMPORT const TYPE *__stdcall | StrArg (const char *pszStr) |
template<typename TYPE > | |
__DECL_IMPORT const TYPE *__stdcall | StrArg (const wchar_t *pszStr) |
template<typename TYPE > | |
const TYPE * | StrArg (const BYTE *pszStr) |
template<typename TYPE > | |
__DECL_IMPORT const TYPE *__stdcall | StrArg (TYPE ch, StrLen_t nRepeat=1) |
template<typename TYPE > | |
__DECL_IMPORT const TYPE *__stdcall | StrArg (INT32 iVal) |
template<typename TYPE > | |
__DECL_IMPORT const TYPE *__stdcall | StrArg (UINT32 uVal, RADIX_t uRadix=10) |
template<typename TYPE > | |
__DECL_IMPORT const TYPE *__stdcall | StrArg (INT64 iVal) |
template<typename TYPE > | |
__DECL_IMPORT const TYPE *__stdcall | StrArg (UINT64 uVal, RADIX_t uRadix=10) |
template<typename TYPE > | |
__DECL_IMPORT const TYPE *__stdcall | StrArg (double dVal) |
template<> | |
const char *__stdcall | StrArg< char > (const char *pszStr) noexcept |
template<> | |
const wchar_t *__stdcall | StrArg< wchar_t > (const wchar_t *pszStr) noexcept |
template<> | |
const BYTE *__stdcall | StrArg< BYTE > (const BYTE *pszStr) noexcept |
template<> | |
const BYTE *__stdcall | StrArg< BYTE > (const char *pszStr) noexcept |
IMPLEMENT_DYNAMIC (cException, cExceptionBase) | |
template<> | |
GRAYCORE_LINK const wchar_t *GRAYCALL | StrArg< wchar_t > (const char *pszStrInp) |
template<> | |
GRAYCORE_LINK const char *GRAYCALL | StrArg< char > (const wchar_t *pwStrInp) |
template<typename TYPE > | |
GRAYCORE_LINK const TYPE *GRAYCALL | StrArg (TYPE ch, StrLen_t nRepeat) |
template<typename TYPE > | |
GRAYCORE_LINK const TYPE *GRAYCALL | StrArg (INT32 iVal) |
template<typename TYPE > | |
GRAYCORE_LINK const TYPE *GRAYCALL | StrArg (UINT32 uVal, RADIX_t uRadix) |
template<typename TYPE > | |
GRAYCORE_LINK const TYPE *GRAYCALL | StrArg (double dVal) |
TEST_CLASS (cAppConsoleTests) | |
TEST_CLASS (cAppStateTests) | |
TEST_CLASS (cArchiveTests) | |
TEST_CLASS (cArraySortTests) | |
TEST_CLASS (cArraySortStringTests) | |
TEST_CLASS (cAtomTests) | |
TEST_CLASS (cBitsTests) | |
void | TestFunction () |
TEST_CLASS (cCodeProfilerTests) | |
__DECL_EXPORT void __stdcall | UnitTest_Write (cStreamOutput &testfile1) |
__DECL_EXPORT void __stdcall | UnitTest_Read (cStreamInput &stmIn, bool bString) |
TEST_CLASS (cFileTests) | |
void __stdcall | UnitTest_CopyTo (IFileCopier *pDst) |
void __stdcall | UnitTest_CopyFrom (IFileCopier *pSrc) |
TEST_CLASS (cFileCopierTests) | |
TEST_CLASS (cFileDirTests) | |
TEST_CLASS (cFilePathTests) | |
TEST_CLASS (cFileTextTests) | |
TEST_CLASS (cFileTextReaderTests) | |
virtual | ~ cFileTextReaderTests () noexcept(false) |
TEST_METHOD (RunTest) | |
virtual void | RunUnitTest () override |
TEST_CLASS (cFloatTests) | |
TEST_CLASS (cFloatDecoTests) | |
TEST_CLASS (cHashTableTests) | |
TEST_CLASS (cHeapTests) | |
INT_PTR __stdcall | cUnitTest_HookJump1 () |
INT_PTR __stdcall | cUnitTest_HookJump2 () |
TEST_CLASS (cHookJumpTests) | |
TEST_CLASS (cIniFileTests) | |
HRESULT | UnitTest_Section (const cIniSection *pSection) |
virtual | ~ cIniFileTests () noexcept(false) |
TEST_CLASS (cIniObjectTests) | |
virtual | ~ cIniObjectTests () noexcept(false) |
TEST_CLASS (cIniSectionTests) | |
TEST_CLASS (cInterlockedValTests) | |
TEST_CLASS (cListTests) | |
TEST_CLASS (cLogMgrTests) | |
template<class TYPE > | |
void | UnitTestMem (const TYPE nValH) |
TEST_CLASS (cMemTests) | |
TEST_CLASS (cOSHandleTests) | |
TEST_CLASS (cOSModuleTests) | |
TEST_CLASS (cOSProcessTests) | |
TEST_CLASS (cPtrTraceTests) | |
TEST_CLASS (cQueueTests) | |
TEST_CLASS (cRandomTests) | |
TEST_CLASS (cSingletonTests) | |
__DECL_EXPORT void __stdcall | UnitTest_StreamIntegrity (cStreamOutput &stmOut, cStreamInput &stmIn, size_t nSizeTotal) |
TEST_CLASS (cStreamTests) | |
template<typename _TYPE_CH > | |
void __stdcall | UnitTestStrT () |
TEST_CLASS (cStringTests) | |
TEST_CLASS (cSystemInfoTests) | |
TEST_CLASS (cThreadLockTests) | |
TEST_CLASS (cThreadLockRWTests) | |
TEST_CLASS (cTimeDoubleTests) | |
TEST_CLASS (cTimeFileTests) | |
TEST_CLASS (cTimeIntTests) | |
TEST_CLASS (cTimeSysTests) | |
TEST_CLASS (cTimeUnitsTests) | |
TEST_CLASS (cTimeZoneTests) | |
TEST_CLASS (cTypeInfoTests) | |
template<typename TYPE > | |
void | TestFloatTypes () |
void | TestInt () |
void | TestRef () |
void | TestClass1 () |
virtual | ~ cTypeInfoTests () noexcept(false) |
TEST_CLASS (cUInt64Tests) | |
bool CALLBACK | UnitTestsMs_AssertCallback (const char *pszExp, const cDebugSourceLine &src) |
TEST_MODULE_INITIALIZE (Initialize) | |
TEST_MODULE_CLEANUP (Cleanup) | |
TEST_CLASS (GrayCoreTests) | |
TEST_CLASS (HResultTests) | |
TEST_CLASS (StrATests) | |
template<typename TYPE > | |
bool __stdcall | StrArg_UnitTestT () |
TEST_CLASS (StrArgTests) | |
TEST_CLASS (StrCharTests) | |
template<typename TYPE > | |
StrLen_t | UnitTestFormat1 (typename StrFormat< TYPE >::STRFORMAT_t pFormat, TYPE *pszOut, StrLen_t nLenOut, const TYPE *pszFormat, int eArgs) |
template<typename TYPE > | |
void __stdcall | UnitTestFormatX (typename StrFormat< TYPE >::STRFORMAT_t pFormat, TYPE *pszOut, StrLen_t nLenOut) |
template<typename TYPE > | |
void __stdcall | UnitTestFormat (typename StrFormat< TYPE >::STRFORMAT_t pFormat) |
TEST_CLASS (StrFormatTests) | |
TEST_CLASS (StrNumTests) | |
TEST_CLASS (StrTTests) | |
TEST_CLASS (StrUTests) | |
DECLARE_INTERFACE (IRandomNoise) | |
Variables | |
template<typename TYPE = void> | |
class __DECL_IMPORT __DECL_ALIGN(4) cInterlockedPtr typedef cInterlockedPtr | cInterlockedPtrV |
cOSModImpl | g_Module (GRAY_NAMES "Core") |
class __DECL_IMPORT | cException |
class __DECL_IMPORT | cFileStatus |
template class __DECL_IMPORT | CArray< cFileFindEntry, const cFileFindEntry & > |
template class __DECL_IMPORT | cArrayTyped< cFileFindEntry, const cFileFindEntry & > |
template class __DECL_IMPORT | cArrayStruct< cFileFindEntry > |
template class __DECL_IMPORT | cInterlockedPtr< > |
template class __DECL_IMPORT | cInterlockedVal< long > |
template class __DECL_IMPORT | cInterlockedVal< ULONG > |
template class __DECL_IMPORT | cIUnkPtr< IUnknown > |
template class __DECL_IMPORT | cOSModuleFunc< FARPROC > |
constexpr PROCESSID_t | PROCESSID_BAD = 0 |
Invalid process id. More... | |
template class __DECL_IMPORT | cQueueRead< BYTE > |
template class __DECL_IMPORT | cQueueRW< BYTE > |
__DECL_IMPORT cRandomDef | g_Rand |
the global random number generator. NOT thread safe. but does that matter? More... | |
template class __DECL_IMPORT | cRefPtr< cRefBase > |
class __DECL_IMPORT | cStreamInput |
class __DECL_IMPORT | cStreamOutput |
class __DECL_IMPORT | cArchive |
const HASHCODE_t | k_HASHCODE_CLEAR = 0 |
not a valid index. More... | |
__DECL_IMPORT va_list | k_va_list_empty |
const ITERATE_t | k_ITERATE_BAD = -1 |
const StrLen_t | k_StrLen_UNK = -1 |
use the default/current length of the string argument. More... | |
template class GRAYCORE_LINK | CStringT< char > |
template class GRAYCORE_LINK | CStringT< wchar_t > |
template class GRAYCORE_LINK | cStringT< char > |
template class GRAYCORE_LINK | cStringT< wchar_t > |
template class GRAYCORE_LINK | StrFormat< char > |
template class GRAYCORE_LINK | StrFormat< wchar_t > |
public | cUnitTest |
< The main namespace for all Core functions.
force a template function to instantiate for TYPE of char and wchar_t. Explicit instantiation
The main namespace for all Core functions. The main/default namespace for Gray library
typedef const FILECHAR_t* const* Gray::APP_ARGS_t |
the args passed to main() nullptr terminated array.
typedef char Gray::ATOMCHAR_t |
the char form (UNICODE or not) for an atom. (for symbolic names)
typedef HASHCODE32_t Gray::ATOMCODE_t |
Encode a atom as a 32 bit hashcode instead of using its name/pointer. StrT::GetHashCode32()
typedef unsigned int Gray::BIT_ENUM_t |
Enumerate number of bits or address a single bit in some array of bits.
typedef unsigned short Gray::BIT_SIZE_t |
number of bits in some intrinsic type. <= 256 ?
typedef cArraySortString<char> Gray::cArraySortStringA |
typedef cArraySortString<wchar_t> Gray::cArraySortStringW |
typedef cArrayString<char> Gray::cArrayStringA |
typedef cArrayString<wchar_t> Gray::cArrayStringW |
typedef cRefPtr<cAtomDef> Gray::cAtomDefPtr |
typedef __DECL_IMPORT cIUnkPtr Gray::cIUnkBasePtr |
typedef cRefPtr<cLogEvent> Gray::cLogEventPtr |
typedef cRefPtr<cMemPage> Gray::cMemPagePtr |
typedef int Gray::COMPARE_t |
result of compare. 0=same, 1=a>b, -1=a<b
typedef cOSModuleFunc<FARPROC> Gray::cOSModuleFuncGeneric |
typedef size_t Gray::COUNT_t |
like size_t but a count of things that might NOT be bytes. ASSUME unsigned. _countof(x)
typedef __DECL_IMPORT cRefPtr Gray::cRefBasePtr |
typedef cStringT< GChar_t > Gray::cString |
typedef cString Gray::CString |
typedef cStringT< char > Gray::cStringA |
typedef cRefPtr<CStringData> Gray::CStringDataPtr |
Pointer to hold a ref to the string data so i can thread lock it.
typedef cStringT<FILECHAR_t> Gray::cStringF |
A file name. checks USE_UNICODE_FN. related to cFilePath.
typedef cStringT<IniChar_t> Gray::cStringI |
A .INI file string.
typedef cStringT< LOGCHAR_t > Gray::cStringL |
Log string.
typedef cStringT< wchar_t > Gray::cStringW |
typedef cLockerT<cThreadLockCount> Gray::cThreadGuard |
typedef cLockerT<cThreadLockRW> Gray::cThreadGuardWrite |
typedef UINT64 Gray::FILE_SIZE_t |
similar to STREAM_POS_t size_t
typedef UINT32 Gray::FILEATTR_MASK_t |
typedef char Gray::FILECHAR_t |
a UTF8 char in a file name. like TCHAR
typedef WORD Gray::FILECHR_MASK_t |
Mask of enum FILECHR_TYPE_.
typedef int Gray::FILEDESC_t |
Posix file descriptor id for std C. used for separate _fileno in FILE*.
typedef UINT64 Gray::FILETIME_t |
replace FILETIME for 64 bit math. Absolute 64-bit 100-nanosecond since January 1, 1601 GMT
typedef char Gray::GChar_t |
My version of TCHAR, _TCHAR.
typedef UINT32 Gray::HASHCODE32_t |
always 32 bits.
typedef UINT_PTR Gray::HASHCODE_t |
could hold a pointer converted to a number? maybe 64 or 32 bit ? same as size_t.
typedef char Gray::IniChar_t |
char format even on UNICODE system! Screw M$, INI files should ALWAYS have UTF8 contents
typedef INT32 Gray::INTER32_t |
Interlock intrinsic type as INT32.
typedef int Gray::IPROPIDX_t |
enumerate known properties for some interface/object/class. similar to SCRIPTPROPID_t
typedef int Gray::ITERATE_t |
like size_t but signed
typedef void(__cdecl * Gray::JMP_t) (int) |
typedef UINT32 Gray::LOG_ATTR_MASK_t |
typedef char Gray::LOGCHAR_t |
always just use UTF8 for logs, don't bother with UNICODE.
typedef LONG Gray::LSTATUS |
AKA error_status_t. FACILITY_WIN32 codes returned from RegCreateKeyEx() etc. Maybe NOT GetLastError() since it CAN sometimes return HRESULT.
typedef UINT32 Gray::OF_FLAGS_t |
Mask of file open flags OF_FLAGS_TYPE_.
typedef WORD Gray::RADIX_t |
Base for convert of numbers to strings. e.g. 10 base vs 16 base hex numbers.
typedef WORD Gray::RESOURCEID_t |
A resource in .RC attached to a file/module. like MAKEINTRESOURCE(). https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-makeintresourcea.
a resource id as 16 valid bits only. enum space is type specific. e.g. RT_STRING, RT_ICON, etc
typedef const cDebugSourceLine& Gray::src |
typedef UINT32 Gray::STR_BLOCKS_t |
bit mask of STR_BLOCK_TYPE
typedef LONG_PTR Gray::STREAM_OFFSET_t |
Might be 64 or 32 bit. TODO SET USE_FILE_POS64.
typedef ULONG_PTR Gray::STREAM_POS_t |
NOT same as FILE_SIZE_t in 32 bit. Why not ?
typedef LONG_PTR Gray::STREAM_SEEKRET_t |
return from Seek()
typedef int Gray::StrLen_t |
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters. NOT always valid for (p1-p2) for 32vs64 bit code.
typedef UINT32 Gray::STRP_MASK_t |
bit mask of STRP_TYPE_
typedef THREAD_EXITCODE_t(_stdcall* Gray::THREAD_FUNC_t) (void *) |
typedef UINT64 Gray::TIMEPERF_t |
The system very high precision performance timer. cTimeSpec.
typedef time_t Gray::TIMESEC_t |
absolute seconds since January 1, 1970. (GMT?)(signed) NOTE: Changing to __time64_t just adds more range with same values. (>2038)
typedef int Gray::TIMESECD_t |
signed delta seconds. like TIMESEC_t. redefined in TimeUnits.h.
signed delta seconds from some epoch.
typedef float Gray::TIMESECF_t |
delta float seconds.
typedef UINT32 Gray::TIMESYS_t |
TIMESYS_t = The normal system tick timer. milli-seconds since start of system/app ?
The absolute system milli-Second tick. (NOT the same as a time range!)
typedef INT32 Gray::TIMESYSD_t |
Time delta. signed milli-Seconds Span. cTimeSys::k_DMAX, cTimeSys::k_INF = MAILSLOT_WAIT_FOREVER.
typedef short Gray::TIMEUNIT_t |
Arbitrary time unit. (e.g. number of minutes or seconds). Allow negative for null ? Max 16 bits.
typedef std::type_info Gray::TYPEINFO_t |
http://en.wikipedia.org/wiki/Exit_status = 'errorlevel' return from POSIX process.
enum Gray::AppCon_TYPE |
enum Gray::APPSTATE_TYPE_ |
What state is the app in at the moment?
Enumerator | |
---|---|
APPSTATE_Init | static class init time. constructors called for static stuff. maybe set for single thread loading DLL dynamically. |
APPSTATE_RunInit | not static init but still init. In main() but not main loop yet. InitInstance() |
APPSTATE_Run | we are in main() main loop. Run() and OnTickApp() |
APPSTATE_RunExit | classes are being cleaned up. destructors called. Trying to exit. ExitInstance(). |
APPSTATE_Exit | static classes are being cleaned up. destructors called. |
APPSTATE_QTY |
enum Gray::AppStd_TYPE |
Standard streams/handles. True for both linux and _WIN32. (though linux implementation is hidden)
enum Gray::ASCII_TYPE |
enum Gray::BITOP_TYPE |
enum Gray::CODEPAGE_t |
enum Gray::COMPARE_TYPE |
Bitmask to describe a native data type. used for type metadata. Fit in BYTE.
enum Gray::FACILITY_TYPE |
What general group of HRESULT error codes is this? 11 bit HRESULT facility code.
enum Gray::FILEATTR_TYPE_ |
FAT, FAT32 and NTFS file attribute flags. translated to approximate linux NFS
enum Gray::FILECHR_TYPE_ |
What chars are valid for a file name. Group chars into categories and sections for use in a file name. http://en.wikipedia.org/wiki/Filename
enum Gray::FILEOP_TYPE |
enum Gray::FILESYS_TYPE |
The file system type dictates what characters are allowed in names and if the names are case sensitive. Similar to cZipFileEntry1::SYSTEM_TYPE
Other Common (non FACILITY_WIN32) HRESULT codes like E_FAIL
codes for FACILITY_WIN32. (AKA LSTATUS/error_status_t) NO_ERROR = ERROR_SUCCESS = 0
enum Gray::LOG_ATTR_TYPE_ |
Log event attributes. special controls for odd logged events. bitmask so event can have multi attributes
Enumerator | |
---|---|
LOG_ATTR_0 | |
LOG_ATTR_INIT | startup/exit stuff. category. Adding new attributes (low values) here can be used to add more categories. but use cLogSubject for that for much more flexibility. |
LOG_ATTR_SCRIPT | from some sort of scripted code exec. category. |
LOG_ATTR_NET | from network activity. category. (watch out that this is not also sent on the network as it might cause feedback) |
LOG_ATTR_ODD | This is odd/unusual behavior for client. category. Probably not a code problem but a user/security/integrity problem. |
LOG_ATTR_DEBUG | Unclassified debug stuff. category. |
LOG_ATTR_PRINT | The equiv of a printf() to console. |
LOG_ATTR_PRINTBACK | Back up over the last LOG_ATTR_PRINT. append to the last. |
LOG_ATTR_TEMP | Real time status (don't bother to log permanently) |
LOG_ATTR_INTERNAL | Do not echo this message as it may relate to my own logging internals (i.e.feedback loop) |
LOG_ATTR_NOCRLF | Don't add a FILE_EOL (CR NL) to the end of this string. this is a partial message. |
LOG_ATTR_FILTERED | Filter already checked so don't check it again. |
LOG_ATTR_CUST_MASK | |
LOG_ATTR_BASE_MASK | |
LOG_ATTR_ALL_MASK |
enum Gray::LOGLEV_TYPE |
enum Gray::MIME_TYPE |
enum Gray::OF_FLAGS_TYPE_ |
File open mode flags.
SEEK_SET defined for both linux and _WIN32 same as enum tagSTREAM_SEEK Seek Origin Type flag. SEEK_SET,SEEK_CUR,SEEK_END or FILE_BEGIN,FILE_CURRENT,FILE_END
enum Gray::STR_BLOCK_TYPE |
< quotes/brackets and parenthesis must be matched.
string block types. see k_szBlockStart[] and k_szBlockEnd[] ignore single quotes (may be unmatched apostrophe), commas ?
Enumerator | |
---|---|
STR_BLOCK_NONE | |
STR_BLOCK_QUOTE | "X" double quotes |
STR_BLOCK_CURLY | {X} curly braces |
STR_BLOCK_SQUARE | [X] brackets |
STR_BLOCK_PAREN | (X) parenthesis |
STR_BLOCK_QTY |
enum Gray::STRP_TYPE_ |
string token/separator parsing options.
Predefined/common time string formats we must be able to parse/supply. Uses similar format tags to strftime() . JavaScript/JSON normal format = ISO8601 = https://en.wikipedia.org/wiki/ISO_8601 e.g. "2012-04-23T18:25:43.511Z"
Enumerator | |
---|---|
TIME_FORMAT_DEFAULT | Default Sortable/linear/readable format. "2008/07/09 13:47:10". |
TIME_FORMAT_DB | Database default but with no TZ. "%04d-%02d-%02d %02d:%02d:%02d". |
TIME_FORMAT_TZ | Sortable Universal/GMT time = "2008-04-10 13:30:00Z". |
TIME_FORMAT_AMERICAN | Typical American style of "07/19/2008 13:47:10". |
TIME_FORMAT_HTTP | HTTP RFC1123 format "Tue, 03 Oct 2000 22:44:56 GMT". |
TIME_FORMAT_SMTP | SMTP wants this format. "7 Aug 2001 10:12:12 GMT". |
TIME_FORMAT_ISO | ISO8601 with no TZ but including the 'T' "2015/01/02T14:03:03". |
TIME_FORMAT_ISO_TZ | ISO8601 plus TZ. "2015/01/02T14:03:03EST" or "2015-11-28T10:16:42+00:00". |
TIME_FORMAT_ASN | No punctuation. e.g. "20150102140303Z". |
TIME_FORMAT_QTY | toJSON method: "2012-04-23T18:25:43.511Z" is sortable. "01/06/2016, 11:45 AM (-03:00)" // from MSSQL samples? SQL Database normal format. https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/ "06-JAN-16 05.45.00.000000000 PM" = Oracle default. |
enum Gray::TIMEDOW_TYPE |
enum Gray::TIMEMONTH_TYPE |
enum Gray::TIMEUNIT_TYPE |
Enumerate TIMEUNIT_t (16 bit max) elements of cTimeUnits and cTimeParser
Enumerator | |
---|---|
TIMEUNIT_UNUSED | Marks end. |
TIMEUNIT_Year | e.g. 2008. (1<=x<=3000) |
TIMEUNIT_Month | base 1, NOT Base 0 like = TIMEMONTH_Jan. (1<=x<=12) |
TIMEUNIT_Day | day of month. base 1. (1<=x<=31) |
TIMEUNIT_Hour | hour of day. 24 hour scale. base 0. (0<=x<=23) |
TIMEUNIT_Minute | base 0. (0<=x<=59) |
TIMEUNIT_Second | base 0. (0<=x<=59) |
TIMEUNIT_Millisecond | 1/1000 = thousandth of a second. (0<=x<=999) |
TIMEUNIT_Microsecond | millionth of a second. (0<=x<=999) |
TIMEUNIT_TZ | TZ + DST. |
TIMEUNIT_QTY | END of cTimeUnits. |
TIMEUNIT_DOW | Ignore this for units storage. its redundant. |
TIMEUNIT_Ignore | Just ignore this duplicate. We have already dealt with it. |
TIMEUNIT_Numeric | A numeric value of unknown type (parsing). |
TIMEUNIT_QTY2 | END of cTimeParser. |
Enumerate the DST rules that might exist in the world. Try to be historically accurate. May or may not use DST. http://www.worldtimezone.com/daylight.html
Enumerator | |
---|---|
TZ_DSTRULE_NONE | don't use DST at all. UTC. |
TZ_DSTRULE_AMERICAN | use the American rules for DST. |
enum Gray::TZ_TYPE |
Known/Common Time Zones. Subtract offset from UTC for specific Time Zones (and maybe DST) in minutes. e.g. 45 minutes TZ offset is possible. http://www.timeanddate.com/time/map/
Enumerator | |
---|---|
TZ_UTC | UTC = never use DST or any TZ offset. |
TZ_GMT | Greenwich mean time. similar to UTC. |
TZ_AST | |
TZ_EDT | Eastern Daylight time. |
TZ_EST | Eastern Standard Time Zone. LocalTime+offset=GMT, GMT-offset=Local (seconds) |
TZ_CST | |
TZ_MST | |
TZ_PST | Pacific Standard Time Zone. Default for Windows. |
TZ_MAX | Max offset. over this is special mapped cTimeZone. |
TZ_LOCAL | just use local time zone. might include DST ?? |
Which level/type of unit tests should we run ?
typedef Gray::__DECL_ALIGN | ( | 4 | ) |
typedef Gray::__DECL_ALIGN | ( | 8 | ) |
|
inlinenoexcept |
No native support for interlock 64, so i must implement it myself. Place 64 bit nValNew in *pDest if ( *pDest == nValComp )
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
No native support for interlock 64, so i must implement it myself. most common use of InterlockedCompareExchange It's more efficient to use the z flag than to do another compare value returned in eax
typedef Gray::bool | ( | CALLBACK | AssertCallback_t | ) | const |
|
inline |
like static_cast<>() but with some extra checking. up-casting can be dangerous. We assume it is safe in this case but check it anyhow. a static_cast that gets verified in _DEBUG mode. fast normal static_cast in release mode. nullptr is valid.
'new' an array of elements. For use with CArray
void __cdecl Gray::CopyElements | ( | TYPE * | pDest, |
const TYPE * | pSrc, | ||
ITERATE_t | nCount | ||
) |
element-copy using class assignment operators
|
inline |
Any integral type could use this ?
INT_PTR __stdcall Gray::cUnitTest_HookJump1 | ( | ) |
INT_PTR __stdcall Gray::cUnitTest_HookJump2 | ( | ) |
Gray::DECLARE_INTERFACE | ( | IRandomNoise | ) |
Call the destructor(s) for an array. Does not explicitly free anything.
Gray::IMPLEMENT_DYNAMIC | ( | cException | , |
cExceptionBase | |||
) |
|
inlinenoexcept |
Place 32 bit nValNew in *pDest if ( *pDest == nValComp )
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
most common use of InterlockedCompareExchange It's more efficient to use the z flag than to do another compare value returned in eax
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
test reading cFileTextReader.
read and write tests. open some INI file.
read and write tests. open some INI file.
|
inline |
__DECL_IMPORT const TYPE* __stdcall Gray::StrArg | ( | const char * | pszStr | ) |
__DECL_IMPORT const TYPE* __stdcall Gray::StrArg | ( | const wchar_t * | pszStr | ) |
__DECL_IMPORT const TYPE* __stdcall Gray::StrArg | ( | double | dVal | ) |
Get a temporary string that only lives long enough to satisfy the sprintf() assume float gets converted to double.
GRAYCORE_LINK const TYPE* GRAYCALL Gray::StrArg | ( | double | dVal | ) |
Get a temporary string that only lives long enough to satisfy the sprintf() assume float gets converted to double.
__DECL_IMPORT const TYPE* __stdcall Gray::StrArg | ( | INT32 | iVal | ) |
Get a temporary string that only lives long enough to satisfy the sprintf() Assume auto convert char, short to int/INT32.
GRAYCORE_LINK const TYPE* GRAYCALL Gray::StrArg | ( | INT32 | iVal | ) |
Get a temporary string that only lives long enough to satisfy the sprintf() Assume auto convert char, short to int/INT32.
__DECL_IMPORT const TYPE* __stdcall Gray::StrArg | ( | INT64 | iVal | ) |
GRAYCORE_LINK const TYPE* GRAYCALL Gray::StrArg | ( | TYPE | ch, |
StrLen_t | nRepeat | ||
) |
Get a temporary string that is nRepeat chars repeating
__DECL_IMPORT const TYPE* __stdcall Gray::StrArg | ( | TYPE | ch, |
StrLen_t | nRepeat = 1 |
||
) |
Get a temporary string that is nRepeat chars repeating
GRAYCORE_LINK const TYPE* GRAYCALL Gray::StrArg | ( | UINT32 | uVal, |
RADIX_t | uRadix | ||
) |
Get a temporary string that only lives long enough to satisfy the sprintf() Assume auto convert BYTE, WORD to UINT/UINT32/DWORD.
__DECL_IMPORT const TYPE* __stdcall Gray::StrArg | ( | UINT32 | uVal, |
RADIX_t | uRadix = 10 |
||
) |
Get a temporary string that only lives long enough to satisfy the sprintf() Assume auto convert BYTE, WORD to UINT/UINT32/DWORD.
__DECL_IMPORT const TYPE* __stdcall Gray::StrArg | ( | UINT64 | uVal, |
RADIX_t | uRadix = 10 |
||
) |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
safe convert arguments for sprintf("%s") type params. ONLY if needed. for string args to _cdecl (variable ...) functions inline this because no processing is needed.
GRAYCORE_LINK const char* GRAYCALL Gray::StrArg< char > | ( | const wchar_t * | pwStrInp | ) |
Get a temporary string that only lives long enough to satisfy a sprintf() argument.
GRAYCORE_LINK const wchar_t* GRAYCALL Gray::StrArg< wchar_t > | ( | const char * | pszStrInp | ) |
Get a temporary string that only lives long enough to satisfy a sprintf() argument.
|
inlinenoexcept |
safe convert arguments for sprintf("%s") type params. ONLY if needed. for string args to _cdecl (variable ...) functions inline this because no processing is needed.
bool __stdcall Gray::StrArg_UnitTestT | ( | ) |
Gray::TEST_CLASS | ( | cAppConsoleTests | ) |
Gray::TEST_CLASS | ( | cAppStateTests | ) |
Gray::TEST_CLASS | ( | cArchiveTests | ) |
Gray::TEST_CLASS | ( | cArraySortStringTests | ) |
Gray::TEST_CLASS | ( | cArraySortTests | ) |
Gray::TEST_CLASS | ( | cAtomTests | ) |
Gray::TEST_CLASS | ( | cBitsTests | ) |
Gray::TEST_CLASS | ( | cCodeProfilerTests | ) |
Gray::TEST_CLASS | ( | cFileCopierTests | ) |
Gray::TEST_CLASS | ( | cFileDirTests | ) |
Gray::TEST_CLASS | ( | cFilePathTests | ) |
Gray::TEST_CLASS | ( | cFileTests | ) |
Gray::TEST_CLASS | ( | cFileTextReaderTests | ) |
Gray::TEST_CLASS | ( | cFileTextTests | ) |
Gray::TEST_CLASS | ( | cFloatDecoTests | ) |
Gray::TEST_CLASS | ( | cFloatTests | ) |
Gray::TEST_CLASS | ( | cHashTableTests | ) |
Gray::TEST_CLASS | ( | cHeapTests | ) |
Gray::TEST_CLASS | ( | cHookJumpTests | ) |
Gray::TEST_CLASS | ( | cIniFileTests | ) |
Gray::TEST_CLASS | ( | cIniObjectTests | ) |
Gray::TEST_CLASS | ( | cIniSectionTests | ) |
Gray::TEST_CLASS | ( | cInterlockedValTests | ) |
Gray::TEST_CLASS | ( | cListTests | ) |
Gray::TEST_CLASS | ( | cLogMgrTests | ) |
Gray::TEST_CLASS | ( | cMemTests | ) |
Gray::TEST_CLASS | ( | cOSHandleTests | ) |
Gray::TEST_CLASS | ( | cOSModuleTests | ) |
Gray::TEST_CLASS | ( | cOSProcessTests | ) |
Gray::TEST_CLASS | ( | cPtrTraceTests | ) |
Gray::TEST_CLASS | ( | cQueueTests | ) |
Gray::TEST_CLASS | ( | cRandomTests | ) |
Gray::TEST_CLASS | ( | cSingletonTests | ) |
Gray::TEST_CLASS | ( | cStreamTests | ) |
Gray::TEST_CLASS | ( | cStringTests | ) |
Gray::TEST_CLASS | ( | cSystemInfoTests | ) |
Gray::TEST_CLASS | ( | cThreadLockRWTests | ) |
Gray::TEST_CLASS | ( | cThreadLockTests | ) |
Gray::TEST_CLASS | ( | cTimeDoubleTests | ) |
Gray::TEST_CLASS | ( | cTimeFileTests | ) |
Gray::TEST_CLASS | ( | cTimeIntTests | ) |
Gray::TEST_CLASS | ( | cTimeSysTests | ) |
Gray::TEST_CLASS | ( | cTimeUnitsTests | ) |
Gray::TEST_CLASS | ( | cTimeZoneTests | ) |
Gray::TEST_CLASS | ( | cTypeInfoTests | ) |
Gray::TEST_CLASS | ( | cUInt64Tests | ) |
Gray::TEST_CLASS | ( | GrayCoreTests | ) |
Gray::TEST_CLASS | ( | HResultTests | ) |
Gray::TEST_CLASS | ( | StrArgTests | ) |
Gray::TEST_CLASS | ( | StrATests | ) |
Gray::TEST_CLASS | ( | StrCharTests | ) |
Gray::TEST_CLASS | ( | StrFormatTests | ) |
Gray::TEST_CLASS | ( | StrNumTests | ) |
Gray::TEST_CLASS | ( | StrTTests | ) |
Gray::TEST_CLASS | ( | StrUTests | ) |
Gray::TEST_METHOD | ( | RunTest | ) |
Gray::TEST_MODULE_CLEANUP | ( | Cleanup | ) |
Gray::TEST_MODULE_INITIALIZE | ( | Initialize | ) |
void Gray::TestClass1 | ( | ) |
void Gray::TestFloatTypes | ( | ) |
void Gray::TestFunction | ( | ) |
void Gray::TestInt | ( | ) |
void Gray::TestRef | ( | ) |
void __stdcall Gray::UnitTest_CopyFrom | ( | IFileCopier * | pSrc | ) |
For testing an implementation of IFileCopier
void __stdcall Gray::UnitTest_CopyTo | ( | IFileCopier * | pDst | ) |
For testing an implementation of IFileCopier
GRAYCORE_TEST_LINK void GRAYCALL Gray::UnitTest_Read | ( | cStreamInput & | stmIn, |
bool | bString | ||
) |
Other side of UnitTest_Write() Read strings from it (as binary).
HRESULT Gray::UnitTest_Section | ( | const cIniSection * | pSection | ) |
k_asTextLines dump contexts of a section.
GRAYCORE_TEST_LINK void GRAYCALL Gray::UnitTest_StreamIntegrity | ( | cStreamOutput & | stmOut, |
cStreamInput & | stmIn, | ||
size_t | nSizeTotal | ||
) |
GRAYCORE_TEST_LINK void GRAYCALL Gray::UnitTest_Write | ( | cStreamOutput & | testfile1 | ) |
Write strings to it.
void __stdcall Gray::UnitTestFormat | ( | typename StrFormat< TYPE >::STRFORMAT_t | pFormat | ) |
StrLen_t Gray::UnitTestFormat1 | ( | typename StrFormat< TYPE >::STRFORMAT_t | pFormat, |
TYPE * | pszOut, | ||
StrLen_t | nLenOut, | ||
const TYPE * | pszFormat, | ||
int | eArgs | ||
) |
void __stdcall Gray::UnitTestFormatX | ( | typename StrFormat< TYPE >::STRFORMAT_t | pFormat, |
TYPE * | pszOut, | ||
StrLen_t | nLenOut | ||
) |
void Gray::UnitTestMem | ( | const TYPE | nValH | ) |
bool CALLBACK Gray::UnitTestsMs_AssertCallback | ( | const char * | pszExp, |
const cDebugSourceLine & | src | ||
) |
Assert was called during a unit test. This is a failure! AssertCallback_t sm_pAssertCallback = cDebugAssert::Assert_Fail was called in UnitTest. GRAYCALL
void __stdcall Gray::UnitTestStrT | ( | ) |
struct Gray::WINHEAPN | ( | T | ) |
A type cast windows heap pointer/handle pair. like cMemBlockT<> CWinGlobalT<> or CWinLocalT<>
class WINHEAPN (Handle) class Gray::WINHEAPN | ( | V | ) |
CWinLocalV or CWinGlobalV Wrap the HANDLE_t heap/memory allocation object. Similar to MFC CGlobalHeap or CWin32Heap Similar to cHeapBlock Free on destruct
Get a pointer to an empty pointer.
like _WIN32 GlobalAllocPtr( UINT, SIZE_T ) or GlobalAlloc nFlags = GMEM_MOVEABLE | GMEM_ZEROINIT
like _WIN32 GlobalFreePtr()
|
virtualnoexcept |
|
virtualnoexcept |
|
virtualnoexcept |
|
virtualnoexcept |
class __DECL_IMPORT Gray::cArchive |
template class __DECL_IMPORT Gray::CArray< cFileFindEntry, const cFileFindEntry & > |
template class __DECL_IMPORT Gray::cArrayStruct< cFileFindEntry > |
template class __DECL_IMPORT Gray::cArrayTyped< cFileFindEntry, const cFileFindEntry & > |
class __DECL_IMPORT Gray::cException |
class __DECL_IMPORT Gray::cFileStatus |
template class __DECL_IMPORT Gray::cInterlockedPtr< > |
class __DECL_IMPORT __DECL_ALIGN ( 4 ) cInterlockedPtr typedef cInterlockedPtr Gray::cInterlockedPtrV |
template class __DECL_IMPORT Gray::cInterlockedVal< long > |
template class __DECL_IMPORT Gray::cInterlockedVal< ULONG > |
template class __DECL_IMPORT Gray::cIUnkPtr< IUnknown > |
template class __DECL_IMPORT Gray::cOSModuleFunc< FARPROC > |
template class __DECL_IMPORT Gray::cQueueRead< BYTE > |
template class __DECL_IMPORT Gray::cQueueRW< BYTE > |
template class __DECL_IMPORT Gray::cRefPtr< cRefBase > |
class __DECL_IMPORT Gray::cStreamInput |
class __DECL_IMPORT Gray::cStreamOutput |
template class GRAYCORE_LINK Gray::CStringT< char > |
template class GRAYCORE_LINK Gray::cStringT< char > |
template class GRAYCORE_LINK Gray::CStringT< wchar_t > |
template class GRAYCORE_LINK Gray::cStringT< wchar_t > |
public Gray::cUnitTest |
cOSModImpl Gray::g_Module(GRAY_NAMES "Core") | ( | GRAY_NAMES "Core" | ) |
GRAYCORE_LINK cRandomDef Gray::g_Rand |
the global random number generator. NOT thread safe. but does that matter?
const HASHCODE_t Gray::k_HASHCODE_CLEAR = 0 |
not a valid index.
const ITERATE_t Gray::k_ITERATE_BAD = -1 |
const StrLen_t Gray::k_StrLen_UNK = -1 |
use the default/current length of the string argument.
GRAYCORE_LINK va_list Gray::k_va_list_empty |
|
constexpr |
Invalid process id.
template class GRAYCORE_LINK Gray::StrFormat< char > |
template class GRAYCORE_LINK Gray::StrFormat< wchar_t > |