Mobile API Reference  MicroStrategy 2019
MBase Namespace Reference

Classes

class  Allocator
 
class  Allocator< void >
 
class  Buffer
 
class  BufferException
 
class  BufferImplementation
 
class  ContractManagerAllocException
 
class  DeleteArray
 
class  DeleteC
 
class  DeleteFS
 
class  DeleteOperatorGeneric
 
class  Destroy
 
class  DSSStrongPtr
 
class  ExceptionImpl
 
class  FragmentedString
 
class  GUID
 
class  MemoryContract
 
class  Message
 
class  ModuleMainPtr
 
class  NoCopy
 
class  ObjectScopeGuardImpl0
 
class  ObjectScopeGuardImpl1
 
class  ObjectScopeGuardImpl2
 
class  ReferenceCounted
 
class  ReturnPtr
 
class  ReturnPtrI
 
class  ReturnString
 
class  ReturnUString
 
class  ReturnWString
 
class  ScopeGuardImpl0
 
class  ScopeGuardImpl1
 
class  ScopeGuardImpl2
 
class  ScopeGuardImpl3
 
class  ScopeGuardImpl4
 
class  ScopeGuardImplBase
 
class  SimpleBuffer
 
class  SmartPtrI
 
class  SpinLock
 
class  StringConversionException
 
class  StrongArrayPtr
 
class  StrongBase
 
class  StrongBufferPtr
 
class  StrongObj
 
class  StrongPtr
 
class  Timer
 
class  TMD5
 
class  TotalTimer
 
class  TUUID
 

Typedefs

typedef std::basic_string< WCHAR, std::char_traits< WCHAR >, Allocator< WCHAR > > String
 
typedef StrongPtr< Buffer, DeleteOperatorGeneric< Buffer > > BufferPtr
 
typedef MBase::StrongPtr< FragmentedString, DeleteFS< FragmentedString > > FragmentedStringPtr
 
typedef unsigned short LanguageID
 
typedef unsigned Int32 ErrorCode
 
typedef Int32 MessageID
 
typedef unsigned short MessageDomain
 
typedef void(* VoidFuncPtr_t) ()
 
typedef long long Long64_t
 
typedef unsigned long long ULong64_t
 
typedef const ScopeGuardImplBaseScopeGuard
 
typedef Message BaseException
 
typedef MBase::SmartPtrI< MemoryContractMemoryContractPtr
 
typedef std::string CString
 

Functions

template<class _Ty , class _UT >
bool operator== (const Allocator< _Ty > &left, const Allocator< _UT > &right)
 
template<class _Ty , class _UT >
bool operator!= (const Allocator< _Ty > &left, const Allocator< _UT > &right)
 
DLL_BASE_EXIM ReturnWString ASCIIToWideChar (const char *ipASCII, bool ibUseSubstitutionCharacter=false)
 
DLL_BASE_EXIM ReturnString WideCharToASCII (const wchar_t *ipWide, bool ibUseSubstitutionCharacter=false)
 
long AtomicExchange (long &irVariable, long iNewValue)
 
DLL_BASE_EXIM BufferCreateBuffer (Int32 iSize, Int32 iExtSize, Int32 iBlkSize=Buffer::NT_BLOCK_SIZE, bool ibOnPageBoundary=false)
 throws ContractManagerException (defined in BaseMemoryContract.h) More...
 
DLL_BASE_EXIM BufferCreateBuffer (Int32 iSize, Int32 iExtSize, MBase::MemoryContract *ipMemoryContract, Int32 iBlkSize=Buffer::NT_BLOCK_SIZE, bool ibOnPageBoundary=false)
 throws ContractManagerException (defined in BaseMemoryContract.h) More...
 
DLL_BASE_EXIM FragmentedStringCreateFragmentedString (WCHAR *ipStr, size_t iSize, const MBase::Allocator< WCHAR > &iAlloc=MBase::Allocator< WCHAR >())
 
DLL_BASE_EXIM FragmentedStringCreateFragmentedString (WCHAR *ipStr, const MBase::Allocator< WCHAR > &iAlloc=MBase::Allocator< WCHAR >())
 
bool IsGUIDNULL (const ::GUID &irGUID)
 
bool IsEqualGUID (const ::GUID &irGUID1, const ::GUID &irGUID2)
 
int CompareGUID (const ::GUID &irGUID1, const ::GUID &irGUID2)
 
bool operator== (const ::GUID &irGUID1, const ::GUID &irGUID2)
 
bool operator!= (const ::GUID &irGUID1, const ::GUID &irGUID2)
 
void CreateGUID (::GUID &orGUID)
 
bool operator< (const ::GUID &irGUID1, const ::GUID &irGUID2)
 
unsigned char WideChar2Digit (WCHAR iChar)
 
template<class T >
bool StringToT (T &orT, const WCHAR *i_str)
 
bool String2Guid (::GUID &orGUID, const WCHAR *ipcString)
 
bool String2Guid (::GUID &orGUID, const char *ipString)
 
DLL_BASE_EXIM ReturnWString Guid2String (const ::GUID &irGUID)
 
DLL_BASE_EXIM bool MSString2Guid (::GUID &orGuid, const WCHAR *ipString)
 
DLL_BASE_EXIM ReturnWString Guid2MSString (const ::GUID &irGuid)
 
LanguageID GetPrimaryLanguageID (LanguageID iLanguageID)
 
LanguageID MakeLanguageID (LanguageID iPrimaryLanguageID, LanguageID iSubLanguageID)
 
DLL_BASE_EXIM ErrorCode GetLastError () throw ()
 
DLL_BASE_EXIM ReturnWString GetSystemErrorDescription (ErrorCode iErrorCode) throw ()
 
DLL_BASE_EXIM bool IsSystemError (ErrorCode iErrorCode) throw ()
 
DLL_BASE_EXIM const char * ToString (MBase::MessageDomain iDomain)
 
DLL_BASE_EXIM MBase::MessageDomain ToMessageDomain (const char *ipDomain)
 
DLL_BASE_EXIM ReturnWString MultiByteToWideChar (const char *ipMultiByte, bool ibUseSubstitutionCharacter=false)
 
DLL_BASE_EXIM ReturnString WideCharToMultiByte (const WCHAR *ipWide, bool ibUseSubstitutionCharacter=false)
 
bool operator== (const TMD5 &m1, const TMD5 &m2)
 
bool operator== (const TUUID &u1, const TUUID &u2)
 
bool operator!= (const TUUID &u1, const TUUID &u2)
 
ReturnWString DLL_BASE_EXIM WideChar2String (WCHAR iWideChar)
 
DLL_BASE_EXIM ReturnWString Binary2String (void *ipBin, Int32 iSize)
 
DLL_BASE_EXIM ReturnWString Binary2OctString (void *ipBin, Int32 iSize)
 
DLL_BASE_EXIM ReturnWString ToDecimalWString (int iValue)
 
DLL_BASE_EXIM ReturnString ToDecimalString (int iValue)
 
DLL_BASE_EXIM ReturnWString ToHexUpperWString (int iValue)
 
DLL_BASE_EXIM ReturnString ToHexUpperString (int iValue)
 
DLL_BASE_EXIM ReturnWString ToHexLowerWString (int iValue)
 
DLL_BASE_EXIM ReturnString ToHexLowerString (int iValue)
 
DLL_BASE_EXIM int DecimalToInt (const WCHAR *ipStr)
 
DLL_BASE_EXIM int DecimalToInt (const char *ipStr)
 
DLL_BASE_EXIM double LocaleNeutralStringToDouble (const WCHAR *ipValueString)
 
DLL_BASE_EXIM unsigned int HexToUnsignedInt (const WCHAR *ipStr, bool iIgnoreTrailingCharacters=false)
 
DLL_BASE_EXIM unsigned int HexToUnsignedInt (const char *ipStr, bool iIgnoreTrailingCharacters=false)
 
DLL_BASE_EXIM ReturnWString GetStandardCLibraryErrorDescriptionOrNULL (int iErrorCode) throw ()
 
DLL_BASE_EXIM ReturnString GetStandardCLibraryErrorSymbolOrNULL (int iErrorCode) throw ()
 
DLL_BASE_EXIM ReturnString GetStandardCLibraryErrorSymbolOrDecimalString (int iErrorCode) throw ()
 
DLL_BASE_EXIM ReturnWString GetSignalDescriptionOrNULL (int iSignalNumber) throw ()
 
DLL_BASE_EXIM ReturnString GetSignalNameOrNULL (int iSignalNumber) throw ()
 
DLL_BASE_EXIM ReturnString GetSignalNameOrDecimalString (int iSignalNumber) throw ()
 
DLL_BASE_EXIM Int64 DecimalToInt64 (const wchar_t *ipStr)
 
DLL_BASE_EXIM Int64 DecimalToInt64 (const char *ipStr)
 
DLL_BASE_EXIM void OutputDebugString (const WCHAR *ipDebugString) throw ()
 
DLL_BASE_EXIM void OutputDebugString (const char *ipDebugString) throw ()
 
DLL_BASE_EXIM MBase::ReturnWString GetEnvironmentVariableOrNULL (const WCHAR *ipVariableName)
 
DLL_BASE_EXIM MBase::ReturnWString ReadEnvironmentVariable (const WCHAR *ipVariableName)
 
DLL_BASE_EXIM unsigned Int32 GetCurrentProcessID ()
 
DLL_BASE_EXIM ReturnWString GetComputerName ()
 
DLL_BASE_EXIM Int32 GetUniqueMachineID ()
 
DLL_BASE_EXIM const char * GetProcessLocale () throw ()
 
DLL_BASE_EXIM unsigned Int32 GetCurrentThreadID ()
 
DLL_BASE_EXIM void YieldToAnotherThread ()
 
DLL_BASE_EXIM void Sleep (unsigned long inMilliseconds)
 
DLL_BASE_EXIM ReturnWString IPAddress2MachineName (const MBase::String &ipAddr) throw ()
 
DLL_BASE_EXIM ReturnWString MachineName2IPAddress (const MBase::String &ipMachineName) throw ()
 
DLL_BASE_EXIM unsigned short GetNumberOfSystemProcessors () throw ()
 
DLL_BASE_EXIM MBase::ReturnWString GetModuleFileNameByAddressWithinModule (const void *ipAddressWithinModule)
 
MBase::ReturnWString GetThisModuleFileName ()
 
DLL_BASE_EXIM MBase::ReturnWString GetCurrentLogin ()
 
DLL_BASE_EXIM unsigned Int32 GetPseudoRandomInt32 (unsigned Int32 iMaxValue) throw ()
 
bool IsBigEndian ()
 
DLL_BASE_EXIM MBase::ReturnWString UserIDToName (int iUserID)
 
DLL_BASE_EXIM int UserNameToID (const WCHAR *ipUserName)
 
DLL_BASE_EXIM MBase::ReturnWString GroupIDToName (int iGroupID)
 
DLL_BASE_EXIM int GroupNameToID (const WCHAR *ipGroupName)
 
DLL_BASE_EXIM unsigned long int GetPrivateBytes ()
 
DLL_BASE_EXIM void PauseCurrentProcess ()
 
DLL_BASE_EXIM bool GetSymPageSize (size_t *opPageSize)
 
DLL_BASE_EXIM ReturnWString GetCurrentProcessName ()
 
DLL_BASE_EXIM ReturnWString UTF8ToWideChar (const char *ipUTF8, bool ibUseSubstitutionCharacter=false)
 
DLL_BASE_EXIM bool UTF8IsLeadingByte (char iUTF8)
 
DLL_BASE_EXIM unsigned Int32 UTF8TotalBytes (char iUTF8)
 
DLL_BASE_EXIM ReturnString WideCharToUTF8 (const WCHAR *ipWide, bool ibUseSubstitutionCharacter=false)
 
DLL_BASE_EXIM ReturnString WideCharToUTF8UsingLength (const WCHAR *ipWide, unsigned Int32 iLength, bool ibUseSubstitutionCharacter=false)
 
DLL_BASE_EXIM ReturnString WideCharToUTF8Governed (const WCHAR *ipWide, bool ibUseSubstitutionCharacter, MBase::MemoryContractPtr &irMemContract)
 
DLL_BASE_EXIM ReturnString WideCharToUTF8UsingLengthGoverned (const WCHAR *ipWide, unsigned Int32 iLength, MBase::MemoryContractPtr &irMemContract, bool ibUseSubstitutionCharacter=false)
 
DLL_BASE_EXIM ReturnWString UTF16ToWideChar (const unsigned short *ipUTF16, bool ibUseSubstitutionCharacter=false)
 
DLL_BASE_EXIM ReturnUString WideCharToUTF16 (const WCHAR *ipWide, bool ibUseSubstitutionCharacter=false)
 
template<class T >
ConvertEndian (T iData)
 
template<class Function >
ScopeGuardImpl0< FunctionMakeMethodGuard (Function iFunction) throw ()
 
template<class Function , class Parameter1 >
ScopeGuardImpl1< Function, Parameter1 > MakeMethodGuard (Function iFunction, const Parameter1 &iParameter1) throw ()
 
template<class Function , class Parameter1 , class Parameter2 >
ScopeGuardImpl2< Function, Parameter1, Parameter2 > MakeMethodGuard (Function iFunction, const Parameter1 &iParameter1, const Parameter2 &iParameter2) throw ()
 
template<class Function , class Parameter1 , class Parameter2 , class Parameter3 >
ScopeGuardImpl3< Function, Parameter1, Parameter2, Parameter3 > MakeMethodGuard (Function iFunction, const Parameter1 &iParameter1, const Parameter2 &iParameter2, const Parameter3 &iParameter3) throw ()
 
template<class Function , class Parameter1 , class Parameter2 , class Parameter3 , class Parameter4 >
ScopeGuardImpl4< Function, Parameter1, Parameter2, Parameter3, Parameter4 > MakeMethodGuard (Function iFunction, const Parameter1 &iParameter1, const Parameter2 &iParameter2, const Parameter3 &iParameter3, const Parameter4 &iParameter4) throw ()
 
template<class Object , class MemberFunction >
ObjectScopeGuardImpl0< Object, MemberFunction > MakeObjectGuard (Object &iObject, MemberFunction iMemberFunction) throw ()
 
template<class Object , class MemberFunction , class Parameter1 >
ObjectScopeGuardImpl1< Object, MemberFunction, Parameter1 > MakeObjectGuard (Object &iObject, MemberFunction iMemberFunction, Parameter1 iParameter1) throw ()
 
template<class Object , class MemberFunction , class Parameter1 , class Parameter2 >
ObjectScopeGuardImpl2< Object, MemberFunction, Parameter1, Parameter2 > MakeObjectGuard (Object &iObject, MemberFunction iMemberFunction, Parameter1 iParameter1, Parameter2 iParameter2) throw ()
 

Variables

DLL_BASE_EXIM const MessageDomain MESSAGE_DOMAIN_UNKNOWN
 
DLL_BASE_EXIM const MessageDomain MESSAGE_DOMAIN_ERRNO
 
DLL_BASE_EXIM const MessageDomain MESSAGE_DOMAIN_UNIX_DLERROR
 
DLL_BASE_EXIM const MessageDomain MESSAGE_DOMAIN_UNIX_SIGNAL
 
DLL_BASE_EXIM const MessageDomain MESSAGE_DOMAIN_SERVER
 
const bool kTRUE = 1
 
const bool kFALSE = 0
 
DLL_BASE_EXIM const WCHAR UNICODE_BYTE_ORDER_MARK []
 

Detailed Description

WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING

Use the MultiByte functions with extreme caution. If you are not absolutely sure - use ASCII or UTF8 instead, whichever is more appropriate.

The problems with MultiByte conversion are:

1) the multi-byte encoding is determined by locale – set externally to the program.

2) many multi-byte encodings are limited to a small subset of the whole range of Unicode values. So Unicode->MultiByte conversion may be lossy.

Therefore, no internal code shall use MultiByte conversions. If you do, everything may work perfectly within your environment, but will fall apart with an unusual combination of locale and international characters in a converted string.

Only console I/O functions that must localized may use MultiByte conversions.

WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING

Scope guards are used to automatically rollback opertions.

Declare a local scope guard with your undo operation. If everything goes ok, then Dismiss() the ScopeGuard and it will have no effect. If an error occurs, or an exception is thrown, the scope guard will execute the undo operation as it goes out of scope. A rollback operation must never throw.

ScopeGuard usage:

Create a ScopeGuard with code like:

  1. For member rollback functions

ScopeGuard lGuard = MakeObjectGuard(<object>,&<member_function>); // no parameters ScopeGuard lGuard = MakeObjectGuard(<object>,&<member_function>,<param1>); // one parameter ScopeGuard lGuard = MakeObjectGuard(<object>,&<member_function>,<param1>,<param2>); // two parameters

  1. For non-member rollback functions

ScopeGuard lGuard = MakeMethodGuard(&<function>); // no parameters ScopeGuard lGuard = MakeMethodGuard(&<function>,<param1>); // one parameter ScopeGuard lGuard = MakeMethodGuard(&<function>,<param1>,<param2>); // two parameters

Note: The pass-in parameter in MakeObjectGuard was defined as pass-in-by-value for historical reason. (The one in MakeMethodGuard was defined as pass-in-by-reference, which is fine) So please use reference or pointer for the pass-in parameter in MakeObjectGuard Refer to the VectorGuard3 in ScopeGuardTest.cpp for detail

Typedef Documentation

◆ BaseException

◆ BufferPtr

◆ CString

typedef std::string MBase::CString

MBase::String is just a typedef of std::wstring using MBase::Allocator, so that it can be used with MBase::Buffer.

◆ ErrorCode

typedef unsigned Int32 MBase::ErrorCode

◆ FragmentedStringPtr

◆ LanguageID

typedef unsigned short MBase::LanguageID

A language ID is a 16 bit value which is the combination of a primary language ID and a secondary language ID. The bits are allocated as follows:

 +-----------------------+-------------------------+
 |     Sublanguage ID    |   Primary Language ID   |
 +-----------------------+-------------------------+
  15                   10 9                       0   bit

◆ Long64_t

typedef long long MBase::Long64_t

◆ MemoryContractPtr

◆ MessageDomain

typedef unsigned short MBase::MessageDomain

Message domain describes which API a message belongs to.

IMPORTANT:

Given a message ID (such as 123), and a message domain, it must be absolutely non-ambiguous what this message is and what it means. This is why for example MESSAGE_DOMAIN_ERRNO has a different value on different platforms. See MessageDomain.cpp.

Note: for each new domain, you should add a new Bundle in the Resource project.

◆ MessageID

◆ ScopeGuard

◆ String

typedef std::basic_string< WCHAR, std::char_traits< WCHAR >, Allocator< WCHAR > > MBase::String

MBase::String is just a typedef of std::wstring using MBase::Allocator, so that it can be used with MBase::Buffer.

◆ ULong64_t

typedef unsigned long long MBase::ULong64_t

◆ VoidFuncPtr_t

typedef void(* MBase::VoidFuncPtr_t) ()

Function Documentation

◆ ASCIIToWideChar()

DLL_BASE_EXIM ReturnWString MBase::ASCIIToWideChar ( const char *  ipASCII,
bool  ibUseSubstitutionCharacter = false 
)

Converts an ASCII string to "wide characters" (wchar_t). Only ASCII values in the range 0..127 are allowed.

Parameters
ipASCIIAn ASCII string.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with '?' otherwise throws an exception when an illegal character is found.
Returns
A converted wide character string
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter == false
See also
StringConversionException
WideCharToASCII( const wchar_t*, bool )

◆ AtomicExchange()

long MBase::AtomicExchange ( long &  irVariable,
long  iNewValue 
)
inline

Atomically assigns iNewValue and returns a previous value.

◆ Binary2OctString()

DLL_BASE_EXIM ReturnWString MBase::Binary2OctString ( void *  ipBin,
Int32  iSize 
)

Converts a binary sequence into its zero padded octaldecimal string form.

Parameters
ipBin A pointer pointing to the head of the binary sequence.
iSize The length of the binary sequence(in bytes).

For example: 0010 0001 0000 0011 1111 1110 (iSize = 3) will be converted to L"\\041\\003\\376"

◆ Binary2String()

DLL_BASE_EXIM ReturnWString MBase::Binary2String ( void *  ipBin,
Int32  iSize 
)

Converts a binary sequence into its zero padded hexadecimal string form.

Parameters
ipBin A pointer pointing to the head of the binary sequence.
iSize The length of the binary sequence(in bytes).

For example: 0010 0001 0000 0011 1111 1110 (iSize = 3) will be converted to L"2103FE"

◆ CompareGUID()

int MBase::CompareGUID ( const ::GUID irGUID1,
const ::GUID irGUID2 
)
inline

CompareGUID returns: <0 when irGUID1 < irGUID2 0 when irGUID1 == irGUID2 >0 when irGUID1 > irGUID2

◆ ConvertEndian()

template<class T >
T MBase::ConvertEndian ( iData)
inline

Template function to conduct endian conversion on the given data type. Since Intel and SUN/IBM have different endian architecture, when a block of memory needs to be interpreted as some data type, the result will be different. Use this function to perform the conversion. This is an inline function to reduce the cost of a function call, especially for the case where an array of data needs to be converted. To use it, please specify the data type to be converted. For example, to convert long, call it like this: MBase::ConvertEndian<long>(lnData).

◆ CreateBuffer() [1/2]

DLL_BASE_EXIM Buffer* MBase::CreateBuffer ( Int32  iSize,
Int32  iExtSize,
Int32  iBlkSize = Buffer::NT_BLOCK_SIZE,
bool  ibOnPageBoundary = false 
)

throws ContractManagerException (defined in BaseMemoryContract.h)

◆ CreateBuffer() [2/2]

DLL_BASE_EXIM Buffer* MBase::CreateBuffer ( Int32  iSize,
Int32  iExtSize,
MBase::MemoryContract ipMemoryContract,
Int32  iBlkSize = Buffer::NT_BLOCK_SIZE,
bool  ibOnPageBoundary = false 
)

throws ContractManagerException (defined in BaseMemoryContract.h)

◆ CreateFragmentedString() [1/2]

DLL_BASE_EXIM FragmentedString* MBase::CreateFragmentedString ( WCHAR ipStr,
size_t  iSize,
const MBase::Allocator< WCHAR > &  iAlloc = MBase::AllocatorWCHAR >() 
)

◆ CreateFragmentedString() [2/2]

DLL_BASE_EXIM FragmentedString* MBase::CreateFragmentedString ( WCHAR ipStr,
const MBase::Allocator< WCHAR > &  iAlloc = MBase::AllocatorWCHAR >() 
)

◆ CreateGUID()

void MBase::CreateGUID ( ::GUID orGUID)

Generates a new globally unique value.

Exceptions
MBase::BaseExceptionin case of an error.

◆ DecimalToInt() [1/2]

DLL_BASE_EXIM int MBase::DecimalToInt ( const WCHAR ipStr)

Converts a decimal number into a 32-bit integer

◆ DecimalToInt() [2/2]

DLL_BASE_EXIM int MBase::DecimalToInt ( const char *  ipStr)

Converts a decimal number into a 32-bit integer

◆ DecimalToInt64() [1/2]

DLL_BASE_EXIM Int64 MBase::DecimalToInt64 ( const wchar_t *  ipStr)

Converts a decimal number into a 64-bit integer

◆ DecimalToInt64() [2/2]

DLL_BASE_EXIM Int64 MBase::DecimalToInt64 ( const char *  ipStr)

Converts a decimal number into a 64-bit integer

◆ GetComputerName()

DLL_BASE_EXIM ReturnWString MBase::GetComputerName ( )
Returns
the computer/machine/host name.

◆ GetCurrentLogin()

DLL_BASE_EXIM MBase::ReturnWString MBase::GetCurrentLogin ( )

Return a string representation of the current login: on Windows: domain on UNIX: username

◆ GetCurrentProcessID()

DLL_BASE_EXIM unsigned Int32 MBase::GetCurrentProcessID ( )
Returns
the current process identifier.

◆ GetCurrentProcessName()

DLL_BASE_EXIM ReturnWString MBase::GetCurrentProcessName ( )
Returns
Name of current process

◆ GetCurrentThreadID()

DLL_BASE_EXIM unsigned Int32 MBase::GetCurrentThreadID ( )
Returns
the current thread identifier.

IMPORTANT: the returned value is NOT guaranteed to be the underlying OS thread id.

◆ GetEnvironmentVariableOrNULL()

DLL_BASE_EXIM MBase::ReturnWString MBase::GetEnvironmentVariableOrNULL ( const WCHAR ipVariableName)

DEPRECATED!!! Do not use this method

Returns
environment variable value or NULL if the variable is not set.

◆ GetLastError()

DLL_BASE_EXIM ErrorCode MBase::GetLastError ( )
throw (
)

Insead use: errno – on Windows, UNIX, or GetLastError() – on Windows

◆ GetModuleFileNameByAddressWithinModule()

DLL_BASE_EXIM MBase::ReturnWString MBase::GetModuleFileNameByAddressWithinModule ( const void *  ipAddressWithinModule)
Returns
The module filename that corresponds to the given address.
See also
MBase::GetThisModuleFileName()

◆ GetNumberOfSystemProcessors()

DLL_BASE_EXIM unsigned short MBase::GetNumberOfSystemProcessors ( )
throw (
)

◆ GetPrimaryLanguageID()

LanguageID MBase::GetPrimaryLanguageID ( LanguageID  iLanguageID)
inline
Returns
the "primary language ID" component of the input parameter.

◆ GetPrivateBytes()

DLL_BASE_EXIM unsigned long int MBase::GetPrivateBytes ( )

◆ GetProcessLocale()

DLL_BASE_EXIM const char* MBase::GetProcessLocale ( )
throw (
)
Returns
the process locale requires dll to be previously initialized (DllMain)

◆ GetPseudoRandomInt32()

DLL_BASE_EXIM unsigned Int32 MBase::GetPseudoRandomInt32 ( unsigned Int32  iMaxValue)
throw (
)

This method returns a pseudo-random sequence of integers in the range of 1 to iMaxValue.

◆ GetSignalDescriptionOrNULL()

DLL_BASE_EXIM ReturnWString MBase::GetSignalDescriptionOrNULL ( int  iSignalNumber)
throw (
)

Return a string describing a signal in the current locale, or NULL if the description is not available.

◆ GetSignalNameOrDecimalString()

DLL_BASE_EXIM ReturnString MBase::GetSignalNameOrDecimalString ( int  iSignalNumber)
throw (
)

Return a string with the signal name, such as HUP, INT, ILL, KILL, SEGV, and so on or a string formatted as decimal integer.

◆ GetSignalNameOrNULL()

DLL_BASE_EXIM ReturnString MBase::GetSignalNameOrNULL ( int  iSignalNumber)
throw (
)

Return a string with the signal name, such as HUP, INT, ILL, KILL, SEGV, and so on or NULL of the signal number is invalid.

◆ GetStandardCLibraryErrorDescriptionOrNULL()

DLL_BASE_EXIM ReturnWString MBase::GetStandardCLibraryErrorDescriptionOrNULL ( int  iErrorCode)
throw (
)

Return a string describing a Standard C Library error, as returned by errno

◆ GetStandardCLibraryErrorSymbolOrDecimalString()

DLL_BASE_EXIM ReturnString MBase::GetStandardCLibraryErrorSymbolOrDecimalString ( int  iErrorCode)
throw (
)

Return a a Standard C Library error symbol (such as EPERM) or a string formatted as decimal integer.

◆ GetStandardCLibraryErrorSymbolOrNULL()

DLL_BASE_EXIM ReturnString MBase::GetStandardCLibraryErrorSymbolOrNULL ( int  iErrorCode)
throw (
)

Return a a Standard C Library error symbol (such as EPERM) or NULL.

◆ GetSymPageSize()

DLL_BASE_EXIM bool MBase::GetSymPageSize ( size_t *  opPageSize)

◆ GetSystemErrorDescription()

DLL_BASE_EXIM ReturnWString MBase::GetSystemErrorDescription ( ErrorCode  iErrorCode)
throw (
)

Instead use: MBase::GetStandardCLibraryErrorDescriptionOrNULL – for error codes returned by errno, or MBase::GetWin32APIErrorDescriptionOrNULL – for error codes returned by GetLastError()

◆ GetThisModuleFileName()

MBase::ReturnWString MBase::GetThisModuleFileName ( )
inline
Returns
The filename of the module, which invoked GetThisModuleFileName().

◆ GetUniqueMachineID()

DLL_BASE_EXIM Int32 MBase::GetUniqueMachineID ( )
Parameters
pIDupon return a unique machine ID based on machine address.
Returns
0 if successful

◆ GroupIDToName()

DLL_BASE_EXIM MBase::ReturnWString MBase::GroupIDToName ( int  iGroupID)

Lookup a group name given a group ID.

◆ GroupNameToID()

DLL_BASE_EXIM int MBase::GroupNameToID ( const WCHAR ipGroupName)

Lookup a group ID given a group name.

◆ Guid2MSString()

DLL_BASE_EXIM ReturnWString MBase::Guid2MSString ( const ::GUID irGuid)

Guid2MSString converts a guid structure into its Microsoft's string form. The string format is identical to the one used in Microsoft's registry.

Format example: guid { 0x01234567, 0x89ab, 0xcdef, { 0x02, 0x46, 0x8a, 0xce, 0x13, 0x57, 0x9b, 0xdf } } will be converted to string "{01234567-89AB-CDEF-0246-8ACE13579BDF}"

◆ Guid2String()

DLL_BASE_EXIM ReturnWString MBase::Guid2String ( const ::GUID irGUID)

Guid2String converts a guid structure into its string form. The string format is proprietary to MicroStrategy.

Format example: guid { 0x01234567, 0x89ab, 0xcdef, { 0x02, 0x46, 0x8a, 0xce, 0x13, 0x57, 0x9b, 0xdf } } will be converted to string "01234567CDEF89ABCE8A4602DF9B5713"

◆ HexToUnsignedInt() [1/2]

DLL_BASE_EXIM unsigned int MBase::HexToUnsignedInt ( const WCHAR ipStr,
bool  iIgnoreTrailingCharacters = false 
)

Convert a string into a 32-bit unsigned integer.

Parameters
ipStra hex number in the range [0 .. 0xFFFFFFFE] without any prefix.
iIgnoreTrailingCharacterswhether to ignore the unparsed tail of the input string.
Exceptions
MBase::StringConversionExceptionin case of an error.

◆ HexToUnsignedInt() [2/2]

DLL_BASE_EXIM unsigned int MBase::HexToUnsignedInt ( const char *  ipStr,
bool  iIgnoreTrailingCharacters = false 
)

◆ IPAddress2MachineName()

DLL_BASE_EXIM ReturnWString MBase::IPAddress2MachineName ( const MBase::String ipAddr)
throw (
)
Returns
the machine name based on the IP addrerss

◆ IsBigEndian()

bool MBase::IsBigEndian ( )
inline

Returns true if the machine is big endian, false otherwise

◆ IsEqualGUID()

bool MBase::IsEqualGUID ( const ::GUID irGUID1,
const ::GUID irGUID2 
)
inline
Returns
true if both GUIDs are the same

◆ IsGUIDNULL()

bool MBase::IsGUIDNULL ( const ::GUID irGUID)
inline
Returns
true if the GUID is equal to GUID_NULL

◆ IsSystemError()

DLL_BASE_EXIM bool MBase::IsSystemError ( ErrorCode  iErrorCode)
throw (
)

Do not use this one at all!

◆ LocaleNeutralStringToDouble()

DLL_BASE_EXIM double MBase::LocaleNeutralStringToDouble ( const WCHAR ipValueString)

Converts a string in the following format to double 123.456, +1234.456, -1234.456, -.456, or -456. 123.456, +1234.456, -1.2344e56, -.45E-6

◆ MachineName2IPAddress()

DLL_BASE_EXIM ReturnWString MBase::MachineName2IPAddress ( const MBase::String ipMachineName)
throw (
)
Returns
the IP addrerss based on the machine name

◆ MakeLanguageID()

LanguageID MBase::MakeLanguageID ( LanguageID  iPrimaryLanguageID,
LanguageID  iSubLanguageID 
)
inline

◆ MakeMethodGuard() [1/5]

template<class Function >
ScopeGuardImpl0<Function> MBase::MakeMethodGuard ( Function  iFunction)
throw (
)

Function to create a ScopeGuardImpl0.

◆ MakeMethodGuard() [2/5]

template<class Function , class Parameter1 >
ScopeGuardImpl1<Function, Parameter1> MBase::MakeMethodGuard ( Function  iFunction,
const Parameter1 &  iParameter1 
)
throw (
)

Function to create a ScopeGuardImpl1.

◆ MakeMethodGuard() [3/5]

template<class Function , class Parameter1 , class Parameter2 >
ScopeGuardImpl2<Function, Parameter1, Parameter2> MBase::MakeMethodGuard ( Function  iFunction,
const Parameter1 &  iParameter1,
const Parameter2 &  iParameter2 
)
throw (
)

Function to create a ScopeGuardImpl2.

◆ MakeMethodGuard() [4/5]

template<class Function , class Parameter1 , class Parameter2 , class Parameter3 >
ScopeGuardImpl3<Function, Parameter1, Parameter2, Parameter3> MBase::MakeMethodGuard ( Function  iFunction,
const Parameter1 &  iParameter1,
const Parameter2 &  iParameter2,
const Parameter3 &  iParameter3 
)
throw (
)

Function to create a ScopeGuardImpl3.

◆ MakeMethodGuard() [5/5]

template<class Function , class Parameter1 , class Parameter2 , class Parameter3 , class Parameter4 >
ScopeGuardImpl4<Function, Parameter1, Parameter2, Parameter3, Parameter4> MBase::MakeMethodGuard ( Function  iFunction,
const Parameter1 &  iParameter1,
const Parameter2 &  iParameter2,
const Parameter3 &  iParameter3,
const Parameter4 &  iParameter4 
)
throw (
)

Function to create a ScopeGuardImpl3.

◆ MakeObjectGuard() [1/3]

template<class Object , class MemberFunction >
ObjectScopeGuardImpl0<Object, MemberFunction> MBase::MakeObjectGuard ( Object &  iObject,
MemberFunction  iMemberFunction 
)
throw (
)

Function to create a ObjectScopeGuardImpl0.

◆ MakeObjectGuard() [2/3]

template<class Object , class MemberFunction , class Parameter1 >
ObjectScopeGuardImpl1<Object, MemberFunction, Parameter1> MBase::MakeObjectGuard ( Object &  iObject,
MemberFunction  iMemberFunction,
Parameter1  iParameter1 
)
throw (
)

Function to create a ObjectScopeGuardImpl1.

◆ MakeObjectGuard() [3/3]

template<class Object , class MemberFunction , class Parameter1 , class Parameter2 >
ObjectScopeGuardImpl2<Object, MemberFunction, Parameter1, Parameter2> MBase::MakeObjectGuard ( Object &  iObject,
MemberFunction  iMemberFunction,
Parameter1  iParameter1,
Parameter2  iParameter2 
)
throw (
)

Function to create a ObjectScopeGuardImpl2.

◆ MSString2Guid()

DLL_BASE_EXIM bool MBase::MSString2Guid ( ::GUID orGuid,
const WCHAR ipString 
)

MSString2Guid converts from Microsoft's string version to the guid structure version of a GUID. The string format is identical to the one used in Microsoft's registry.

Returns
false if the string is not a guid

Format example: string "{01234567-89AB-CDEF-0246-8ACE13579BDF}" will be converted to guid { 0x01234567, 0x89ab, 0xcdef, { 0x02, 0x46, 0x8a, 0xce, 0x13, 0x57, 0x9b, 0xdf } }

◆ MultiByteToWideChar()

DLL_BASE_EXIM ReturnWString MBase::MultiByteToWideChar ( const char *  ipMultiByte,
bool  ibUseSubstitutionCharacter = false 
)

Converts a multi-byte string (assumed to be encoded accordingly to the current locale settings) to "wide characters" (wchar_t).

Parameters
ipMultiByteA multi-byte string.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with '?' otherwise throws an exception when an illegal character is found.
Returns
A converted wide character string
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter is false.
See also
StringConversionException
WideCharToMultiByte( const wchar_t*, bool )
ASCIIToWideChar( const char*, bool )
UTF8ToWideChar( const char*, bool )

◆ operator!=() [1/3]

bool MBase::operator!= ( const TUUID u1,
const TUUID u2 
)
inline

◆ operator!=() [2/3]

bool MBase::operator!= ( const ::GUID irGUID1,
const ::GUID irGUID2 
)
inline

◆ operator!=() [3/3]

template<class _Ty , class _UT >
bool MBase::operator!= ( const Allocator< _Ty > &  left,
const Allocator< _UT > &  right 
)
inline

◆ operator<()

bool MBase::operator< ( const ::GUID irGUID1,
const ::GUID irGUID2 
)
inline

String2Guid converts from the string version to the guid structure version of a GUID. The string format is proprietary to MicroStrategy.

Returns
false if the string is not a guid

Format example: string "01234567CDEF89ABCE8A4602DF9B5713" will be converted to guid { 0x01234567, 0x89ab, 0xcdef, { 0x02, 0x46, 0x8a, 0xce, 0x13, 0x57, 0x9b, 0xdf } }

◆ operator==() [1/4]

bool MBase::operator== ( const TMD5 m1,
const TMD5 m2 
)

◆ operator==() [2/4]

bool MBase::operator== ( const TUUID u1,
const TUUID u2 
)
inline

◆ operator==() [3/4]

bool MBase::operator== ( const ::GUID irGUID1,
const ::GUID irGUID2 
)
inline

◆ operator==() [4/4]

template<class _Ty , class _UT >
bool MBase::operator== ( const Allocator< _Ty > &  left,
const Allocator< _UT > &  right 
)
inline

◆ OutputDebugString() [1/2]

DLL_BASE_EXIM void MBase::OutputDebugString ( const WCHAR ipDebugString)
throw (
)

This function outputs a string into the "debug" stream on Windows and stderr on UNIX.

The debug string will be terminated with
on Windows and
on UNIX.

◆ OutputDebugString() [2/2]

DLL_BASE_EXIM void MBase::OutputDebugString ( const char *  ipDebugString)
throw (
)

◆ PauseCurrentProcess()

DLL_BASE_EXIM void MBase::PauseCurrentProcess ( )

◆ ReadEnvironmentVariable()

DLL_BASE_EXIM MBase::ReturnWString MBase::ReadEnvironmentVariable ( const WCHAR ipVariableName)
Returns
environment variable value. If the variable is not set it is empty.

◆ Sleep()

DLL_BASE_EXIM void MBase::Sleep ( unsigned long  inMilliseconds)

Efficiently wait for at least the number of milliseconds.

◆ String2Guid() [1/2]

bool MBase::String2Guid ( ::GUID orGUID,
const WCHAR ipcString 
)
inline

String2Guid converts from the string version to the guid structure version of a GUID. The string format is proprietary to MicroStrategy.

Returns
false if the string is not a guid

Format example: string "01234567CDEF89ABCE8A4602DF9B5713" will be converted to guid { 0x01234567, 0x89ab, 0xcdef, { 0x02, 0x46, 0x8a, 0xce, 0x13, 0x57, 0x9b, 0xdf } }

◆ String2Guid() [2/2]

bool MBase::String2Guid ( ::GUID orGUID,
const char *  ipString 
)
inline

◆ StringToT()

template<class T >
bool MBase::StringToT ( T &  orT,
const WCHAR i_str 
)
inline

◆ ToDecimalString()

DLL_BASE_EXIM ReturnString MBase::ToDecimalString ( int  iValue)

Converts an int into a decimal string

◆ ToDecimalWString()

DLL_BASE_EXIM ReturnWString MBase::ToDecimalWString ( int  iValue)

Converts an int into a decimal string

◆ ToHexLowerString()

DLL_BASE_EXIM ReturnString MBase::ToHexLowerString ( int  iValue)

Converts an int into a lower-case hex string

◆ ToHexLowerWString()

DLL_BASE_EXIM ReturnWString MBase::ToHexLowerWString ( int  iValue)

Converts an int into a lower-case hex string

◆ ToHexUpperString()

DLL_BASE_EXIM ReturnString MBase::ToHexUpperString ( int  iValue)

Converts an int into an upper-case hex string

◆ ToHexUpperWString()

DLL_BASE_EXIM ReturnWString MBase::ToHexUpperWString ( int  iValue)

Converts an int into an upper-case hex string

◆ ToMessageDomain()

DLL_BASE_EXIM MBase::MessageDomain MBase::ToMessageDomain ( const char *  ipDomain)

Convert a string to a MessageDomain.

◆ ToString()

DLL_BASE_EXIM const char* MBase::ToString ( MBase::MessageDomain  iDomain)

Convert a MessageDomain to a string.

◆ UserIDToName()

DLL_BASE_EXIM MBase::ReturnWString MBase::UserIDToName ( int  iUserID)

Lookup a user name given a user ID.

◆ UserNameToID()

DLL_BASE_EXIM int MBase::UserNameToID ( const WCHAR ipUserName)

Lookup a user ID given a user name.

◆ UTF16ToWideChar()

DLL_BASE_EXIM ReturnWString MBase::UTF16ToWideChar ( const unsigned short *  ipUTF16,
bool  ibUseSubstitutionCharacter = false 
)

Converts a Unicode string from UTF-16 to platform-specific "wide characters" (wchar_t), which carry UCS-2 Unicode values.

Parameters
ipUTF16A Unicode string encoded using UTF-16.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with U+FFFD otherwise throws an exception when an illegal character is found.
Returns
A Unicode string of platform dependent wchar_t
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter == false
See also
StringConversionException
WideCharToUTF16( const WCHAR*, bool )

◆ UTF8IsLeadingByte()

DLL_BASE_EXIM bool MBase::UTF8IsLeadingByte ( char  iUTF8)

Checks a single byte in a UTF-8 string and returns true if it is the leading byte (the first byte in a series of bytes that makes up one character)

Parameters
iUTF8A single byte in a UTF-8 string
Returns
true when the input byte is a leading byte
See also
UTF8ToWideChar( const char*, bool ), UTF8TotalBytes

◆ UTF8TotalBytes()

DLL_BASE_EXIM unsigned Int32 MBase::UTF8TotalBytes ( char  iUTF8)

Checks the lead byte in a UTF-8 string and returns the number of bytes in this one character

Parameters
iUTF8A single byte in a UTF-8 string
Returns
number of bytes in this one character
Exceptions
StringConversionExceptionwhen input character is not the leading byte or is an invalid octet
See also
UTF8ToWideChar( const char*, bool ), UTF8IsLeadingByte

◆ UTF8ToWideChar()

DLL_BASE_EXIM ReturnWString MBase::UTF8ToWideChar ( const char *  ipUTF8,
bool  ibUseSubstitutionCharacter = false 
)

Converts a Unicode string from UTF-8 to platform-specific "wide characters" (wchar_t), which carry UCS-2 Unicode values.

Parameters
ipUTF8A Unicode string encoded using UTF-8.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with U+FFFD otherwise throws an exception when an illegal character is found.
Returns
A Unicode string of platform dependent wchar_t
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter == false
See also
StringConversionException
WideCharToUTF8( const WCHAR*, bool )

◆ WideChar2Digit()

unsigned char MBase::WideChar2Digit ( WCHAR  iChar)
inline

◆ WideChar2String()

ReturnWString DLL_BASE_EXIM MBase::WideChar2String ( WCHAR  iWideChar)

Converts a wide character into its zero padded hexadecimal string form.

Format example: L'A' will be converted to L"0041"

◆ WideCharToASCII()

DLL_BASE_EXIM ReturnString MBase::WideCharToASCII ( const wchar_t *  ipWide,
bool  ibUseSubstitutionCharacter = false 
)

Converts a wide character string to an ASCII string. Only ASCII values in the range 0..127 are allowed.

Parameters
ipWideA wide character string.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with '?' otherwise throws an exception
Returns
An ASCII string.
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter is false.
See also
StringConversionException
ASCIIToWideChar( const char*, bool )

◆ WideCharToMultiByte()

DLL_BASE_EXIM ReturnString MBase::WideCharToMultiByte ( const WCHAR ipWide,
bool  ibUseSubstitutionCharacter = false 
)

Converts a wide character string to a multi-byte string in a locale-dependent encoding.

Parameters
ipWideA wide character string.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with '?' otherwise throws an exception.
Returns
A multi-byte string.
Exceptions
StringConversionExceptionwhen an character cannot be converted is found and ibUseSubstitutionCharacter is false.
See also
StringConversionException
MultiByteToWideChar( const char*, bool )
WideCharToASCII( const wchar_t*, bool )
WideCharToUTF8( const wchar_t*, bool )

◆ WideCharToUTF16()

DLL_BASE_EXIM ReturnUString MBase::WideCharToUTF16 ( const WCHAR ipWide,
bool  ibUseSubstitutionCharacter = false 
)

Converts a Unicode string from platform-specific "wide characters" (wchar_t) to UTF-16.

Parameters
ipWideA wide character Unicode string.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with U+FFFD otherwise throws an exception
Returns
A Unicode string as UTF-16.
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter == false
See also
StringConversionException
UTF16ToWideChar( const char*, bool )

◆ WideCharToUTF8()

DLL_BASE_EXIM ReturnString MBase::WideCharToUTF8 ( const WCHAR ipWide,
bool  ibUseSubstitutionCharacter = false 
)

Converts a Unicode string from platform-specific "wide characters" (wchar_t) to UTF-8.

Parameters
ipWideA wide character Unicode string.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with U+FFFD otherwise throws an exception
Returns
A Unicode string as UTF-8.
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter == false
See also
StringConversionException
UTF8ToWideChar( const char*, bool )

◆ WideCharToUTF8Governed()

DLL_BASE_EXIM ReturnString MBase::WideCharToUTF8Governed ( const WCHAR ipWide,
bool  ibUseSubstitutionCharacter,
MBase::MemoryContractPtr irMemContract 
)

Converts a Unicode string from platform-specific "wide characters" (wchar_t) to UTF-8.

Parameters
ipWideA wide character Unicode string.
ibUseSubstitutionCharacterwhen true, replaces invalid characters with U+FFFD otherwise throws an exception
irMemContracta memory contract used to govern the memory allocation
Returns
A Unicode string as UTF-8.
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter == false
See also
StringConversionException
UTF8ToWideChar( const char*, bool )

◆ WideCharToUTF8UsingLength()

DLL_BASE_EXIM ReturnString MBase::WideCharToUTF8UsingLength ( const WCHAR ipWide,
unsigned Int32  iLength,
bool  ibUseSubstitutionCharacter = false 
)

Converts a Unicode string from platform-specific "wide characters" (wchar_t) to UTF-8. This differs from the above method in that the passed in string need not be null terminated. The passed out string will be null terminated

Parameters
ipWideA wide character Unicode string.
iLengthThe number of characters to convert
ibUseSubstitutionCharacterwhen true, replaces invalid characters with U+FFFD otherwise throws an exception
Returns
A Unicode string as UTF-8.
Exceptions
StringConversionExceptionwhen an invalid character found and ibUseSubstitutionCharacter == false
See also
StringConversionException
UTF8ToWideChar( const char*, bool )

◆ WideCharToUTF8UsingLengthGoverned()

DLL_BASE_EXIM ReturnString MBase::WideCharToUTF8UsingLengthGoverned ( const WCHAR ipWide,
unsigned Int32  iLength,
MBase::MemoryContractPtr irMemContract,
bool  ibUseSubstitutionCharacter = false 
)

◆ YieldToAnotherThread()

DLL_BASE_EXIM void MBase::YieldToAnotherThread ( )

Yield execution to another thread.

This method has the same semantics as ::SwitchToThread on Win32, and ::sched_yield on UNIX.

NOTE: Do not use MBase::Sleep(0) instead of MSynch::YieldToAnotherThread.

Variable Documentation

◆ kFALSE

const bool MBase::kFALSE = 0

◆ kTRUE

const bool MBase::kTRUE = 1

◆ MESSAGE_DOMAIN_ERRNO

DLL_BASE_EXIM const MessageDomain MBase::MESSAGE_DOMAIN_ERRNO

◆ MESSAGE_DOMAIN_SERVER

DLL_BASE_EXIM const MessageDomain MBase::MESSAGE_DOMAIN_SERVER

◆ MESSAGE_DOMAIN_UNIX_DLERROR

DLL_BASE_EXIM const MessageDomain MBase::MESSAGE_DOMAIN_UNIX_DLERROR

◆ MESSAGE_DOMAIN_UNIX_SIGNAL

DLL_BASE_EXIM const MessageDomain MBase::MESSAGE_DOMAIN_UNIX_SIGNAL

◆ MESSAGE_DOMAIN_UNKNOWN

DLL_BASE_EXIM const MessageDomain MBase::MESSAGE_DOMAIN_UNKNOWN

◆ UNICODE_BYTE_ORDER_MARK

DLL_BASE_EXIM const WCHAR MBase::UNICODE_BYTE_ORDER_MARK[]

A Unicode BOM (Byte Order Mark)

See also
<URL:http://www.unicode.org/unicode/faq/utf_bom.html>