Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cExpressionContextMgr Class Reference

#include <cExpressionContext.h>

Inheritance diagram for GrayLib::cExpressionContextMgr:
Gray::cSingleton< cExpressionContextMgr > Gray::cSingletonStatic< TYPE > Gray::cSingletonRegister Gray::CObject Gray::cHeapObject Gray::IHeapObject

Public Member Functions

cExpressionContextget_ContextCurrent0 () const noexcept
 
void put_ContextCurrent (cExpressionContext *pContext)
 
cExpressionContextget_ContextRoot () const noexcept
 
cExpressionContextput_ContextRoot (cExpressionContext *pContextRoot)
 
- 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
 

Static Public Member Functions

static cExpressionContext *GRAYCALL GetContextCurrent ()
 
- Static Public Member Functions inherited from Gray::cSingleton< cExpressionContextMgr >
static cExpressionContextMgr *__stdcall get_Single ()
 
static TYPE2 *__stdcall get_SingleT ()
 
static cExpressionContextMgr &__stdcall I ()
 
- Static Public Member Functions inherited from Gray::cSingletonStatic< TYPE >
static bool isSingleCreated () noexcept
 
static TYPEget_SingleU () noexcept
 
static TYPEget_Single ()
 
template<class TYPE2 >
static TYPE2 *__stdcall get_SingleCast ()
 
static TYPEI () noexcept
 
- Static Public Member Functions inherited from Gray::cSingletonRegister
static void __stdcall ReleaseModule (HMODULE hMod)
 

Protected Member Functions

 cExpressionContextMgr ()
 
 ~cExpressionContextMgr ()
 
- Protected Member Functions inherited from Gray::cSingleton< cExpressionContextMgr >
 cSingleton (cExpressionContextMgr *pObject, const TYPEINFO_t &rAddrCode=typeid(cExpressionContextMgr)) noexcept
 
virtual ~cSingleton ()
 
- Protected Member Functions inherited from Gray::cSingletonStatic< TYPE >
 cSingletonStatic (TYPE *pObject) noexcept
 
virtual ~cSingletonStatic () noexcept
 
- Protected Member Functions inherited from Gray::cSingletonRegister
 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

cThreadLocalSysT< cExpressionContext * > m_Current
 Current context for the current thread. does not delete. More...
 
- Protected Attributes inherited from Gray::cSingletonRegister
HMODULE m_hModuleLoaded
 What modules loaded this ? So singletons can be destroyed if DLL/SO unloads. More...
 

Friends

class cSingleton< cExpressionContextMgr >
 

Additional Inherited Members

- Static Public Attributes inherited from Gray::cSingletonRegister
static cThreadLockFast sm_LockSingle
 common lock for all cSingleton. More...
 
- Static Protected Attributes inherited from Gray::cSingletonStatic< TYPE >
static TYPEsm_pThe = nullptr
 pointer to the one and only object of this TYPE. ASSUME automatically init to = nullptr. More...
 

Detailed Description

Keep a current context for each thread. base class for cScriptContextMgr. assume m_pContextRoot is shared by all threads.

Constructor & Destructor Documentation

◆ cExpressionContextMgr()

GrayLib::cExpressionContextMgr::cExpressionContextMgr ( )
protected

◆ ~cExpressionContextMgr()

GrayLib::cExpressionContextMgr::~cExpressionContextMgr ( )
protected

Member Function Documentation

◆ get_ContextCurrent0()

cExpressionContext * GrayLib::cExpressionContextMgr::get_ContextCurrent0 ( ) const
noexcept

Get the current Context block for the current thread. supply no default.

◆ get_ContextRoot()

cExpressionContext* GrayLib::cExpressionContextMgr::get_ContextRoot ( ) const
inlinenoexcept

◆ GetContextCurrent()

cExpressionContext *GRAYCALL GrayLib::cExpressionContextMgr::GetContextCurrent ( )
static

Get the current Context block for the current thread. use default if nullptr.

◆ put_ContextCurrent()

void GrayLib::cExpressionContextMgr::put_ContextCurrent ( cExpressionContext pContext)

◆ put_ContextRoot()

cExpressionContext * GrayLib::cExpressionContextMgr::put_ContextRoot ( cExpressionContext pContextRoot)

sets the global/default/root context for global variables and k_ROOT object.

Friends And Related Function Documentation

◆ cSingleton< cExpressionContextMgr >

friend class cSingleton< cExpressionContextMgr >
friend

Member Data Documentation

◆ m_Current

cThreadLocalSysT<cExpressionContext*> GrayLib::cExpressionContextMgr::m_Current
protected

Current context for the current thread. does not delete.


The documentation for this class was generated from the following files: