![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cSingleton.h>
Static Public Member Functions | |
| static void __stdcall | ReleaseModule (HMODULE hMod) |
Static Public Attributes | |
| static cThreadLockFast | sm_LockSingle |
| common lock for all cSingleton. More... | |
Protected Member Functions | |
| cSingletonRegister (const TYPEINFO_t &rAddrCode) noexcept | |
| virtual | ~cSingletonRegister () |
| void | RegisterSingleton () |
Protected Member Functions inherited from Gray::cHeapObject | |
| const void * | get_HeapPtr () const noexcept override |
| Get the top level (outermost, freeable) class pointer. I can delete get_HeapPtr(). More... | |
Protected Attributes | |
| HMODULE | m_hModuleLoaded |
| What modules loaded this ? So singletons can be destroyed if DLL/SO unloads. More... | |
Friends | |
| class | cSingletonManager |
| class | cSingletonTests |
Additional Inherited Members | |
Public Member Functions inherited from Gray::CObject | |
| virtual | ~CObject () |
| virtual bool | isValidCheck () const noexcept |
| < memory allocation and structure definitions are valid. More... | |
| virtual void | AssertValid () const |
| < memory allocation and structure definitions are valid. More... | |
| virtual void | Serialize (cArchive &a) |
Public Member Functions inherited from Gray::cHeapObject | |
| cHeapObject () | |
| virtual | ~cHeapObject () |
| bool | IsValidInsideN (INT_PTR index) const |
| bool | IsValidInsidePtr (void const *pTest) const |
| virtual size_t | GetHeapStatsThis (OUT ITERATE_t &iAllocCount) const |
| virtual bool | isValidCheck () const noexcept |
NON template base for cSingleton. MUST be IHeapObject Register this to allow for proper order of virtual destruction at C runtime destruct. Allows for ordered destruction of singletons if modules unload.
|
protectednoexcept |
|
protectedvirtual |
Allow Early removal of a singleton! This is sort of weird but i should allow it for DLL unload.
|
protected |
register with cSingletonManager Only register this if we know its NOT static. We called new.
|
static |
|
friend |
|
friend |
|
protected |
What modules loaded this ? So singletons can be destroyed if DLL/SO unloads.
|
static |
common lock for all cSingleton.