\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}