ORIGINAL
Loading...
Searching...
No Matches
Protected Member Functions | Protected Attributes | Friends | List of all members
original::refCountBase Class Referenceabstract

Base class for reference counting metadata. More...

#include <autoPtr.h>

Inheritance diagram for original::refCountBase:
Inheritance graph
Collaboration diagram for original::refCountBase:
Collaboration graph

Protected Member Functions

 refCountBase ()
 Construct refCountBase object.
 
virtual const voidgetPtr () const noexcept=0
 Get managed pointer (const version)
 
virtual voidgetPtr () noexcept=0
 Get managed pointer.
 
virtual voidreleasePtr () noexcept=0
 Release ownership of the managed pointer.
 
virtual void destroyPtr () noexcept=0
 Destroy managed pointer using deleter.
 
virtual ~refCountBase ()=default
 Virtual destructor for proper cleanup.
 

Protected Attributes

atomic< u_integerstrong_refs
 Strong reference counter.
 
atomic< u_integerweak_refs
 Weak reference counter.
 

Friends

template<typename , typename , typename >
class autoPtr
 

Detailed Description

Base class for reference counting metadata.

Stores reference counts and provides interface for pointer management. This is an abstract base class that defines the reference counting interface.

Constructor & Destructor Documentation

◆ refCountBase()

original::refCountBase::refCountBase ( )
inlineprotected

Construct refCountBase object.

Postcondition
Initializes both reference counts to zero

Member Function Documentation

◆ destroyPtr()

virtual void original::refCountBase::destroyPtr ( )
protectedpure virtualnoexcept

Destroy managed pointer using deleter.

Note
Pure virtual function to be implemented by derived classes

◆ getPtr() [1/2]

virtual const void * original::refCountBase::getPtr ( ) const
protectedpure virtualnoexcept

Get managed pointer (const version)

Returns
Const pointer to managed object
Note
Pure virtual function to be implemented by derived classes

◆ getPtr() [2/2]

virtual void * original::refCountBase::getPtr ( )
protectedpure virtualnoexcept

Get managed pointer.

Returns
Pointer to managed object
Note
Pure virtual function to be implemented by derived classes

◆ releasePtr()

virtual void * original::refCountBase::releasePtr ( )
protectedpure virtualnoexcept

Release ownership of the managed pointer.

Returns
Raw pointer to the managed object
Note
The caller becomes responsible for deleting the returned pointer
Pure virtual function to be implemented by derived classes

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