r8brain-free-src
High-quality pro audio sample rate converter library
 
Loading...
Searching...
No Matches
r8b::CPtrKeeper< T > Class Template Reference

Pointer-to-object "keeper" class with automatic deletion. More...

#include <r8bbase.h>

Public Member Functions

template<typename T2>
 CPtrKeeper (T2 const aObject)
 Constructor assigns a pointer to object to this keeper.
 
 operator T* () const
 Returns pointer to keeped object, or nullptr, if no object is kept.
 
T * operator-> () const
 Returns pointer to keeped object, or nullptr, if no object is being kept.
 
template<typename T2>
void operator= (T2 const aObject)
 Assigns a pointer to object to this keeper. A previously keeped pointer will be reset and object deleted.
 
void reset ()
 Resets the keeped pointer and deletes the keeped object.
 
T * unkeep ()
 Returns the keeped pointer and resets it in this keeper without object deletion.
 

Detailed Description

template<typename T>
class r8b::CPtrKeeper< T >

Pointer-to-object "keeper" class with automatic deletion.

An auxiliary class that can be used for keeping a pointer to object that should be deleted together with the "keeper" by calling object's "delete" operator.

Template Parameters
TType of the keeped object, must not include an additional asterisk.

Constructor & Destructor Documentation

◆ CPtrKeeper()

template<typename T>
template<typename T2>
r8b::CPtrKeeper< T >::CPtrKeeper ( T2 const aObject)

Constructor assigns a pointer to object to this keeper.

Parameters
aObjectPointer to object to keep, can be nullptr.
Template Parameters
T2Object's pointer type.

Member Function Documentation

◆ operator=()

template<typename T>
template<typename T2>
void r8b::CPtrKeeper< T >::operator= ( T2 const aObject)

Assigns a pointer to object to this keeper. A previously keeped pointer will be reset and object deleted.

Parameters
aObjectPointer to object to keep, can be nullptr.
Template Parameters
T2Object's pointer type.