\hypertarget{a08288}{}\section{A\+CG\+:\+:Tracing Class Reference}
\label{a08288}\index{A\+C\+G\+::\+Tracing@{A\+C\+G\+::\+Tracing}}


{\ttfamily \#include $<$A\+C\+G/\+Utils/\+Tracing.\+hh$>$}

Inheritance diagram for A\+CG\+:\+:Tracing\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a08288}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08288_adf9596eb832b6458bf56aca48e6df6f4}\label{a08288_adf9596eb832b6458bf56aca48e6df6f4}} 
\hyperlink{a08288_adf9596eb832b6458bf56aca48e6df6f4}{Tracing} (const std\+::string \&\+\_\+text, std\+::ostream \&\+\_\+os=std\+::cerr)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08288_a8a6213009d9d76c4443b7be3104013c8}\label{a08288_a8a6213009d9d76c4443b7be3104013c8}} 
\hyperlink{a08288_a8a6213009d9d76c4443b7be3104013c8}{$\sim$\+Tracing} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
void \hyperlink{a08288_a27d29491982b3928f317c3ff215b5ed2}{progress} ()
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08288_a931e2fdb727b9089c6255b5001006188}\label{a08288_a931e2fdb727b9089c6255b5001006188}} 
std\+::ostream \& {\bfseries os\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Static Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08288_ab898cfbf3beb267000c35dc19877bbea}\label{a08288_ab898cfbf3beb267000c35dc19877bbea}} 
static char {\bfseries progress\+\_\+} \mbox{[}4\mbox{]} = \{ \textquotesingle{}-\/\textquotesingle{}, \textquotesingle{}\textbackslash{}\textbackslash{}\textquotesingle{}, \textquotesingle{}$\vert$\textquotesingle{}, \textquotesingle{}/\textquotesingle{} \}
\item 
\mbox{\Hypertarget{a08288_ab4f8edf50ed1d2ccc5207a9b8274e88a}\label{a08288_ab4f8edf50ed1d2ccc5207a9b8274e88a}} 
static unsigned char {\bfseries idx\+\_\+} = 0
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a08288}{Tracing} outputs starting and finishing messages for some lengthy procedures. Its constructor will output a given string, the destructor will output \char`\"{}finished\textbackslash{}\textbackslash{}n\char`\"{}. That means you have to start a new block and define a local trancing object in there. When entering the block the constructor is called, the start message is printed. When leaving the block the descructor displays the finishing message. For convenience there are some macros defining the local object so you can write\+:


\begin{DoxyCode}
\{ \textcolor{comment}{// start a new block}
  ACG\_TRACE(\textcolor{stringliteral}{"What's the meaning of like?"});

  \textcolor{keywordflow}{for} (years=0; years <= ACG::NumLimitsT<int>::max(); ++years)
  \{
    \textcolor{comment}{// ... lengthy computation, show some progress}
    ACG\_TRACE\_PROGRESS;
  \}

  std::cout << \textcolor{stringliteral}{"42"};

\} \textcolor{comment}{// leaving the block will display "finished\(\backslash\)n"}
\end{DoxyCode}


If you want to trace only one command you can also use\+: 
\begin{DoxyCode}
ACG\_TRACE\_CMD(\textcolor{stringliteral}{"What's the meaning of like?"}, calc\_meaning\_of\_life());
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\hyperlink{a08292}{Timed\+Tracing} 
\end{DoxySeeAlso}


Definition at line 119 of file Tracing.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08288_a27d29491982b3928f317c3ff215b5ed2}\label{a08288_a27d29491982b3928f317c3ff215b5ed2}} 
\index{A\+C\+G\+::\+Tracing@{A\+C\+G\+::\+Tracing}!progress@{progress}}
\index{progress@{progress}!A\+C\+G\+::\+Tracing@{A\+C\+G\+::\+Tracing}}
\subsubsection{\texorpdfstring{progress()}{progress()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Tracing\+::progress (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Show some progress (the next frame of a rotating bar is displayed for every call of this function) 

Definition at line 136 of file Tracing.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+Utils/Tracing.\+hh\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+Utils/Tracing.\+cc\end{DoxyCompactItemize}
