Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray::cListNodeRef< _TYPE_REC > Class Template Reference

#include <cListNodeRef.h>

Inheritance diagram for Gray::cListNodeRef< _TYPE_REC >:
Gray::cListNodeT< _TYPE_REC > Gray::cRefBase Gray::cListNodeBase IUnknown Gray::cHeapObject Gray::IHeapObject

Protected Member Functions

virtual void put_Parent (PARENT_t *pParent)
 
- Protected Member Functions inherited from Gray::cListNodeBase
virtual void put_Parent (cListBase *pParent)
 
 cListNodeBase () noexcept
 
- 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...
 

Additional Inherited Members

- Public Member Functions inherited from Gray::cListNodeT< _TYPE_REC >
_TYPE_REC * get_Next () const
 
_TYPE_REC * get_Prev () const
 
- Public Member Functions inherited from Gray::cListNodeBase
virtual ~cListNodeBase ()
 
cListBaseget_Parent () const noexcept
 
cListNodeBaseget_Next () const noexcept
 
cListNodeBaseget_Prev () const noexcept
 
bool hasParent () const noexcept
 
void RemoveFromParent ()
 
virtual HRESULT DisposeThis ()
 
- 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
 
- 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 ()
 

Detailed Description

template<class _TYPE_REC>
class Gray::cListNodeRef< _TYPE_REC >

A smart pointer referenced node in a linked list. Attaching to my parent/list puts a Smart Pointer reference on me. For Objects that are in cListT and based on cHeapObject, cListNodeBase and cRefBase

Note
DecRefCount should "delete this;" in onFinalRelease

Member Function Documentation

◆ put_Parent()

template<class _TYPE_REC >
virtual void Gray::cListNodeRef< _TYPE_REC >::put_Parent ( PARENT_t pParent)
inlineprotectedvirtual

being in the list acts like a reference.


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