r8brain-free-src
High-quality pro audio sample rate converter library
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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)
 
 operator T () const
 
operator-> () const
 
template<typename T2 >
void operator= (T2 const aObject)
 
void reset ()
 
unkeep ()
 

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
TPointer type to operate with, must include the asterisk (e.g. "CDSPFIRFilter*").

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 NULL.
Template Parameters
T2Object's pointer type.

Member Function Documentation

◆ operator T()

template<typename T >
r8b::CPtrKeeper< T >::operator T ( ) const
Returns
Pointer to keeped object, NULL if no object is being kept.

◆ operator->()

template<typename T >
T r8b::CPtrKeeper< T >::operator-> ( ) const
Returns
Pointer to keeped object, NULL if no object is being kept.

◆ operator=()

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

Function 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 NULL.
Template Parameters
T2Object's pointer type.

◆ reset()

template<typename T >
void r8b::CPtrKeeper< T >::reset ( )

Function resets the keeped pointer and deletes the keeped object.

◆ unkeep()

template<typename T >
T r8b::CPtrKeeper< T >::unkeep ( )
Returns
Function returns the keeped pointer and resets it in *this keeper without object deletion.