The C++ framework for developing highly scalable, high performance servers on Windows platforms.

JetByteTools::Core Namespace Reference


Classes

class  CActivatableObject
class  TAddressOrderedMultiLock
 A class that allows you to manipulate a collection of instances of locks as if they were a single instance. The idea being that this could be used to enforce an ordering over a sequence of locks that must be acquired together. The locks are stored in the collection keyed by address and then always locked in address ascending order and unlocked in address descending order. More...
class  TAtomic
class  CAtomicBool
class  CAtomicCounter
class  TAtomicLong
class  CAutoResetEvent
class  CBufferHistory
class  CCallbackTimerQueueEx
 A class that manages a group of timers that implement IQueueTimers::Timer and which have their IQueueTimers::Timer::OnTimer() method called when the timer expires. You must manually manage the handling and processing of timeouts by calling IManageTimerQueue::BeginTimeoutHandling() every IManageTimerQueue::GetNextTimeout() milliseconds. See here for more details. Note: the maximum timeout that you can set is 4294967294ms as 0xFFFFFFF is reserved as 'INFINITE' i.e. a timer that never expires. Internally the code uses an unsigned 64 bit counter which will wrap in around 584942417.4 years from the creation of the timer queue. You cannot set a timer that crosses this wrap point and an exception will be thrown. GetMaximumTimeout() does not report the reducing maximum timeout as the wrap point approaches, it will always return 4294967294ms. More...
class  CCallbackTimerWheel
class  CCallStack
class  CCallTracker
class  CCommandLine
 A class that parses the command line and can report on whether specified switches or arguments have been passed to a program. More...
class  CCompareStrings
class  TConditionalSmartPointer
 A smart pointer to memory using the C++ new API. Calls delete on any memory that the TConditionalSmartPointer owns when it goes out of scope to aid in scope based designs. Note that the TConditionalSmartPointer can be told that it does NOT own the memory that it is given; this is useful if sometimes it holds dynamically allocated memory that it should own and delete and sometimes it holds a pointer to, for example, a static null object implementation. More...
class  CDebugLogBase
class  CDebugTrace
class  CEmptyBase
class  CErrorCodeException
 A simple exception class. More...
class  CEventOwner
 A class that manages an instance of CEvent in a scope based style. More...
class  CException
 A simple exception class. More...
class  TExpandableBuffer
 A template class for an expandable buffer, that is a buffer that can be expanded and which will, if expanded, maintain its contents. More...
class  IAllocateFixedSizedMemory
 Provides an interface that can allocate fixed sized blocks of memory. More...
class  IAllocateMemory
class  ICompressData
class  IConfiguration
 Provides an interface to a tree structured configuration such as something that could easily be modelled by an XML file or the registry. More...
class  IDataDeflatorFactory
class  IDeflateData
class  IIndexedOpaqueUserData
 Provides an interface that allows access to 'opaque user data' that is data that is stored as either a void * or an unsigned long and that is basically anything that the user wants to store. The data is stored by index and an implementation of this class is free to store the data in any way that it sees fit. An index represents a single storage location so a call to GetUserPointer() and GetUserData() on the same index will return the same data, just viewed in different ways. More...
class  IInflateData
class  IListenToThreadNaming
class  ILockableObject
 An interface onto objects that can be locked. More...
class  TILockableObjectTracksLockingThread
 An interface onto objects that can be locked and which track the thread that currently holds the lock and can tell you if you currently hold the lock. More...
class  ILogMessages
 An interface for logging messages. These can be debug trace messages or more structured logging. The messages are sent to a log, which can be pretty much anything. More...
class  ILogMessagesWithFixedFileHeader
class  IManageThreadPoolThreads
 An interface to allow a thread pool to monitor the actions of the threads that it manages. More...
class  IManageTimerQueue
 An interface representing a class that manages timers that implement the IQueueTimers::Timer interface and and which have their IQueueTimers::Timer::OnTimer() method called when the the timer expires. See here for more details. Note that this interface extends IQueueTimers to provide the ability to deal with the timer's timeouts via IManageTimerQueue::BeginTimeoutHandling(), etc. This interface is designed for composing timer queues, such as is done in CThreadedCallbackTimerQueue and not for passing to users of timer queues. More...
class  IMonitorCallbackTimerQueue
 An interface to allow a class to monitor the operation of an instance of CCallbackTimerQueue. More...
class  IMonitorThreadedCallbackTimerQueue
 An interface to allow a class to monitor the operation of an instance of CCallbackTimerQueue. More...
class  IMonitorThreadPool
 An interface to allow a class to monitor the operation of an instance of CThreadPool. Incrementing a counter when OnThreadPoolThreadStarted() is called and decrementing it when OnThreadPoolThreadStopped() is called will give you a count of the number of threads that are in the thread pool. A corresponding counter that is incremented in OnThreadPoolProcessingStarted() and decremented when OnThreadPoolProcessingStopped() is called will give a count of the threads that are currently processing work items. More...
class  CIndexedOpaqueUserData
 Implements IIndexedOpaqueUserData in terms of a std::vector of void *. More...
class  TIntrusiveMapNodeKeyAccessorKeyIsAddress
class  TIntrusiveMap
class  TIntrusiveMultiMapNodeIsBaseClass
class  TIntrusiveMultiMap
class  CIntrusiveMultiMapNode
class  TIntrusiveRedBlackTreeNodeIsBaseClass
class  TIntrusiveRedBlackTreeNodeIsEmbeddedMember
class  TIntrusiveRedBlackTree
class  CIntrusiveRedBlackTreeNode
class  TIntrusiveSetNodeKeyAccessorKeyIsAddress
class  TIntrusiveSet
class  IProvideLocalTime
class  IProvideRandomBytes
class  IProvideRandomNumbers
class  IProvideSystemTime
 An interface that provides access to the operating system GetSystemTime() call. Code can access this service via an instance to IProvideSystemTime so that the provider can be replaced (usually for testing purposes). See here for more details. More...
class  IProvideTickCount
class  IProvideTickCount64
class  IProvideUserData
 An interface that works with IIndexedOpaqueUserData to allow users of a class that provides opaque user data to request a named 'slot' for their data. Generally what happens is that an allocator will expose this interface and the allocated items will expose the interface to access the user data. Users of the allocator can request named slots of user data before allocating the first item and then all items are created with the required amount of user data space. More...
class  IQueueTimers
 An interface representing a class that manages timers that implement the IQueueTimers::Timer interface and and which have their IQueueTimers::Timer::OnTimer() method called when the the timer expires. See here for more details. More...
class  IReentrantLockableObject
 An interface onto objects that can be locked and where the same thread is able to call Lock() multiple times successfully and where each call to Lock() needs to be balanced by a corresponding call to Unlock() to unlock the object. More...
class  IReentrantLockableObjectTracksLockingThread
 An interface onto objects that can be locked and where the same thread is able to call Lock() multiple times successfully and where each call to Lock() needs to be balanced by a corresponding call to Unlock() to unlock the object. More...
class  IRunnable
 An interface to code that can be Run() on a thread. Usually passed to the CThread constructor. More...
class  ISingleWriterMultipleReaderLock
class  IThreadPoolWorkerThreadCallback
 An interface to an object that acts as a worker thread for a work queue. The life-cycle of an object that implements this interface is as follows: one call to Initialise() (and, if it returns true), 0 or many calls to Process() and then one call to Shutdown(). More...
class  IThreadPoolWorkerThreadFactory
 An interface to create instances of IThreadPoolWorkerThreadCallback. Usually passed to the CThreadPool constructor. More...
class  ITrackReferences
class  IVisitConfigurationElements
class  CLocalTimeProvider
class  TLockableObjectOwner
 A class that takes ownership of a lockable object. That is it calls Lock() in the constructor and Unlock() in the destructor and can therefore be used to support scope based locking and unlocking of instances of the object. More...
class  TLockableObjectConditionalOwner
 A class that may take ownership of a lockable object. That is it calls Lock() in the constructor and Unlock() in the destructor (but only if locked passed as true to the constructor) and can therefore be used to support scope based locking and unlocking of instances of the object. More...
class  TLockableObjectPotentialOwner
 A class that could take ownership of an instance of a lockable object. If you call Lock() or TryLock() on this class it will keep track of the fact that the lockable object has been locked and will call Unlock() in the destructor. This can therefore be used to support scope based locking and unlocking of instances of the object. More...
class  TReentrantLockableObjectPotentialOwner
class  CManualResetEvent
class  CMD5
class  CMemoryBasedMessageLog
 An object that implements ILogMessages and. More...
class  CMessageLog
 An object that implements ILogMessages and and allows other implementations to be plugged into it... More...
class  TMultipleRangeReusableIdManagerBase
class  TMultipleRangeReusableIdManager
class  CNamedIndex
 A class that provides a collection of named indices. That is it allows you to Add() or Find() a name to a collection and return an index that identifies that name within the collection. Once you have added as many names as you wish you can convert the collection of names into a read-only collection by calling Lock() on the collection. The class is designed to be used to allow unrelated blocks of code to request a unique index for use in accessing opaque user data from an instance of IIndexedOpaqueUserData. The blocks of code needing an index typically request one by name (usually based on the name of the class doing the requesting). Once all names have been requested, Lock() is called and the size of the user data block required is calculated by calling GetMaxIndexValue() to return the number of indices requested. More...
class  CNodeList
 An invasive doubly linked list where classes that wish to be nodes in the list must derive from CNodeList::Node. The list allows nodes to remove themselves from the list as a constant time operation. More...
class  TNodeList
 A template wrapper that makes an instance of CNodeList typesafe with respect of the classes stored within it. Simply wraps the CNodeList::Node access methods to work in terms of the template T rather than any class that happens to derive from CNodeList::Node. More...
class  CNTPTime
class  CNullCallbackTimerQueueMonitor
 An object that implements IMonitorCallbackTimerQueue and does nothing. More...
class  CNullConfiguration
class  CNullMessageLog
 An object that implements ILogMessages and does nothing. More...
class  CNullThreadedCallbackTimerQueueMonitor
 An object that implements IMonitorCallbackTimerQueue and does nothing. More...
class  CNullThreadPoolMonitor
 An object that implements IMonitorThreadPool and does nothing. More...
class  COneWayToggle
class  COpaqueUserData
 A class that provides a single instance of 'opaque user data' (that is data that is stored as either a void * or an unsigned long and that is basically anything that the user wants to store). This represents a single storage location so a call to GetUserPointer() and GetUserData() will return the same data, just viewed in different ways. More...
class  COverlapped
 A class that wraps an OVERLAPPED structure. More...
class  CRAIIAtomicBool
class  CRAIIBool
class  CRandomNumberProvider
class  CReentrantSingleWriterMultipleReaderLock
 A fully reentrant single writer, multiple reader lock. More...
class  CReentrantSingleWriterMultipleReaderLock2
 A fully reentrant single writer, multiple reader lock. More...
class  CReferenceCount
class  TReferenceCounted
 A template class that wraps a class to provide it with and manage an external reference count. More...
class  TReferenceCountedSmartPointer
 A template smart pointer class that manages objects that support AddRef() and Release() style reference counting. More...
class  CReferenceTracker
class  TReleaseOnlyReferenceCountedSmartPointer
 A template smart pointer class that manages objects that support Release() style reference counting. More...
class  TReusableIdManager
class  CRingBuffer
class  CSHA1
class  CSimpleMessageLog
 An object that implements ILogMessages and. More...
class  CSingleWriterMultipleReaderLock
 A simple single writer, multiple reader lock. More...
class  CSingleWriterMultipleReaderLockEx
 A simple single writer, multiple reader lock. More...
class  CSystemTimeProvider
 A class that implements IProvideSystemTime and returns the system time directly from a call to the operating system GetSystemTime() function. See here for more details. More...
class  TDebugLog
class  CTestAlignment
class  CThreadedCallbackTimerQueue
 A class that manages a group of timers that implement IQueueTimers::Timer and which have their IQueueTimers::Timer::OnTimer() method called when the timer expires. The class uses an implementation of IManageTimerQueue to manage the timers and then manages its own timeouts using a thread to call IManageTimerQueue::BeginTimeoutHandling() every GetNextTimeout() milliseconds. You can configure it to use CCallbackTimerQueueEx or supply your own implementation of IManageTimerQueue. See here for more details. More...
class  CThreadPool
 A thread pool which can expand and contract (i.e. change the number of pooled threads) based on the work load. The pool has minimum and maximum sizes and a dispatch timeout. If dispatching a work item to a worker thread takes longer than the timeout then the pool is enlarged by one thread. There is also a maximum number of "dormant" threads, that is threads that are not working and when this number is reached worker threads are removed from the pool. The thread pool uses two I/O completion ports to do its work. Work items are dispatched to the dispatch port and are processed by the maintenance thread which dispatches the work items to the work port where the worker threads are waiting. This two layer dispatching means that dispatching from user code is fast but the pool can adjust its size depending on how long it takes for a worker thread to pick up a work item. Work items only ever queue on the dispatch port, the work port will only ever have a single work item on it at a time. More...
class  CThreadPoolEx
class  TThreadSafeReusableIdManager
class  CTickCountCompare
class  TTypeSafeTypedef
class  CWaitableCounter
 A counter that can be incremented and decremented and where you can wait on it either becoming zero or becoming non-zero. More...
class  TZeroInitialiseExpandableBuffer
 A template class for an expandable buffer, that is a buffer that can be expanded and which will, if expanded, maintain its contents. More...

Namespaces

namespace  Base64
namespace  Std
namespace  Windows

Typedefs

typedef TAtomicLong
< long > 
CAtomicLong
typedef TAtomicLong
< unsigned long > 
CAtomicULong
typedef
TILockableObjectTracksLockingThread
< ILockableObject
ILockableObjectTracksLockingThread
typedef
CIntrusiveRedBlackTreeNode 
CIntrusiveSetNode
typedef std::map
< _tstring, _tstring
StringMap
typedef std::map
< std::string,
std::string > 
StringMapA
typedef std::map
< std::wstring,
std::wstring > 
StringMapW
typedef std::set
< _tstring
StringSet
typedef std::set
< std::string > 
StringSetA
typedef std::set
< std::wstring > 
StringSetW
typedef std::vector
< _tstring
StringVector
typedef std::vector
< std::string > 
StringVectorA
typedef std::vector
< std::wstring > 
StringVectorW
typedef DWORD ThreadId
typedef unsigned __int64 PointerValueType
typedef std::string _tstring
typedef char TCHAR

Enumerations

enum  DumpType { HexDump = 0x01, Printable = 0x10, Both = 0x11 }
enum  ToHexStringHexDigitRepresentation {
  HexDigitsLowerCase = 0x0000, HexDigitsUpperCase = 0x0001, HexDigitsNoPrefix = 0x0000, HexDigitsWithPrefix = 0x0010,
  HexDigitsNoPadding = 0x0000, HexDigitsWithPadding = 0x0100, HexDigitsSpacesBetween = 0x1000, HexDigitsNoPrefixUpperCase = HexDigitsUpperCase | HexDigitsNoPadding | HexDigitsNoPrefix,
  HexDigitsNoPrefixLowerCase = HexDigitsLowerCase | HexDigitsNoPadding | HexDigitsNoPrefix, HexDigitsWithPrefixUpperCase = HexDigitsUpperCase | HexDigitsNoPadding | HexDigitsWithPrefix, HexDigitsWithPrefixLowerCase = HexDigitsLowerCase | HexDigitsNoPadding | HexDigitsWithPrefix, HexDigitsNoPaddingNoPrefixUpperCase = HexDigitsUpperCase | HexDigitsNoPadding | HexDigitsNoPrefix,
  HexDigitsNoPaddingNoPrefixLowerCase = HexDigitsLowerCase | HexDigitsNoPadding | HexDigitsNoPrefix, HexDigitsWithPaddingNoPrefixUpperCase = HexDigitsUpperCase | HexDigitsWithPadding | HexDigitsNoPrefix, HexDigitsWithPaddingNoPrefixLowerCase = HexDigitsLowerCase | HexDigitsWithPadding | HexDigitsNoPrefix, HexDigitsNoPaddingWithPrefixUpperCase = HexDigitsUpperCase | HexDigitsNoPadding | HexDigitsWithPrefix,
  HexDigitsNoPaddingWithPrefixLowerCase = HexDigitsLowerCase | HexDigitsNoPadding | HexDigitsWithPrefix, HexDigitsWithPaddingWithPrefixUpperCase = HexDigitsUpperCase | HexDigitsWithPadding | HexDigitsWithPrefix, HexDigitsWithPaddingWithPrefixLowerCase = HexDigitsLowerCase | HexDigitsWithPadding | HexDigitsWithPrefix, HexDigitsDefault = HexDigitsWithPrefixLowerCase
}

Functions

string EncodeBytesBase64A (const BYTE *const pData, const DWORD dataLength)
string EncodeBase64A (const string &input)
size_t DecodeBytesBase64A (const string &input, BYTE *pOutput, size_t &outputLength)
size_t CalculateSpaceRequiredForDecodeBytesBase64A (const string &input)
string DecodeBase64A (const string &input)
static size_t CalculateNumberOfTimers (Milliseconds maximumTimeout, Milliseconds timerGranularity)
static int CompareStacks (const void *pStack1, const void *pStack2, size_t numEntries)
static ULONG CaptureStackBackTrace (CCallStack &callStack, DWORD framesToSkip, DWORD framesToInclude)
static __int64 GetTimestampValue ()
template<typename resultType, typename sourceType>
resultType checked_static_cast (const sourceType &value)
static _tstring RemoveOptionalTags (const _tstring &input)
static _tstring RemoveTagMarks (const _tstring &input)
static _tstring RemoveFirstAlternative (const _tstring &input)
static _tstring RemoveSecondAlternative (const _tstring &input)
static bool InitialiseTable ()
DWORD CalculateStringCRC32 (const _tstring &data)
DWORD CalculateStringCRC32A (const string &data)
DWORD CalculateCRC32 (const void *pData, const size_t dataLength)
DWORD CalculateCRC32 (const BYTE *pData, const size_t dataLength)
DWORD InitialiseCRC32 ()
DWORD CalculatePartialCRC32 (const DWORD partialCRC, const void *pData, const size_t dataLength)
DWORD CalculatePartialCRC32 (DWORD partialCRC, const BYTE *pData, size_t dataLength)
DWORD FinaliseCRC32 (DWORD partialCRC)
DWORD Reflect (DWORD reflect, const BYTE byte)
DWORD CalculateStringCRC32 (const _tstring &data)
DWORD CalculateStringCRC32C (const _tstring &data)
DWORD CalculateStringCRC32CA (const string &data)
DWORD CalculateCRC32C (const void *pData, const size_t dataLength)
DWORD CalculateCRC32C (const BYTE *pData, size_t dataLength)
DWORD CalculateStringCRC32C (const _tstring &data)
static const string s_clsError ("|ERROR")
static const string s_clsWarning ("|WARN")
static const string s_clsInfo ("|INFO")
static const string s_clsTrace ("|TRACE")
static const string s_clsVerbose ("|VERBOSE")
static const string s_clsDump ("|DUMP")
static const string s_clsUnknown ("|UNK")
static const string s_clsErrorSep (s_clsError+"| ")
static const string s_clsWarningSep (s_clsWarning+"| ")
static const string s_clsInfoSep (s_clsInfo+"| ")
static const string s_clsTraceSep (s_clsTrace+"| ")
static const string s_clsVerboseSep (s_clsVerbose+"| ")
static const string s_clsDumpSep (s_clsDump+"| ")
static const string s_clsUnknownSep (s_clsUnknown+"| ")
static _tstring GetNextValue (_tstring &setting)
static
CDebugLogBase::MessageClass 
AddOrRemove (bool remove, bool range, CDebugLogBase::MessageClass msgClass, CDebugLogBase::MessageClass value)
static
CDebugLogBase::MessageClass 
ParseConfigValue (CDebugLogBase::MessageClass msgClass, _tstring value)
static
CDebugLogBase::MessageClass 
ParseConfigSetting (_tstring &setting, CDebugLogBase::MessageClass msgClass)
static _tstring GetMessageClassesAsString (const CDebugLogBase::MessageClass &messageClass)
static void DebugTraceAtExitDetector ()
void SetLogFileName (const std::string &s)
void SetLogFileName (const std::wstring &s)
void OutputEx (const ILogMessages::VectorOfLines &s)
void OutputEx (const ILogMessages::DequeOfLines &s)
void OutputEx (const std::string &s)
void OutputEx (const std::wstring &s)
void OutputEx (const char *const pString)
void OutputEx (const wchar_t *const pString)
void OutputEx (const char *const pString, const ILogMessages::DataLength stringLength)
void OutputEx (const wchar_t *const pString, const ILogMessages::DataLength stringLength)
void Output (const std::string &)
void Output (const std::wstring &)
void Output (const char *const )
void Output (const wchar_t *const )
void Output (const char *const , const ILogMessages::DataLength)
void Output (const wchar_t *const , const ILogMessages::DataLength)
static DWORD GetConstructorFlags (const DWORD flags)
static DWORD GetDestructorFlags (const DWORD flags)
static void ManageEvent (CEvent &event, DWORD flag)
static void ul_MD5Init (struct UL_MD5Context *context)
static void ul_MD5Update (struct UL_MD5Context *context, unsigned char const *buf, unsigned len)
static void ul_MD5Final (unsigned char digest[UL_MD5LENGTH], struct UL_MD5Context *context)
static void ul_MD5Transform (uint32_t buf[4], uint32_t const in[16])
unsigned int MurmurHash2 (const void *key, int len, const unsigned int seed)
static WORD FractionToMilliseconds (DWORD fraction)
static DWORD MillisecondsToFraction (WORD milliSeconds)
static long JulianDayFromUTC (WORD year, WORD month, WORD day)
static void GregorianDateFromJulianDay (long julianDay, WORD &year, WORD &month, WORD &day)
template<typename TV, typename TM>
TV RoundDown (TV Value, TM Multiple)
template<typename TV, typename TM>
TV RoundUp (TV Value, TM Multiple)
static void ul_SHA1Transform (uint32_t state[5], const unsigned char buffer[64])
static void ul_SHA1Init (UL_SHA1_CTX *context)
static void ul_SHA1Update (UL_SHA1_CTX *context, const unsigned char *data, uint32_t len)
static void ul_SHA1Final (unsigned char digest[UL_SHA1LENGTH], UL_SHA1_CTX *context)
static void ul_SHA1 (char *hash_out, const char *str, unsigned len)
void ul_SHA1Final (unsigned char digest[20], UL_SHA1_CTX *context)
static bool StringIsAllANSI (const std::wstring &data)
bool StringToBool (const _tstring &stringRepresentation)
bool StringToBoolA (const string &stringRepresentation)
bool IsAllDigits (const _tstring &numeric)
bool IsAllDigitsA (const string &numeric)
bool IsAllHexDigits (const _tstring &hex)
bool IsAllHexDigitsA (const string &hex)
void StringToHex (const _tstring &str, BYTE *pBuffer, const size_t nBytes)
_tstring StripWhiteSpace (const _tstring &source)
string StripWhiteSpaceA (const string &source)
_tstring StripSurroundingWhiteSpace (const _tstring &source)
string StripSurroundingWhiteSpaceA (const string &source)
_tstring StripLeading (const _tstring &source, const char toStrip)
_tstring StripTrailing (const _tstring &source, const char toStrip)
string StripLeadingA (const string &source, const char toStrip)
string StripTrailingA (const string &source, const char toStrip)
_tstring ToUpper (const _tstring &data)
string ToUpperA (const string &data)
wstring ToUpperW (const wstring &data)
_tstring ToLower (const _tstring &data)
string ToLowerA (const string &data)
wstring ToLowerW (const wstring &data)
_tstring FindAndReplace (const _tstring &phrase, const _tstring &findString, const _tstring &replaceString, const size_t numReplacements)
bool InPlaceFindAndReplace (_tstring &phrase, const _tstring &findString, const _tstring &replaceString, size_t numReplacements)
string FindAndReplaceA (const string &phrase, const string &findString, const string &replaceString, const size_t numReplacements)
bool InPlaceFindAndReplaceA (string &phrase, const string &findString, const string &replaceString, size_t numReplacements)
unsigned long GetLongFromString (const _tstring &numeric, const size_t startOffset, const size_t length)
unsigned short GetShortFromString (const _tstring &numeric, const size_t startOffset, const size_t length)
unsigned long GetLongFromStringA (const string &numeric, const size_t startOffset, const size_t length)
unsigned short GetShortFromStringA (const string &numeric, const size_t startOffset, const size_t length)
template<typename result, class s>
result GetStringLength (const s &theString, const bool includeNullTerminator=false)
template<typename result>
result GetStringLength (const char *pString, const bool includeNullTerminator=false)
template<typename result>
result GetStringLength (const wchar_t *pString, const bool includeNullTerminator=false)
ThreadId GetCurrentThreadId ()
std::string ToStringA (const std::thread::id &id)
std::wstring ToStringW (const std::thread::id &id)
_tstring ToString (const std::thread::id &id)
template<class T>
bool ToBool (const T &value)
static string InternalDumpDataA (const string &linePrefix, const BYTE *pData, size_t dataLength, size_t lineLength, DumpType dumpType, bool useCR, bool linePrefixOnFirstLine, bool lineFeedOnLastLine)
static wstring InternalDumpDataW (const wstring &linePrefix, const BYTE *pData, size_t dataLength, size_t lineLength, DumpType dumpType, bool useCR, bool linePrefixOnFirstLine, bool lineFeedOnLastLine)
unsigned short CalculateRequiredPrecision (const double value)
string ToStringA (const bool val)
wstring ToStringW (const bool val)
template<typename T>
constexpr size_t SpaceRequiredForType (const T &)
string ToStringA (const unsigned int val)
wstring ToStringW (const unsigned int val)
string ToStringA (const signed int val)
wstring ToStringW (const signed int val)
string ToStringA (const unsigned short val)
wstring ToStringW (const unsigned short val)
string ToStringA (const signed short val)
wstring ToStringW (const signed short val)
string ToStringA (const unsigned long val)
wstring ToStringW (const unsigned long val)
string ToStringA (const signed long val)
wstring ToStringW (const signed long val)
string ToStringA (const unsigned __int64 val)
wstring ToStringW (const unsigned __int64 val)
string ToStringA (const signed __int64 val)
wstring ToStringW (const signed __int64 val)
string ToStringA (const float val)
wstring ToStringW (const float val)
unsigned short ValidatePrecision (unsigned short precision)
string ToStringA (const double val, unsigned short precision)
wstring ToStringW (const double val, unsigned short precision)
string ToStringA (const long double val, unsigned short precision)
wstring ToStringW (const long double val, unsigned short precision)
string ToStringA (const void *val)
wstring ToStringW (const void *val)
bool IsUpperCaseRepresentation (const ToHexStringHexDigitRepresentation hexDigitRepresentation)
bool IncludePrefix (const ToHexStringHexDigitRepresentation hexDigitRepresentation)
bool IncludePadding (const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string PointerToStringA (const void *val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring PointerToStringW (const void *val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const unsigned char val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const unsigned char val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const signed char val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const signed char val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const unsigned int val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const unsigned int val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const signed int val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const signed int val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const unsigned short val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const unsigned short val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const signed short val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const signed short val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const unsigned long val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const unsigned long val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const signed long val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const signed long val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const unsigned __int64 val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const unsigned __int64 val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const signed __int64 val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const signed __int64 val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const void *val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const void *val, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
string ToHexStringA (const void *pData, const size_t length, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
wstring ToHexStringW (const void *pData, const size_t length, const ToHexStringHexDigitRepresentation hexDigitRepresentation)
_tstring BoolAsString (const bool value)
string BoolAsStringA (const bool value)
string ToHexA (const BYTE val)
wstring ToHexW (const BYTE val)
string MakePrintableA (const BYTE *const pData, const size_t dataLength, const size_t lineLength, const bool useCR)
wstring MakePrintableW (const BYTE *const pData, const size_t dataLength, const size_t lineLength, const bool useCR)
string DumpDataA (const BYTE *const pData, const size_t dataLength, const size_t lineLength, const bool useCR)
wstring DumpDataW (const BYTE *const pData, const size_t dataLength, const size_t lineLength, const bool useCR)
string DumpDataA (const string &linePrefix, const BYTE *const pData, const size_t dataLength, const size_t lineLength, const bool useCR, const bool linePrefixOnFirstLine, const bool lineFeedOnLastLine)
wstring DumpDataW (const wstring &linePrefix, const BYTE *const pData, const size_t dataLength, const size_t lineLength, const bool useCR, const bool linePrefixOnFirstLine, const bool lineFeedOnLastLine)
string DumpDataAsHexA (const BYTE *const pData, const size_t dataLength)
wstring DumpDataAsHexW (const BYTE *const pData, const size_t dataLength)
_tstring ToString (const bool val)
_tstring ToString (const unsigned int val)
_tstring ToString (const signed int val)
_tstring ToString (const unsigned short val)
_tstring ToString (const signed short val)
_tstring ToString (const unsigned long val)
_tstring ToString (const signed long val)
_tstring ToString (const unsigned __int64 val)
_tstring ToString (signed __int64 val)
_tstring ToString (const float val)
_tstring ToString (const double val, const unsigned short precision=0)
_tstring ToString (const long double val, const unsigned short precision=0)
_tstring ToString (const void *val)
_tstring PointerToString (const void *val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsWithPaddingNoPrefixUpperCase)
_tstring ToHexString (const unsigned char val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const signed char val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const unsigned int val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const signed int val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const unsigned short val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const signed short val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const unsigned long val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const signed long val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const unsigned __int64 val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const signed __int64 val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHexString (const void *val, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsWithPaddingWithPrefixLowerCase)
_tstring ToHexString (const void *pData, const size_t length, const ToHexStringHexDigitRepresentation hexDigitRepresentation=HexDigitsDefault)
_tstring ToHex (const BYTE val)
_tstring MakePrintable (const BYTE *const pData, const size_t dataLength, const size_t lineLength=0, const bool useCR=false)
_tstring DumpData (const BYTE *const pData, const size_t dataLength, const size_t lineLength=0, const bool useCR=false)
_tstring DumpData (const _tstring &linePrefix, const BYTE *const pData, const size_t dataLength, const size_t lineLength=0, const bool useCR=false, const bool linePrefixOnFirstLine=true, const bool lineFeedOnLastLine=true)
_tstring DumpDataAsHex (const BYTE *const pData, const size_t dataLength)
void WriteResourceToFile (HANDLE hFile, const _tstring &resourceName, const _tstring &resourceType, const HMODULE hModule)
void CreateDirectory (const _tstring &directory)
bool CreateDirectoryIfRequired (const _tstring &directory)
size_t CreateDirectoriesIfRequired (const _tstring &directory)
_tstring GetCurrentDirectory ()
void SetCurrentDirectory (const _tstring &directory)
_tstring EnsurePathEndsWithSingleBackslash (const _tstring &path)
_tstring CombinePath (const _tstring &path1, const _tstring &path2)
bool TryCombinePath (_tstring &combinedPath, const _tstring &path1, const _tstring &path2)
_tstring BuildPath (const _tstring &path1, const _tstring &path2)
_tstring MakePathAbsolute (const _tstring &path)
_tstring GetTempFileName (const _tstring &pathName, const _tstring &prefixString, const unsigned int unique)
_tstring GetTempFileName (const _tstring &prefixString, const unsigned int unique)
_tstring GetTempPath ()
_tstring StripFileExtension (const _tstring &filename)
string StripFileExtensionA (const string &filename)
_tstring GetFileNameFromPathName (const _tstring &pathName)
_tstring GetFileNameFromPathName (const _tstring &pathName, const _tstring &separators)
string GetFileNameFromPathNameA (const string &pathName)
string GetFileNameFromPathNameA (const string &pathName, const string &separators)
_tstring StripFileNameFromPathName (const _tstring &pathName)
_tstring StripFileNameFromPathName (const _tstring &pathName, const _tstring &separators)
string StripFileNameFromPathNameA (const string &pathName)
string StripFileNameFromPathNameA (const string &pathName, const string &separators)
void DeleteFile (const _tstring &fileName)
void RemoveDirectoryAndContents (const _tstring &directory)
void RemoveDirectoryContents (const _tstring &directory)
void MoveFile (const _tstring &filenameFrom, const _tstring &filenameTo)
void CopyFile (const _tstring &filenameFrom, const _tstring &filenameTo, const bool failIfExists)
void SaveStringAsFile (const _tstring &filename, const _tstring &data)
void SaveStringAsFileA (const _tstring &filename, const string &data)
void SaveStringToFile (const _tstring &filename, HANDLE hFile, const _tstring &data)
void SaveStringToFileA (const _tstring &filename, HANDLE hFile, const string &data)
__int64 GetFileSize (const _tstring &filename)
wstring LoadFileAsUnicodeString (const _tstring &filename, bool *pFileWasUnicode)
void SaveUnicodeStringAsFile (const _tstring &filename, const std::wstring &data, const bool saveAsANSIifPossible)
void LoadFileAsBinaryData (const _tstring &filename, TExpandableBuffer< BYTE > &buffer)
void SaveBinaryDataAsFile (const _tstring &filename, const TExpandableBuffer< BYTE > &buffer)
_tstring LoadFileAsString (const _tstring &filename)
string LoadFileAsStringA (const _tstring &filename)
_tstring LoadFileAsString (HANDLE hFile, const _tstring &filename)
string LoadFileAsStringA (HANDLE hFile, const _tstring &filename)
bool FileExists (const _tstring &fileName)
bool FileDoesNotExist (const _tstring &fileName)
bool FileExistsAndIsReadLocked (const _tstring &fileName)
Core::_tstring StripLastDirectoryFromPathName (const Core::_tstring &pathName)

Variables

static
CNullCallbackTimerQueueMonitor 
s_monitor
static const
CTickCount64Provider 
s_tickProvider
static const Milliseconds s_tickCountMax = 0xFFFFFFFF
static const Milliseconds s_timeoutMax = s_tickCountMax - 1
static const Milliseconds s_defaultTimerGranularity = 15
static const
CTickCountProvider 
s_tickProvider
static
CNullCallbackTimerQueueMonitor 
s_monitor
static DWORD s_lookupTable [256]
static const bool s_tableInitialised = InitialiseTable()
static const bool s_tableInitialised = InitialiseTable()
static CSimpleMessageLog s_simpleMessageLog
static bool s_processIsExiting = false
static CDebugTraces_notUsed = CDebugTrace::Instance()
static CNullMessageLog s_nullMessageLog
static const long JAN_1ST_1900 = 2415021
static
CThreadLocalStorage 
s_tls
static CAtomicLong s_nextThreadIndex (0)
static const string s_emptyString
static
CNullThreadedCallbackTimerQueueMonitor 
s_monitor
const ThreadId InvalidThreadId = 0
const ThreadId InvalidThreadId
static
CNullThreadPoolMonitor 
s_nullThreadPoolMonitor
static
CNullThreadPoolMonitor 
s_nullThreadPoolMonitor
static const string s_emptyStringLinePrefixA
static const wstring s_emptyStringLinePrefixW


Typedef Documentation

typedef std::string _tstring

typedef TAtomicLong<long> CAtomicLong

typedef TAtomicLong<unsigned long> CAtomicULong

typedef unsigned __int64 PointerValueType

typedef std::map<_tstring, _tstring> StringMap

typedef std::map<std::string, std::string> StringMapA

typedef std::map<std::wstring, std::wstring> StringMapW

typedef std::set<_tstring> StringSet

typedef std::set<std::string> StringSetA

typedef std::set<std::wstring> StringSetW

typedef std::vector<_tstring> StringVector

typedef std::vector<std::string> StringVectorA

typedef std::vector<std::wstring> StringVectorW

typedef char TCHAR

typedef DWORD ThreadId


Enumeration Type Documentation

enum DumpType

Enumerator:
HexDump 
Printable 
Both 

Enumerator:
HexDigitsLowerCase 
HexDigitsUpperCase 
HexDigitsNoPrefix 
HexDigitsWithPrefix 
HexDigitsNoPadding 
HexDigitsWithPadding 
HexDigitsSpacesBetween 
HexDigitsNoPrefixUpperCase 
HexDigitsNoPrefixLowerCase 
HexDigitsWithPrefixUpperCase 
HexDigitsWithPrefixLowerCase 
HexDigitsNoPaddingNoPrefixUpperCase 
HexDigitsNoPaddingNoPrefixLowerCase 
HexDigitsWithPaddingNoPrefixUpperCase 
HexDigitsWithPaddingNoPrefixLowerCase 
HexDigitsNoPaddingWithPrefixUpperCase 
HexDigitsNoPaddingWithPrefixLowerCase 
HexDigitsWithPaddingWithPrefixUpperCase 
HexDigitsWithPaddingWithPrefixLowerCase 
HexDigitsDefault 


Function Documentation

static CDebugLogBase::MessageClass AddOrRemove ( bool  remove,
bool  range,
CDebugLogBase::MessageClass  msgClass,
CDebugLogBase::MessageClass  value 
) [static]

_tstring BoolAsString ( const bool  value  ) 

std::string BoolAsStringA ( const bool  value  ) 

Core::_tstring BuildPath ( const _tstring &  path1,
const _tstring &  path2 
)

DWORD CalculateCRC32 ( const BYTE pData,
const size_t  dataLength 
)

DWORD CalculateCRC32 ( const void *  pData,
const size_t  dataLength 
)

DWORD CalculateCRC32C ( const BYTE pData,
size_t  dataLength 
)

DWORD CalculateCRC32C ( const void *  pData,
const size_t  dataLength 
)

static size_t JetByteTools::Core::CalculateNumberOfTimers ( Milliseconds  maximumTimeout,
Milliseconds  timerGranularity 
) [static]

DWORD CalculatePartialCRC32 ( DWORD  partialCRC,
const BYTE pData,
size_t  dataLength 
)

DWORD CalculatePartialCRC32 ( const DWORD  partialCRC,
const void *  pData,
const size_t  dataLength 
)

unsigned short CalculateRequiredPrecision ( const double  value  ) 

size_t CalculateSpaceRequiredForDecodeBytesBase64A ( const string &  input  ) 

DWORD JetByteTools::Core::CalculateStringCRC32 ( const _tstring &  data  ) 

DWORD JetByteTools::Core::CalculateStringCRC32 ( const _tstring &  data  ) 

DWORD CalculateStringCRC32A ( const string &  data  ) 

DWORD JetByteTools::Core::CalculateStringCRC32C ( const _tstring &  data  ) 

DWORD JetByteTools::Core::CalculateStringCRC32C ( const _tstring &  data  ) 

DWORD CalculateStringCRC32CA ( const string &  data  ) 

static ULONG CaptureStackBackTrace ( CCallStack &  callStack,
DWORD  framesToSkip,
DWORD  framesToInclude 
) [static]

resultType JetByteTools::Core::checked_static_cast ( const sourceType &  value  )  [inline]

Core::_tstring CombinePath ( const _tstring &  path1,
const _tstring &  path2 
)

static int CompareStacks ( const void *  pStack1,
const void *  pStack2,
size_t  numEntries 
) [static]

void CopyFile ( const _tstring &  filenameFrom,
const _tstring &  filenameTo,
const bool  failIfExists 
)

size_t CreateDirectoriesIfRequired ( const _tstring &  directory  ) 

void CreateDirectory ( const _tstring &  directory  ) 

bool CreateDirectoryIfRequired ( const _tstring &  directory  ) 

static void DebugTraceAtExitDetector (  )  [static]

std::string DecodeBase64A ( const string &  input  ) 

size_t DecodeBytesBase64A ( const string &  input,
BYTE pOutput,
size_t &  outputLength 
)

void DeleteFile ( const _tstring &  fileName  ) 

_tstring JetByteTools::Core::DumpData ( const _tstring &  linePrefix,
const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength = 0,
const bool  useCR = false,
const bool  linePrefixOnFirstLine = true,
const bool  lineFeedOnLastLine = true 
) [inline]

_tstring JetByteTools::Core::DumpData ( const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength = 0,
const bool  useCR = false 
) [inline]

std::string DumpDataA ( const string &  linePrefix,
const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength,
const bool  useCR,
const bool  linePrefixOnFirstLine,
const bool  lineFeedOnLastLine 
)

std::string DumpDataA ( const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength,
const bool  useCR 
)

_tstring JetByteTools::Core::DumpDataAsHex ( const BYTE *const   pData,
const size_t  dataLength 
) [inline]

std::string DumpDataAsHexA ( const BYTE *const   pData,
const size_t  dataLength 
)

std::wstring DumpDataAsHexW ( const BYTE *const   pData,
const size_t  dataLength 
)

std::wstring DumpDataW ( const wstring &  linePrefix,
const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength,
const bool  useCR,
const bool  linePrefixOnFirstLine,
const bool  lineFeedOnLastLine 
)

std::wstring DumpDataW ( const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength,
const bool  useCR 
)

std::string EncodeBase64A ( const string &  input  ) 

std::string EncodeBytesBase64A ( const BYTE *const   pData,
const DWORD  dataLength 
)

Core::_tstring EnsurePathEndsWithSingleBackslash ( const _tstring &  path  ) 

bool FileDoesNotExist ( const _tstring &  fileName  ) 

bool FileExists ( const _tstring &  fileName  ) 

bool FileExistsAndIsReadLocked ( const _tstring &  fileName  ) 

DWORD FinaliseCRC32 ( DWORD  partialCRC  ) 

_tstring FindAndReplace ( const _tstring &  phrase,
const _tstring &  findString,
const _tstring &  replaceString,
const size_t  numReplacements 
)

std::string FindAndReplaceA ( const string &  phrase,
const string &  findString,
const string &  replaceString,
const size_t  numReplacements 
)

static WORD FractionToMilliseconds ( DWORD  fraction  )  [static]

static DWORD JetByteTools::Core::GetConstructorFlags ( const DWORD  flags  )  [static]

Core::_tstring GetCurrentDirectory (  ) 

ThreadId GetCurrentThreadId (  ) 

static DWORD JetByteTools::Core::GetDestructorFlags ( const DWORD  flags  )  [static]

Core::_tstring GetFileNameFromPathName ( const _tstring &  pathName,
const _tstring &  separators 
)

Core::_tstring GetFileNameFromPathName ( const _tstring &  pathName  ) 

std::string GetFileNameFromPathNameA ( const string &  pathName,
const string &  separators 
)

std::string GetFileNameFromPathNameA ( const string &  pathName  ) 

__int64 GetFileSize ( const _tstring &  filename  ) 

unsigned long GetLongFromString ( const _tstring &  numeric,
const size_t  startOffset,
const size_t  length 
)

unsigned long GetLongFromStringA ( const string &  numeric,
const size_t  startOffset,
const size_t  length 
)

static _tstring GetMessageClassesAsString ( const CDebugLogBase::MessageClass &  messageClass  )  [static]

static _tstring JetByteTools::Core::GetNextValue ( _tstring &  setting  )  [static]

unsigned short GetShortFromString ( const _tstring &  numeric,
const size_t  startOffset,
const size_t  length 
)

unsigned short GetShortFromStringA ( const string &  numeric,
const size_t  startOffset,
const size_t  length 
)

result JetByteTools::Core::GetStringLength ( const wchar_t *  pString,
const bool  includeNullTerminator = false 
) [inline]

result JetByteTools::Core::GetStringLength ( const char *  pString,
const bool  includeNullTerminator = false 
) [inline]

result JetByteTools::Core::GetStringLength ( const s &  theString,
const bool  includeNullTerminator = false 
) [inline]

Core::_tstring GetTempFileName ( const _tstring &  prefixString,
const unsigned int  unique 
)

Core::_tstring GetTempFileName ( const _tstring &  pathName,
const _tstring &  prefixString,
const unsigned int  unique 
)

Core::_tstring GetTempPath (  ) 

static __int64 JetByteTools::Core::GetTimestampValue (  )  [static]

static void GregorianDateFromJulianDay ( long  julianDay,
WORD year,
WORD month,
WORD day 
) [static]

bool JetByteTools::Core::IncludePadding ( const ToHexStringHexDigitRepresentation  hexDigitRepresentation  )  [inline]

bool JetByteTools::Core::IncludePrefix ( const ToHexStringHexDigitRepresentation  hexDigitRepresentation  )  [inline]

DWORD InitialiseCRC32 (  ) 

static bool InitialiseTable (  )  [static]

bool InPlaceFindAndReplace ( _tstring &  phrase,
const _tstring &  findString,
const _tstring &  replaceString,
size_t  numReplacements 
)

bool InPlaceFindAndReplaceA ( string &  phrase,
const string &  findString,
const string &  replaceString,
size_t  numReplacements 
)

static string InternalDumpDataA ( const string &  linePrefix,
const BYTE pData,
size_t  dataLength,
size_t  lineLength,
DumpType  dumpType,
bool  useCR,
bool  linePrefixOnFirstLine,
bool  lineFeedOnLastLine 
) [static]

static wstring InternalDumpDataW ( const wstring &  linePrefix,
const BYTE pData,
size_t  dataLength,
size_t  lineLength,
DumpType  dumpType,
bool  useCR,
bool  linePrefixOnFirstLine,
bool  lineFeedOnLastLine 
) [static]

bool IsAllDigits ( const _tstring &  numeric  ) 

bool IsAllDigitsA ( const string &  numeric  ) 

bool IsAllHexDigits ( const _tstring &  hex  ) 

bool IsAllHexDigitsA ( const string &  hex  ) 

bool JetByteTools::Core::IsUpperCaseRepresentation ( const ToHexStringHexDigitRepresentation  hexDigitRepresentation  )  [inline]

static long JulianDayFromUTC ( WORD  year,
WORD  month,
WORD  day 
) [static]

void LoadFileAsBinaryData ( const _tstring &  filename,
TExpandableBuffer< BYTE > &  buffer 
)

Core::_tstring LoadFileAsString ( HANDLE  hFile,
const _tstring &  filename 
)

Core::_tstring LoadFileAsString ( const _tstring &  filename  ) 

std::string LoadFileAsStringA ( HANDLE  hFile,
const _tstring &  filename 
)

std::string LoadFileAsStringA ( const _tstring &  filename  ) 

std::wstring LoadFileAsUnicodeString ( const _tstring &  filename,
bool pFileWasUnicode 
)

Core::_tstring MakePathAbsolute ( const _tstring &  path  ) 

_tstring JetByteTools::Core::MakePrintable ( const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength = 0,
const bool  useCR = false 
) [inline]

std::string MakePrintableA ( const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength,
const bool  useCR 
)

std::wstring MakePrintableW ( const BYTE *const   pData,
const size_t  dataLength,
const size_t  lineLength,
const bool  useCR 
)

static void ManageEvent ( CEvent &  event,
DWORD  flag 
) [static]

static DWORD MillisecondsToFraction ( WORD  milliSeconds  )  [static]

void MoveFile ( const _tstring &  filenameFrom,
const _tstring &  filenameTo 
)

unsigned int MurmurHash2 ( const void *  key,
int  len,
const unsigned int  seed 
)

static CDebugLogBase::MessageClass JetByteTools::Core::ParseConfigSetting ( _tstring &  setting,
CDebugLogBase::MessageClass  msgClass 
) [static]

static CDebugLogBase::MessageClass JetByteTools::Core::ParseConfigValue ( CDebugLogBase::MessageClass  msgClass,
_tstring  value 
) [static]

_tstring JetByteTools::Core::PointerToString ( const void *  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsWithPaddingNoPrefixUpperCase 
) [inline]

std::string PointerToStringA ( const void *  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring PointerToStringW ( const void *  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

DWORD JetByteTools::Core::Reflect ( DWORD  reflect,
const BYTE  byte 
)

void RemoveDirectoryAndContents ( const _tstring &  directory  ) 

void RemoveDirectoryContents ( const _tstring &  directory  ) 

static _tstring RemoveFirstAlternative ( const _tstring &  input  )  [static]

static _tstring RemoveOptionalTags ( const _tstring &  input  )  [static]

static _tstring RemoveSecondAlternative ( const _tstring &  input  )  [static]

static _tstring RemoveTagMarks ( const _tstring &  input  )  [static]

TV JetByteTools::Core::RoundDown ( TV  Value,
TM  Multiple 
) [inline]

TV JetByteTools::Core::RoundUp ( TV  Value,
TM  Multiple 
) [inline]

static const string JetByteTools::Core::s_clsDump ( "|DUMP"   )  [static]

static const string JetByteTools::Core::s_clsDumpSep ( s_clsDump+"| "   )  [static]

static const string JetByteTools::Core::s_clsError ( "|ERROR"   )  [static]

static const string JetByteTools::Core::s_clsErrorSep ( s_clsError+"| "   )  [static]

static const string JetByteTools::Core::s_clsInfo ( "|INFO"   )  [static]

static const string JetByteTools::Core::s_clsInfoSep ( s_clsInfo+"| "   )  [static]

static const string JetByteTools::Core::s_clsTrace ( "|TRACE"   )  [static]

static const string JetByteTools::Core::s_clsTraceSep ( s_clsTrace+"| "   )  [static]

static const string JetByteTools::Core::s_clsUnknown ( "|UNK"   )  [static]

static const string JetByteTools::Core::s_clsUnknownSep ( s_clsUnknown+"| "   )  [static]

static const string JetByteTools::Core::s_clsVerbose ( "|VERBOSE"   )  [static]

static const string JetByteTools::Core::s_clsVerboseSep ( s_clsVerbose+"| "   )  [static]

static const string JetByteTools::Core::s_clsWarning ( "|WARN"   )  [static]

static const string JetByteTools::Core::s_clsWarningSep ( s_clsWarning+"| "   )  [static]

void SaveBinaryDataAsFile ( const _tstring &  filename,
const TExpandableBuffer< BYTE > &  buffer 
)

void SaveStringAsFile ( const _tstring &  filename,
const _tstring &  data 
)

void SaveStringAsFileA ( const _tstring &  filename,
const string &  data 
)

void SaveStringToFile ( const _tstring &  filename,
HANDLE  hFile,
const _tstring &  data 
)

void SaveStringToFileA ( const _tstring &  filename,
HANDLE  hFile,
const string &  data 
)

void SaveUnicodeStringAsFile ( const _tstring &  filename,
const std::wstring &  data,
const bool  saveAsANSIifPossible 
)

void SetCurrentDirectory ( const _tstring &  directory  ) 

constexpr size_t JetByteTools::Core::SpaceRequiredForType ( const T &   )  [inline]

static bool StringIsAllANSI ( const std::wstring &  data  )  [static]

bool StringToBool ( const _tstring &  stringRepresentation  ) 

bool StringToBoolA ( const string &  stringRepresentation  ) 

void StringToHex ( const _tstring &  str,
BYTE pBuffer,
const size_t  nBytes 
)

Core::_tstring StripFileExtension ( const _tstring &  filename  ) 

std::string StripFileExtensionA ( const string &  filename  ) 

Core::_tstring StripFileNameFromPathName ( const _tstring &  pathName,
const _tstring &  separators 
)

Core::_tstring StripFileNameFromPathName ( const _tstring &  pathName  ) 

std::string StripFileNameFromPathNameA ( const string &  pathName,
const string &  separators 
)

std::string StripFileNameFromPathNameA ( const string &  pathName  ) 

Core::_tstring JetByteTools::Core::StripLastDirectoryFromPathName ( const Core::_tstring &  pathName  )  [inline]

_tstring StripLeading ( const _tstring &  source,
const char  toStrip 
)

std::string StripLeadingA ( const string &  source,
const char  toStrip 
)

_tstring StripSurroundingWhiteSpace ( const _tstring &  source  ) 

std::string StripSurroundingWhiteSpaceA ( const string &  source  ) 

_tstring StripTrailing ( const _tstring &  source,
const char  toStrip 
)

std::string StripTrailingA ( const string &  source,
const char  toStrip 
)

_tstring StripWhiteSpace ( const _tstring &  source  ) 

std::string StripWhiteSpaceA ( const string &  source  ) 

bool JetByteTools::Core::ToBool ( const T &  value  )  [inline]

_tstring JetByteTools::Core::ToHex ( const BYTE  val  )  [inline]

std::string ToHexA ( const BYTE  val  ) 

_tstring JetByteTools::Core::ToHexString ( const void *  pData,
const size_t  length,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const void *  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsWithPaddingWithPrefixLowerCase 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const signed __int64  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const unsigned __int64  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const signed long  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const unsigned long  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const signed short  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const unsigned short  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const signed int  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const unsigned int  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const signed char  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

_tstring JetByteTools::Core::ToHexString ( const unsigned char  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation = HexDigitsDefault 
) [inline]

std::string ToHexStringA ( const void *  pData,
const size_t  length,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const void *  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const signed __int64  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const unsigned __int64  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const signed long  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const unsigned long  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const signed short  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const unsigned short  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const signed int  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const unsigned int  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const signed char  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::string ToHexStringA ( const unsigned char  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const void *  pData,
const size_t  length,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const void *  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const signed __int64  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const unsigned __int64  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const signed long  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const unsigned long  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const signed short  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const unsigned short  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const signed int  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const unsigned int  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const signed char  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexStringW ( const unsigned char  val,
const ToHexStringHexDigitRepresentation  hexDigitRepresentation 
)

std::wstring ToHexW ( const BYTE  val  ) 

_tstring ToLower ( const _tstring &  data  ) 

std::string ToLowerA ( const string &  data  ) 

std::wstring ToLowerW ( const wstring &  data  ) 

_tstring JetByteTools::Core::ToString ( const void *  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const long double  val,
const unsigned short  precision = 0 
) [inline]

_tstring JetByteTools::Core::ToString ( const double  val,
const unsigned short  precision = 0 
) [inline]

_tstring JetByteTools::Core::ToString ( const float  val  )  [inline]

_tstring JetByteTools::Core::ToString ( signed __int64  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const unsigned __int64  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const signed long  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const unsigned long  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const signed short  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const unsigned short  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const signed int  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const unsigned int  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const bool  val  )  [inline]

_tstring JetByteTools::Core::ToString ( const std::thread::id &  id  )  [inline]

std::string ToStringA ( const void *  val  ) 

std::string ToStringA ( const long double  val,
unsigned short  precision 
)

std::string ToStringA ( const double  val,
unsigned short  precision 
)

std::string ToStringA ( const float  val  ) 

std::string ToStringA ( const signed __int64  val  ) 

std::string ToStringA ( const unsigned __int64  val  ) 

std::string ToStringA ( const signed long  val  ) 

std::string ToStringA ( const unsigned long  val  ) 

std::string ToStringA ( const signed short  val  ) 

std::string ToStringA ( const unsigned short  val  ) 

std::string ToStringA ( const signed int  val  ) 

std::string ToStringA ( const unsigned int  val  ) 

std::string ToStringA ( const bool  val  ) 

std::string ToStringA ( const std::thread::id &  id  ) 

std::wstring ToStringW ( const void *  val  ) 

std::wstring ToStringW ( const long double  val,
unsigned short  precision 
)

std::wstring ToStringW ( const double  val,
unsigned short  precision 
)

std::wstring ToStringW ( const float  val  ) 

std::wstring ToStringW ( const signed __int64  val  ) 

std::wstring ToStringW ( const unsigned __int64  val  ) 

std::wstring ToStringW ( const signed long  val  ) 

std::wstring ToStringW ( const unsigned long  val  ) 

std::wstring ToStringW ( const signed short  val  ) 

std::wstring ToStringW ( const unsigned short  val  ) 

std::wstring ToStringW ( const signed int  val  ) 

std::wstring ToStringW ( const unsigned int  val  ) 

std::wstring ToStringW ( const bool  val  ) 

std::wstring ToStringW ( const std::thread::id &  id  ) 

_tstring ToUpper ( const _tstring &  data  ) 

std::string ToUpperA ( const string &  data  ) 

std::wstring ToUpperW ( const wstring &  data  ) 

bool TryCombinePath ( _tstring &  combinedPath,
const _tstring &  path1,
const _tstring &  path2 
)

void ul_MD5Final ( unsigned char  digest[UL_MD5LENGTH],
struct UL_MD5Context *  context 
) [static]

void ul_MD5Init ( struct UL_MD5Context *  context  )  [static]

void ul_MD5Transform ( uint32_t  buf[4],
uint32_t const   in[16] 
) [static]

void ul_MD5Update ( struct UL_MD5Context *  context,
unsigned char const *  buf,
unsigned  len 
) [static]

void ul_SHA1 ( char *  hash_out,
const char *  str,
unsigned  len 
) [static]

void JetByteTools::Core::ul_SHA1Final ( unsigned char  digest[20],
UL_SHA1_CTX *  context 
)

static void JetByteTools::Core::ul_SHA1Final ( unsigned char  digest[UL_SHA1LENGTH],
UL_SHA1_CTX *  context 
) [static]

void ul_SHA1Init ( UL_SHA1_CTX *  context  )  [static]

void ul_SHA1Transform ( uint32_t  state[5],
const unsigned char  buffer[64] 
) [static]

void ul_SHA1Update ( UL_SHA1_CTX *  context,
const unsigned char *  data,
uint32_t  len 
) [static]

unsigned short JetByteTools::Core::ValidatePrecision ( unsigned short  precision  )  [inline]

void WriteResourceToFile ( HANDLE  hFile,
const _tstring &  resourceName,
const _tstring &  resourceType,
const HMODULE  hModule 
)


Variable Documentation

const long JAN_1ST_1900 = 2415021 [static]

const string s_emptyString [static]

const string s_emptyStringLinePrefixA [static]

const wstring s_emptyStringLinePrefixW [static]

static DWORD s_lookupTable [static]

CDebugTrace& s_notUsed = CDebugTrace::Instance() [static]

bool s_processIsExiting = false [static]

const bool s_tableInitialised = InitialiseTable() [static]

const bool s_tableInitialised = InitialiseTable() [static]

const Milliseconds s_tickCountMax = 0xFFFFFFFF [static]

const CTickCountProvider s_tickProvider [static]

const CTickCount64Provider s_tickProvider [static]

CThreadLocalStorage s_tls [static]


Generated on Thu Jan 28 19:41:31 2021 for The Server Framework - v7.1 by doxygen 1.5.3