\hypertarget{clasststream}{}\section{tstream Class Reference}
\label{clasststream}\index{tstream@{tstream}}


Trace \& indentation enabled stream.  




Inherits ostream.

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{clasststream_a86cfc3fc7bfa7d0064d27dea74d6888d}{get\+Min\+Level}} () const
\item 
int \mbox{\hyperlink{clasststream_abb7ecc2e0ddeab5442d52acb2ea5fd64}{get\+Max\+Level}} () const
\item 
int \mbox{\hyperlink{clasststream_a0dad8cbc8fc5611b788f55c75a20a88e}{set\+Min\+Level}} (int)
\item 
int \mbox{\hyperlink{clasststream_a75cb778234d7b49d9e89c73e6efcd132}{set\+Max\+Level}} (int)
\item 
int \mbox{\hyperlink{clasststream_a01c90e5cc80064cae20d3a4bc3320683}{get\+Level}} () const
\item 
int \mbox{\hyperlink{clasststream_a37fa7894d7ae83674ee7cb5a69a4c4a5}{set\+Level}} (int)
\item 
bool \mbox{\hyperlink{clasststream_a01303d5c2c5cd83d06985622ca50d77b}{enabled}} () const
\item 
bool \mbox{\hyperlink{clasststream_a3dab6aeefd316ad326a29cec3c2c574b}{enabled}} (int) const
\item 
\mbox{\hyperlink{clasststream}{tstream}} \& \mbox{\hyperlink{clasststream_a1fe9745dc492e891a6e765e34fa082c3}{log}} (int level, int count=0)
\item 
\mbox{\hyperlink{clasststream}{tstream}} \& \mbox{\hyperlink{clasststream_a5aa7a21d7b95f1bf40e68b5b13118fd0}{tabw}} (int level, int count)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Trace \& indentation enabled stream. 

Traced {\itshape stream} are a derived class of std\+::ostream that provides integrated indentation and selective printing according to a verbosity level. Only messages comprised between {\ttfamily min\+Level} and {\ttfamily max\+Level} are to be printed\+: \[ minLevel \leq level < maxLevel \]

The cdebug instance of this class, in conjunction with \mbox{\hyperlink{classHurricane_1_1DebugSession}{Hurricane\+::\+Debug\+Session}} is provided to create tailored program traces. cdebug is a global variable which is put in the root namespace (not the \mbox{\hyperlink{namespaceHurricane}{Hurricane}} namespace). 

\subsection{Member Function Documentation}
\mbox{\Hypertarget{clasststream_a86cfc3fc7bfa7d0064d27dea74d6888d}\label{clasststream_a86cfc3fc7bfa7d0064d27dea74d6888d}} 
\index{tstream@{tstream}!get\+Min\+Level@{get\+Min\+Level}}
\index{get\+Min\+Level@{get\+Min\+Level}!tstream@{tstream}}
\subsubsection{\texorpdfstring{get\+Min\+Level()}{getMinLevel()}}
{\footnotesize\ttfamily int tstream\+::get\+Min\+Level (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The current mimimum level for the messages to be printeds (equal or superior). 

Referenced by Hurricane\+::\+Debug\+Session\+::open().

\mbox{\Hypertarget{clasststream_abb7ecc2e0ddeab5442d52acb2ea5fd64}\label{clasststream_abb7ecc2e0ddeab5442d52acb2ea5fd64}} 
\index{tstream@{tstream}!get\+Max\+Level@{get\+Max\+Level}}
\index{get\+Max\+Level@{get\+Max\+Level}!tstream@{tstream}}
\subsubsection{\texorpdfstring{get\+Max\+Level()}{getMaxLevel()}}
{\footnotesize\ttfamily int tstream\+::get\+Max\+Level (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The current maximum level for the messages to be printeds (strictly inferior). 

Referenced by Hurricane\+::\+Debug\+Session\+::open().

\mbox{\Hypertarget{clasststream_a0dad8cbc8fc5611b788f55c75a20a88e}\label{clasststream_a0dad8cbc8fc5611b788f55c75a20a88e}} 
\index{tstream@{tstream}!set\+Min\+Level@{set\+Min\+Level}}
\index{set\+Min\+Level@{set\+Min\+Level}!tstream@{tstream}}
\subsubsection{\texorpdfstring{set\+Min\+Level()}{setMinLevel()}}
{\footnotesize\ttfamily int tstream\+::set\+Min\+Level (\begin{DoxyParamCaption}\item[{int}]{level }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Sets the minimum level, returns the {\itshape previous} value of the level. 

Referenced by Hurricane\+::\+Debug\+Session\+::close(), and Hurricane\+::\+Debug\+Session\+::open().

\mbox{\Hypertarget{clasststream_a75cb778234d7b49d9e89c73e6efcd132}\label{clasststream_a75cb778234d7b49d9e89c73e6efcd132}} 
\index{tstream@{tstream}!set\+Max\+Level@{set\+Max\+Level}}
\index{set\+Max\+Level@{set\+Max\+Level}!tstream@{tstream}}
\subsubsection{\texorpdfstring{set\+Max\+Level()}{setMaxLevel()}}
{\footnotesize\ttfamily int tstream\+::set\+Max\+Level (\begin{DoxyParamCaption}\item[{int}]{level }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Sets the maximum level, returns the {\itshape previous} value of the level. 

Referenced by Hurricane\+::\+Debug\+Session\+::close(), and Hurricane\+::\+Debug\+Session\+::open().

\mbox{\Hypertarget{clasststream_a01c90e5cc80064cae20d3a4bc3320683}\label{clasststream_a01c90e5cc80064cae20d3a4bc3320683}} 
\index{tstream@{tstream}!get\+Level@{get\+Level}}
\index{get\+Level@{get\+Level}!tstream@{tstream}}
\subsubsection{\texorpdfstring{get\+Level()}{getLevel()}}
{\footnotesize\ttfamily int tstream\+::get\+Level (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The level of the latest message that was submitted to the stream. It is automatically set up after any call to \mbox{\hyperlink{clasststream_a1fe9745dc492e891a6e765e34fa082c3}{tstream\+::log()}} or \mbox{\hyperlink{clasststream_a5aa7a21d7b95f1bf40e68b5b13118fd0}{tstream\+::tabw()}}. \mbox{\Hypertarget{clasststream_a37fa7894d7ae83674ee7cb5a69a4c4a5}\label{clasststream_a37fa7894d7ae83674ee7cb5a69a4c4a5}} 
\index{tstream@{tstream}!set\+Level@{set\+Level}}
\index{set\+Level@{set\+Level}!tstream@{tstream}}
\subsubsection{\texorpdfstring{set\+Level()}{setLevel()}}
{\footnotesize\ttfamily int tstream\+::set\+Level (\begin{DoxyParamCaption}\item[{int}]{level }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Sets the current level, returns the {\itshape previous} value of the level. This is the level of the latest message that was submitted to the stream. 

Referenced by log(), and tabw().

\mbox{\Hypertarget{clasststream_a01303d5c2c5cd83d06985622ca50d77b}\label{clasststream_a01303d5c2c5cd83d06985622ca50d77b}} 
\index{tstream@{tstream}!enabled@{enabled}}
\index{enabled@{enabled}!tstream@{tstream}}
\subsubsection{\texorpdfstring{enabled()}{enabled()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool tstream\+::enabled (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} {\bfseries true} if the currently memorised level is inside the current valid range. \mbox{\Hypertarget{clasststream_a3dab6aeefd316ad326a29cec3c2c574b}\label{clasststream_a3dab6aeefd316ad326a29cec3c2c574b}} 
\index{tstream@{tstream}!enabled@{enabled}}
\index{enabled@{enabled}!tstream@{tstream}}
\subsubsection{\texorpdfstring{enabled()}{enabled()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool tstream\+::enabled (\begin{DoxyParamCaption}\item[{int}]{level }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} {\bfseries true} if this level is inside the current valid range. \mbox{\Hypertarget{clasststream_a1fe9745dc492e891a6e765e34fa082c3}\label{clasststream_a1fe9745dc492e891a6e765e34fa082c3}} 
\index{tstream@{tstream}!log@{log}}
\index{log@{log}!tstream@{tstream}}
\subsubsection{\texorpdfstring{log()}{log()}}
{\footnotesize\ttfamily \mbox{\hyperlink{clasststream}{tstream}} \& tstream\+::log (\begin{DoxyParamCaption}\item[{int}]{level,  }\item[{int}]{count = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}


\begin{DoxyParams}{Parameters}
{\em level} & The level into which to print. \\
\hline
{\em count} & Increment/decrement the number of tabulations to print at the beginning of a line. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the stream so the operator {\ttfamily $<$$<$} can be used.
\end{DoxyReturn}
Send a message into the stream, that will be displayed if {\ttfamily level} is enabled. The number of tabulations printed at the beginning of the line will be changed {\itshape after} this message has been printed (or discarted). 

References set\+Level().

\mbox{\Hypertarget{clasststream_a5aa7a21d7b95f1bf40e68b5b13118fd0}\label{clasststream_a5aa7a21d7b95f1bf40e68b5b13118fd0}} 
\index{tstream@{tstream}!tabw@{tabw}}
\index{tabw@{tabw}!tstream@{tstream}}
\subsubsection{\texorpdfstring{tabw()}{tabw()}}
{\footnotesize\ttfamily \mbox{\hyperlink{clasststream}{tstream}} \& tstream\+::tabw (\begin{DoxyParamCaption}\item[{int}]{level,  }\item[{int}]{count }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}


\begin{DoxyParams}{Parameters}
{\em level} & The level into which to print. \\
\hline
{\em count} & Increment/decrement the number of tabulations to print at the beginning of a line. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the stream.
\end{DoxyReturn}
This function is dedicated to change the indentation level, but not print something on the stream (event if it returns a reference to it). 

References set\+Level().



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Commons.\+h\item 
Commons.\+dox\end{DoxyCompactItemize}
