Class to track an object using SmartPointer. More...
Public Member Functions | |
const Burger::StaticRTTI * | get_StaticRTTI (void) const noexcept override |
Get the description to the class. | |
ReferenceCounter () noexcept | |
Sets the reference count to zero. | |
virtual | ~ReferenceCounter () |
Destructor. | |
void | AddRef (void) noexcept |
Increase the reference count by 1. | |
void | Release (void) noexcept |
Decrease the reference count by 1. | |
Public Member Functions inherited from Burger::Base | |
const char * | get_class_name (void) const noexcept |
Get the name of the class. | |
virtual | ~Base () noexcept=default |
Destructor. | |
Static Public Attributes | |
static const Burger::StaticRTTI | g_StaticRTTI |
The global description of the class. | |
Static Public Attributes inherited from Burger::Base | |
static const Burger::StaticRTTI | g_StaticRTTI |
The global description of the class. | |
Private Member Functions | |
ReferenceCounter (const ReferenceCounter &)=delete | |
ReferenceCounter & | operator= (const ReferenceCounter &)=delete |
ReferenceCounter (ReferenceCounter &&)=delete | |
ReferenceCounter & | operator= (ReferenceCounter &&)=delete |
Private Attributes | |
uint_t | m_uRefCount |
Number of smart pointers that are claiming ownership of this object. | |
Class to track an object using SmartPointer.
When using a SmartPointer, it needs to be able to keep track of an object's reference count to know when the object should be deleted. Once all SmartPointer objects release ownership of this object, the reference count will reach zero and this object will immediately self-destruct.
|
privatedelete |
|
privatedelete |
|
inlinenoexcept |
Sets the reference count to zero.
|
virtual |
Destructor.
Does absolutely nothing
|
inlinenoexcept |
|
overridevirtualnoexcept |
Get the description to the class.
This virtual function will pull the pointer to the StaticRTTI instance that has the name of the class. Due to it being virtual, it will be the name of the most derived class.
Reimplemented from Burger::Base.
Reimplemented in Burger::Flash::SharedBuffer, Burger::Shader2DCColor, Burger::Shader2DCColorDX9, Burger::Shader2DCColorOpenGL, Burger::Shader2DColorVertex, Burger::Shader2DColorVertexDX9, Burger::Shader2DColorVertexOpenGL, Burger::SoundBufferRez, Burger::Texture, Burger::TextureDirectX9, Burger::TextureOpenGL, Burger::VertexBuffer, Burger::VertexBufferDirectX9, Burger::VertexBufferOpenGL, and Burger::WeakAndStrongBase.
|
privatedelete |
|
privatedelete |
|
inlinenoexcept |
|
static |
The global description of the class.
This record contains the name of this class and a reference to the parent
|
private |
Number of smart pointers that are claiming ownership of this object.