\section{ost::Counter$<$ T $>$ Class Template Reference} \label{classost_1_1_counter}\index{ost::Counter@{ost::Counter}} The counter template is used for generic objects which act as automatic counters.Automatic counter template class. {\tt \#include $<$counter.h$>$} \subsection*{Public Member Functions} \begin{CompactItemize} \item {\bf Counter} () \begin{CompactList}\small\item\em Construct and initialize a counter to zero. \item\end{CompactList}\item {\bf Counter} (const {\bf Counter} \&counter) \begin{CompactList}\small\item\em Construct a counter with an initial value set for another counter. \item\end{CompactList}\item {\bf Counter} (T initial) \begin{CompactList}\small\item\em Construct a counter with an initial value of the specified data type. \item\end{CompactList}\item T \& {\bf operator=} (T c) \item {\bf operator T} () \end{CompactItemize} \subsection*{Protected Attributes} \begin{CompactItemize} \item T {\bf count} \end{CompactItemize} \subsection{Detailed Description} \subsubsection*{template$<$typename T$>$ class ost::Counter$<$ T $>$} The counter template is used for generic objects which act as automatic counters.Automatic counter template class. Each time the object is accessed, the underlying counted data type is incremented. \begin{Desc} \item[Author:]David Sugar $<${\tt dyfet@gnutelephony.org}$>$ \end{Desc} \subsection{Constructor \& Destructor Documentation} \index{ost::Counter@{ost::Counter}!Counter@{Counter}} \index{Counter@{Counter}!ost::Counter@{ost::Counter}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf ost::Counter}$<$ T $>$::{\bf Counter} ()\hspace{0.3cm}{\tt [inline]}}\label{classost_1_1_counter_0ca3f00d6579ac58b73a3eefad7bd500} Construct and initialize a counter to zero. \index{ost::Counter@{ost::Counter}!Counter@{Counter}} \index{Counter@{Counter}!ost::Counter@{ost::Counter}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf ost::Counter}$<$ T $>$::{\bf Counter} (const {\bf Counter}$<$ T $>$ \& {\em counter})\hspace{0.3cm}{\tt [inline]}}\label{classost_1_1_counter_72566efdf6945f365cf2cea829cfe8e6} Construct a counter with an initial value set for another counter. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em counter}]to copy from. \end{description} \end{Desc} \index{ost::Counter@{ost::Counter}!Counter@{Counter}} \index{Counter@{Counter}!ost::Counter@{ost::Counter}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf ost::Counter}$<$ T $>$::{\bf Counter} (T {\em initial})\hspace{0.3cm}{\tt [inline]}}\label{classost_1_1_counter_98e9b0cb62a7573bcd43c95603e9d68e} Construct a counter with an initial value of the specified data type. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em initial}]value to set. \end{description} \end{Desc} \subsection{Member Function Documentation} \index{ost::Counter@{ost::Counter}!operator T@{operator T}} \index{operator T@{operator T}!ost::Counter@{ost::Counter}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf ost::Counter}$<$ T $>$::operator T ()\hspace{0.3cm}{\tt [inline]}}\label{classost_1_1_counter_94c990fddd398cbfeeaff42cb08f0a61} \index{ost::Counter@{ost::Counter}!operator=@{operator=}} \index{operator=@{operator=}!ost::Counter@{ost::Counter}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ T\& {\bf ost::Counter}$<$ T $>$::operator= (T {\em c})\hspace{0.3cm}{\tt [inline]}}\label{classost_1_1_counter_882ad1e55337322c5411df8ecd54760d} \subsection{Member Data Documentation} \index{ost::Counter@{ost::Counter}!count@{count}} \index{count@{count}!ost::Counter@{ost::Counter}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ T {\bf ost::Counter}$<$ T $>$::{\bf count}\hspace{0.3cm}{\tt [protected]}}\label{classost_1_1_counter_1bdf329c488d8c1e51bcfe859084998f} The documentation for this class was generated from the following file:\begin{CompactItemize} \item {\bf counter.h}\end{CompactItemize}