Template
Class CTJBrewPtr
{
PUBLIC:
TYPEDEF T ELEMENT_TYPE;
// ctor
Explicit CTJBrewPtr (T * pval = 0) throw ()
{
IF (PVAL)
m_autoptr = pval;
Else
m_autoptr = NULL;
i = 0;
}
// Copy Ctor
CTJBrewPtr (Const CTJBrewTR
{
IF (Ptrcopy)
m_autoptr = ptrcopy;
Else
m_autoptr = NULL;
i = 0;
}
// overloading = Operator
CTJBrewPtr
{
IF (Ptrcopy)
M_AUTOPTR = & PTRCOPY;
Else
M_AUTOPTR = 0;
Return M_Autoptr;
}
// Dtor
~ Ctjbrewptr ()
{
IF (M_Autoptr)
{
Delete M_Autoptr;
}
}
// overloading * Operator
T & Operator * () const throw ()
{
Return * m_autoptr;
}
// overloading -> Operator
T * Operator -> () const throw ()
{
Return M_Autoptr;
}
// Function to get the point to the class
T * GET () const throw ()
{
Return M_Autoptr;
}
Private:
T * m_autoptr;
UINT32 I;
}