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

Reference "keeper" class with automatic unref() call. More...

#include <r8bbase.h>

Public Member Functions

template<typename T2>
 CRefKeeper (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 unreferenced.
 
void reset ()
 Resets the keeped pointer and unreferences the keeped object.
 

Detailed Description

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

Reference "keeper" class with automatic unref() call.

An auxiliary class that can be used for keeping a reference to object that should be unreferenced when the "keeper" is deleted.

Template Parameters
TType of the referenced object, must have the unref() function.

Constructor & Destructor Documentation

◆ CRefKeeper()

template<typename T>
template<typename T2>
r8b::CRefKeeper< T >::CRefKeeper ( 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::CRefKeeper< T >::operator= ( T2 const aObject)

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

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