AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
AJARefPtr< TRef > Class Template Reference

I am a reference-counted pointer template class. I am intended to be a proxy for an underlying object, whose lifespan is automatically managed by the Referent template class that I work with. More...

#include <ajarefptr.h>

Public Types

typedef TRef element_type
 

Public Member Functions

 AJARefPtr (TRef *ptr=NULL) throw ()
 
 AJARefPtr (const AJARefPtr< TRef > &obToCopy) throw ()
 
 ~AJARefPtr () throw ()
 
AJARefPtr< TRef > & operator= (const AJARefPtr< TRef > &inRHS) throw ()
 
AJARefPtr< TRef > & operator= (TRef *pobRHS) throw ()
 
bool operator== (const AJARefPtr< TRef > &inRHS) const throw ()
 
bool operator!= (const AJARefPtr< TRef > &inRHS) const throw ()
 
bool operator< (const AJARefPtr< TRef > &inRHS) const throw ()
 
TRef & operator* () const throw ()
 
TRef * operator-> () const throw ()
 
TRef * get () const throw ()
 
 operator bool () const throw ()
 

Detailed Description

template<class TRef>
class AJARefPtr< TRef >

I am a reference-counted pointer template class. I am intended to be a proxy for an underlying object, whose lifespan is automatically managed by the Referent template class that I work with.

Note
Be sure not to create more than one of me using the same object pointer or else a double-free will ensue.

Definition at line 89 of file ajarefptr.h.

Member Typedef Documentation

◆ element_type

template<class TRef >
typedef TRef AJARefPtr< TRef >::element_type

Definition at line 92 of file ajarefptr.h.

Constructor & Destructor Documentation

◆ AJARefPtr() [1/2]

template<class TRef >
AJARefPtr< TRef >::AJARefPtr ( TRef *  ptr = NULL)
throw (
)
explicit

Definition at line 123 of file ajarefptr.h.

◆ AJARefPtr() [2/2]

template<class TRef >
AJARefPtr< TRef >::AJARefPtr ( const AJARefPtr< TRef > &  obToCopy)
throw (
)

Definition at line 129 of file ajarefptr.h.

◆ ~AJARefPtr()

template<class TRef >
AJARefPtr< TRef >::~AJARefPtr
throw (
)

Definition at line 163 of file ajarefptr.h.

Member Function Documentation

◆ get()

template<class TRef >
TRef * AJARefPtr< TRef >::get
throw (
)

Definition at line 205 of file ajarefptr.h.

◆ operator bool()

template<class TRef >
AJARefPtr< TRef >::operator bool
throw (
)

Definition at line 212 of file ajarefptr.h.

◆ operator!=()

template<class TRef >
bool AJARefPtr< TRef >::operator!= ( const AJARefPtr< TRef > &  inRHS) const
throw (
)

Definition at line 177 of file ajarefptr.h.

◆ operator*()

template<class TRef >
TRef & AJARefPtr< TRef >::operator*
throw (
)

Definition at line 191 of file ajarefptr.h.

◆ operator->()

template<class TRef >
TRef * AJARefPtr< TRef >::operator->
throw (
)

Definition at line 198 of file ajarefptr.h.

◆ operator<()

template<class TRef >
bool AJARefPtr< TRef >::operator< ( const AJARefPtr< TRef > &  inRHS) const
throw (
)

Definition at line 184 of file ajarefptr.h.

◆ operator=() [1/2]

template<class TRef >
AJARefPtr< TRef > & AJARefPtr< TRef >::operator= ( const AJARefPtr< TRef > &  inRHS)
throw (
)

Definition at line 136 of file ajarefptr.h.

◆ operator=() [2/2]

template<class TRef >
AJARefPtr< TRef > & AJARefPtr< TRef >::operator= ( TRef *  pobRHS)
throw (
)

Definition at line 150 of file ajarefptr.h.

◆ operator==()

template<class TRef >
bool AJARefPtr< TRef >::operator== ( const AJARefPtr< TRef > &  inRHS) const
throw (
)

Definition at line 170 of file ajarefptr.h.


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