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

#include <cThreadLockRW.h>

Inheritance diagram for Gray::cThreadLockableRW:
Gray::cRefBase Gray::cThreadLockRW IUnknown Gray::cThreadLockFast Gray::cThreadLockBase Gray::cLockableBase Gray::cNonCopyable

Additional Inherited Members

- Public Member Functions inherited from Gray::cRefBase
 cRefBase (int iRefCount=0) noexcept
 
virtual ~cRefBase ()
 
int get_RefCount () const noexcept
 
HASHCODE_t get_HashCode () const noexcept
 
 STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept
 
virtual void onFinalRelease ()
 
bool isValidObj () const noexcept
 
 STDMETHOD_ (ULONG, AddRef)(void) override
 
 STDMETHOD_ (ULONG, Release)(void) override
 
STDMETHOD() QueryInterface (const IID &riid, void __RPC_FAR *__RPC_FAR *ppvObject) override
 
void IncRefCount ()
 
void DecRefCount ()
 
bool isStaticConstruct () const noexcept
 
void StaticConstruct ()
 
void StaticDestruct ()
 
bool isDestructing () noexcept
 
void SetDestructing ()
 
- Public Member Functions inherited from Gray::cThreadLockRW
 cThreadLockRW ()
 
 ~cThreadLockRW ()
 
void IncReadLockCount ()
 
void DecReadLockCount ()
 
- Public Member Functions inherited from Gray::cThreadLockFast
 cThreadLockFast () noexcept
 
 cThreadLockFast (const cThreadLockFast &a) noexcept
 
 ~cThreadLockFast () noexcept
 
bool ClearThreadLockOwner (THREADID_t nTid)
 
void Lock ()
 
bool LockTry (TIMESYSD_t dwDelayMS=0)
 
void Unlock ()
 
- Public Member Functions inherited from Gray::cThreadLockBase
 cThreadLockBase () noexcept
 
bool isLocked () const noexcept
 
THREADID_t get_ThreadLockOwner () const
 
bool isThreadLockedByCurrent () const noexcept
 
- Public Attributes inherited from Gray::cThreadLockRW
cInterlockedInt m_nReadLockCount
 How many readers (for orig m_nLockThreadID) More...
 
cInterlockedInt m_nOtherReadLockCount
 How many outside (not on orig thread) readers. More...
 
bool m_bLostOrder
 can't figure who is thread. More...
 
- Protected Member Functions inherited from Gray::cThreadLockBase
THREADID_t __DECL_ALIGN (_SIZEOF_THREADID) m_nLockThreadID
 The thread that has the lock. cThreadId:k_NULL is not locked. More...
 
- Protected Member Functions inherited from Gray::cLockableBase
 cLockableBase () noexcept
 
 ~cLockableBase ()
 
LONG get_LockCount () const
 
bool isLocked () const
 
void IncLockCount ()
 
LONG DecLockCount ()
 
void Lock ()
 
LONG Unlock ()
 
- Protected Member Functions inherited from Gray::cNonCopyable
 cNonCopyable () noexcept
 Force the use of Factory creation via protected constructor. More...
 
 ~cNonCopyable () noexcept
 

Detailed Description

An smart pointer referenced object that can be read/write locked. similar to cThreadLockableRef


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