Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > by-pkgid > ad1ba1135a9c9eeffc2e538163e00373 > files > 732

libCommonC++2_1.4-devel-1.4.1-1mdv2007.0.i586.rpm

\section{ost::Ref\-Pointer Class Reference}
\label{classost_1_1_ref_pointer}\index{ost::RefPointer@{ost::RefPointer}}
{\bf Pointer}{\rm (p.\,\pageref{classost_1_1_pointer})} to reference counted objects.Pointer to reference count managed objects.  


{\tt \#include $<$object.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Ref\-Pointer} ()
\begin{CompactList}\small\item\em Create an unattached pointer. \item\end{CompactList}\item 
{\bf Ref\-Pointer} ({\bf Ref\-Object} $\ast$obj)
\begin{CompactList}\small\item\em Create a pointer attached to a reference counted object. \item\end{CompactList}\item 
{\bf Ref\-Pointer} (const {\bf Ref\-Pointer} \&ptr)
\begin{CompactList}\small\item\em A copy constructor. \item\end{CompactList}\item 
virtual {\bf $\sim$Ref\-Pointer} ()
\item 
{\bf Ref\-Pointer} \& {\bf operator=} (const {\bf Ref\-Object} \&{\bf ref})
\item 
void $\ast$ {\bf operator $\ast$} () const 
\item 
void $\ast$ {\bf operator $\rightarrow$ } () const 
\item 
void $\ast$ {\bf get\-Object} (void) const 
\item 
bool {\bf operator!} () const 
\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
void {\bf detach} (void)
\begin{CompactList}\small\item\em Detach current object, for example, when changing pointer. \item\end{CompactList}\item 
virtual void {\bf enter\-Lock} (void)
\begin{CompactList}\small\item\em Patch point for mutex in derived class. \item\end{CompactList}\item 
virtual void {\bf leave\-Lock} (void)
\begin{CompactList}\small\item\em Patch point for a mutex in derived class. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
{\bf Ref\-Object} $\ast$ {\bf ref}
\end{CompactItemize}


\subsection{Detailed Description}
{\bf Pointer}{\rm (p.\,\pageref{classost_1_1_pointer})} to reference counted objects.Pointer to reference count managed objects. 

This is a non-template form of a reference count smart pointer, and so uses common code. This can be subclassed to return explicit object types.

\begin{Desc}
\item[Author:]David Sugar $<${\tt dyfet@gnutelephony.org}$>$ \end{Desc}




\subsection{Constructor \& Destructor Documentation}
\index{ost::RefPointer@{ost::Ref\-Pointer}!RefPointer@{RefPointer}}
\index{RefPointer@{RefPointer}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::Ref\-Pointer::Ref\-Pointer ()\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_ref_pointer_76e5c23d1db92f2a334253747ec86ce4}


Create an unattached pointer. 

\index{ost::RefPointer@{ost::Ref\-Pointer}!RefPointer@{RefPointer}}
\index{RefPointer@{RefPointer}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::Ref\-Pointer::Ref\-Pointer ({\bf Ref\-Object} $\ast$ {\em obj})}\label{classost_1_1_ref_pointer_80c9557ad1f14596bb0040fa10ea04bf}


Create a pointer attached to a reference counted object. 

Object being referenced. \index{ost::RefPointer@{ost::Ref\-Pointer}!RefPointer@{RefPointer}}
\index{RefPointer@{RefPointer}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ost::Ref\-Pointer::Ref\-Pointer (const {\bf Ref\-Pointer} \& {\em ptr})}\label{classost_1_1_ref_pointer_81ab48c97d11e952061ae222dfde6128}


A copy constructor. 

{\bf Pointer}{\rm (p.\,\pageref{classost_1_1_pointer})} being copied. \index{ost::RefPointer@{ost::Ref\-Pointer}!~RefPointer@{$\sim$RefPointer}}
\index{~RefPointer@{$\sim$RefPointer}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual ost::Ref\-Pointer::$\sim$Ref\-Pointer ()\hspace{0.3cm}{\tt  [virtual]}}\label{classost_1_1_ref_pointer_46bf017249d0f9b5cf5ff908dc4b964e}




\subsection{Member Function Documentation}
\index{ost::RefPointer@{ost::Ref\-Pointer}!detach@{detach}}
\index{detach@{detach}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void ost::Ref\-Pointer::detach (void)\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_ref_pointer_b44f3d899d0ecad72570cb1bc6fca0ea}


Detach current object, for example, when changing pointer. 

\index{ost::RefPointer@{ost::Ref\-Pointer}!enterLock@{enterLock}}
\index{enterLock@{enterLock}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void ost::Ref\-Pointer::enter\-Lock (void)\hspace{0.3cm}{\tt  [protected, virtual]}}\label{classost_1_1_ref_pointer_2ed9fa3807843a175185e99cd97b1600}


Patch point for mutex in derived class. 

This may often be a single static mutex shared by a managed type. \index{ost::RefPointer@{ost::Ref\-Pointer}!getObject@{getObject}}
\index{getObject@{getObject}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ ost::Ref\-Pointer::get\-Object (void) const}\label{classost_1_1_ref_pointer_a46b6b5050d934ae90a38d79c4ec740c}


\index{ost::RefPointer@{ost::Ref\-Pointer}!leaveLock@{leaveLock}}
\index{leaveLock@{leaveLock}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void ost::Ref\-Pointer::leave\-Lock (void)\hspace{0.3cm}{\tt  [protected, virtual]}}\label{classost_1_1_ref_pointer_a765f7f9d45d021dfc308f30b509f959}


Patch point for a mutex in derived class. 

This may often be a single static mutex shared by a managed type. \index{ost::RefPointer@{ost::Ref\-Pointer}!operator *@{operator $\ast$}}
\index{operator *@{operator $\ast$}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ ost::Ref\-Pointer::operator $\ast$ () const\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_ref_pointer_02ed3a4625579a78a11aefbe2b05b38c}


\index{ost::RefPointer@{ost::Ref\-Pointer}!operator"!@{operator"!}}
\index{operator"!@{operator"!}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool ost::Ref\-Pointer::operator! () const}\label{classost_1_1_ref_pointer_f45f0a5749479e8b138c87bfd5025c65}


\index{ost::RefPointer@{ost::Ref\-Pointer}!operator->@{operator-$>$}}
\index{operator->@{operator-$>$}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ ost::Ref\-Pointer::operator $\rightarrow$  () const\hspace{0.3cm}{\tt  [inline]}}\label{classost_1_1_ref_pointer_1c917f739b1a3394e4046ae87582b68d}


\index{ost::RefPointer@{ost::Ref\-Pointer}!operator=@{operator=}}
\index{operator=@{operator=}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ref\-Pointer}\& ost::Ref\-Pointer::operator= (const {\bf Ref\-Object} \& {\em ref})}\label{classost_1_1_ref_pointer_a78d62e51e06b7b3bdd994515d0dd643}




\subsection{Member Data Documentation}
\index{ost::RefPointer@{ost::Ref\-Pointer}!ref@{ref}}
\index{ref@{ref}!ost::RefPointer@{ost::Ref\-Pointer}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ref\-Object}$\ast$ {\bf ost::Ref\-Pointer::ref}\hspace{0.3cm}{\tt  [protected]}}\label{classost_1_1_ref_pointer_1a3547c5e0bd7f72b08dd98586545ca8}




The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
{\bf object.h}\end{CompactItemize}