\hypertarget{class_boxing_timer}{}\section{Boxing\+Timer Class Reference} \label{class_boxing_timer}\index{Boxing\+Timer@{Boxing\+Timer}} Boxing timer class. {\ttfamily \#include $<$boxingtimer.\+h$>$} Inheritance diagram for Boxing\+Timer\+:\begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=2.000000cm]{class_boxing_timer} \end{center} \end{figure} \subsection*{Public Types} \begin{DoxyCompactItemize} \item enum \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558}{Status} \+: short \{ \newline \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a7a1920d61156abc05a60135aefe8bc67}{Status\+::\+Default} = 0, \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558aa6122a65eaa676f700ae68d393054a37}{Status\+::\+Start}, \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a55276c10d84e1df7713b441e76e141f9}{Status\+::\+Rest}, \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a105b296a83f9c105355403f3332af50f}{Status\+::\+Pause}, \newline \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a526d688f37a86d3c3f27d0c5016eb71d}{Status\+::\+Reset}, \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a11a755d598c0c417f9a36758c3da7481}{Status\+::\+Stop} \}\begin{DoxyCompactList}\small\item\em Define the status of the timer Some statuses are not saved, they are used to activate something. \end{DoxyCompactList} \end{DoxyCompactItemize} \subsection*{Public Slots} \begin{DoxyCompactItemize} \item void \hyperlink{class_boxing_timer_add8675aed0b0f7f2a90482456c63c8f3}{apply\+Status} () \begin{DoxyCompactList}\small\item\em Apply status and exec relative functions. \end{DoxyCompactList}\item void \hyperlink{class_boxing_timer_a31cea07043d1be260db69767ccf96871}{update\+Remaining\+Milliseconds} () \begin{DoxyCompactList}\small\item\em Switch milliseconds from round to rest and back. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Signals} \begin{DoxyCompactItemize} \item void \hyperlink{class_boxing_timer_a3ef71d6ec54505732d9d5b96c5af1747}{remaining\+Time\+To\+String\+Changed} () \item void \hyperlink{class_boxing_timer_a2c8d9c3c9916fc1ed65fb9545565835f}{rounds\+To\+String\+Changed} () \item void \hyperlink{class_boxing_timer_ab3d16c454a2fac620bb84721c105485a}{status\+Changed} () \item void \hyperlink{class_boxing_timer_a96dae97c68363403d732d74461d01499}{preset\+Changed} () \item void \hyperlink{class_boxing_timer_a4f2001335cd6249a350d87708b785de5}{active\+Changed} () \end{DoxyCompactItemize} \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item Q\+\_\+\+I\+N\+V\+O\+K\+A\+B\+LE void \hyperlink{class_boxing_timer_a34f9e66cbe5bead806037a7ce882da4d}{restore} () \begin{DoxyCompactList}\small\item\em Start or restore the timer. \end{DoxyCompactList}\item Q\+\_\+\+I\+N\+V\+O\+K\+A\+B\+LE void \hyperlink{class_boxing_timer_af8e0f0d2a34946e0a20562bfb187adbe}{load\+Preset} (const Q\+String \&preset) \begin{DoxyCompactList}\small\item\em Load the preset to change settings of timer. \end{DoxyCompactList}\item \hyperlink{class_boxing_timer_ad5a57c7272222f91a75363bdad6543ba}{Boxing\+Timer} () \begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item const Q\+String \hyperlink{class_boxing_timer_a808ea8addb66a3a6f9270e56ed2518cf}{rounds\+To\+String} () \begin{DoxyCompactList}\small\item\em Convert round and total rounds for view. \end{DoxyCompactList}\item const Q\+String \hyperlink{class_boxing_timer_adddbecef36c86e650439141a7bf22ea4}{remaining\+Time\+To\+String} () \begin{DoxyCompactList}\small\item\em Convert remaining milliseconds in human readable time. \end{DoxyCompactList}\item \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558}{Status} \hyperlink{class_boxing_timer_a091d7fb11525455766c19d6b9c250fa4}{get\+Status} () \item void \hyperlink{class_boxing_timer_aa097f85ad7fd3602cc2583c3cc6c4d5e}{set\+Status} (const \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558}{Status} \&status) \item const Q\+String \hyperlink{class_boxing_timer_aae9b18b16d38e1dd98a33ff0d0bed959}{get\+Preset} () \end{DoxyCompactItemize} \subsection*{Protected Member Functions} \begin{DoxyCompactItemize} \item void \hyperlink{class_boxing_timer_aa294afc288608f91eb00d1680db67738}{stop} () \begin{DoxyCompactList}\small\item\em Override of stop function to emit \hyperlink{class_boxing_timer_ab3d16c454a2fac620bb84721c105485a}{status\+Changed()} signal. \end{DoxyCompactList}\item void \hyperlink{class_boxing_timer_a64ae1d3a8bfe52b225658bf4121dcdfa}{start} (const int \&milliseconds) \begin{DoxyCompactList}\small\item\em Override of start function to emit \hyperlink{class_boxing_timer_ab3d16c454a2fac620bb84721c105485a}{status\+Changed()} signal. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Detailed Description} Boxing timer class. \begin{DoxyAuthor}{Author} Claudio Maradonna \href{mailto:claudio@unitoo.pw}{\tt claudio@unitoo.\+pw} \end{DoxyAuthor} Inherit Q\+Timer class and add some properties to handle rest and rounds for training \subsection{Member Enumeration Documentation} \mbox{\Hypertarget{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558}\label{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558}} \index{Boxing\+Timer@{Boxing\+Timer}!Status@{Status}} \index{Status@{Status}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{Status}{Status}} {\footnotesize\ttfamily enum \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558}{Boxing\+Timer\+::\+Status} \+: short\hspace{0.3cm}{\ttfamily [strong]}} Define the status of the timer Some statuses are not saved, they are used to activate something. \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{Default@{Default}!Boxing\+Timer@{Boxing\+Timer}}\index{Boxing\+Timer@{Boxing\+Timer}!Default@{Default}}}\mbox{\Hypertarget{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a7a1920d61156abc05a60135aefe8bc67}\label{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a7a1920d61156abc05a60135aefe8bc67}} Default&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{Start@{Start}!Boxing\+Timer@{Boxing\+Timer}}\index{Boxing\+Timer@{Boxing\+Timer}!Start@{Start}}}\mbox{\Hypertarget{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558aa6122a65eaa676f700ae68d393054a37}\label{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558aa6122a65eaa676f700ae68d393054a37}} Start&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{Rest@{Rest}!Boxing\+Timer@{Boxing\+Timer}}\index{Boxing\+Timer@{Boxing\+Timer}!Rest@{Rest}}}\mbox{\Hypertarget{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a55276c10d84e1df7713b441e76e141f9}\label{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a55276c10d84e1df7713b441e76e141f9}} Rest&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{Pause@{Pause}!Boxing\+Timer@{Boxing\+Timer}}\index{Boxing\+Timer@{Boxing\+Timer}!Pause@{Pause}}}\mbox{\Hypertarget{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a105b296a83f9c105355403f3332af50f}\label{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a105b296a83f9c105355403f3332af50f}} Pause&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{Reset@{Reset}!Boxing\+Timer@{Boxing\+Timer}}\index{Boxing\+Timer@{Boxing\+Timer}!Reset@{Reset}}}\mbox{\Hypertarget{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a526d688f37a86d3c3f27d0c5016eb71d}\label{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a526d688f37a86d3c3f27d0c5016eb71d}} Reset&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{Stop@{Stop}!Boxing\+Timer@{Boxing\+Timer}}\index{Boxing\+Timer@{Boxing\+Timer}!Stop@{Stop}}}\mbox{\Hypertarget{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a11a755d598c0c417f9a36758c3da7481}\label{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558a11a755d598c0c417f9a36758c3da7481}} Stop&\\ \hline \end{DoxyEnumFields} \subsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{class_boxing_timer_ad5a57c7272222f91a75363bdad6543ba}\label{class_boxing_timer_ad5a57c7272222f91a75363bdad6543ba}} \index{Boxing\+Timer@{Boxing\+Timer}!Boxing\+Timer@{Boxing\+Timer}} \index{Boxing\+Timer@{Boxing\+Timer}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{Boxing\+Timer()}{BoxingTimer()}} {\footnotesize\ttfamily Boxing\+Timer\+::\+Boxing\+Timer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} Default constructor. \begin{DoxyAuthor}{Author} Claudio Maradonna \href{mailto:claudio@unitoo.pw}{\tt claudio@unitoo.\+pw} \end{DoxyAuthor} m\+Round set to 0 with a very coarse timer. Load default settings. \subsection{Member Function Documentation} \mbox{\Hypertarget{class_boxing_timer_a4f2001335cd6249a350d87708b785de5}\label{class_boxing_timer_a4f2001335cd6249a350d87708b785de5}} \index{Boxing\+Timer@{Boxing\+Timer}!active\+Changed@{active\+Changed}} \index{active\+Changed@{active\+Changed}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{active\+Changed}{activeChanged}} {\footnotesize\ttfamily void Boxing\+Timer\+::active\+Changed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}} \mbox{\Hypertarget{class_boxing_timer_add8675aed0b0f7f2a90482456c63c8f3}\label{class_boxing_timer_add8675aed0b0f7f2a90482456c63c8f3}} \index{Boxing\+Timer@{Boxing\+Timer}!apply\+Status@{apply\+Status}} \index{apply\+Status@{apply\+Status}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{apply\+Status}{applyStatus}} {\footnotesize\ttfamily void Boxing\+Timer\+::apply\+Status (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}} Apply status and exec relative functions. \mbox{\Hypertarget{class_boxing_timer_aae9b18b16d38e1dd98a33ff0d0bed959}\label{class_boxing_timer_aae9b18b16d38e1dd98a33ff0d0bed959}} \index{Boxing\+Timer@{Boxing\+Timer}!get\+Preset@{get\+Preset}} \index{get\+Preset@{get\+Preset}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{get\+Preset()}{getPreset()}} {\footnotesize\ttfamily const Q\+String Boxing\+Timer\+::get\+Preset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} \begin{DoxyReturn}{Returns} the loaded preset for timer \end{DoxyReturn} \mbox{\Hypertarget{class_boxing_timer_a091d7fb11525455766c19d6b9c250fa4}\label{class_boxing_timer_a091d7fb11525455766c19d6b9c250fa4}} \index{Boxing\+Timer@{Boxing\+Timer}!get\+Status@{get\+Status}} \index{get\+Status@{get\+Status}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{get\+Status()}{getStatus()}} {\footnotesize\ttfamily \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558}{Status} Boxing\+Timer\+::get\+Status (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} \begin{DoxyReturn}{Returns} actual status -\/ enum value \end{DoxyReturn} \mbox{\Hypertarget{class_boxing_timer_af8e0f0d2a34946e0a20562bfb187adbe}\label{class_boxing_timer_af8e0f0d2a34946e0a20562bfb187adbe}} \index{Boxing\+Timer@{Boxing\+Timer}!load\+Preset@{load\+Preset}} \index{load\+Preset@{load\+Preset}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{load\+Preset()}{loadPreset()}} {\footnotesize\ttfamily void Boxing\+Timer\+::load\+Preset (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{preset }\end{DoxyParamCaption})} Load the preset to change settings of timer. \begin{DoxyParams}{Parameters} {\em preset} & a const Q\+String \\ \hline \end{DoxyParams} \mbox{\Hypertarget{class_boxing_timer_a96dae97c68363403d732d74461d01499}\label{class_boxing_timer_a96dae97c68363403d732d74461d01499}} \index{Boxing\+Timer@{Boxing\+Timer}!preset\+Changed@{preset\+Changed}} \index{preset\+Changed@{preset\+Changed}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{preset\+Changed}{presetChanged}} {\footnotesize\ttfamily void Boxing\+Timer\+::preset\+Changed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}} \mbox{\Hypertarget{class_boxing_timer_adddbecef36c86e650439141a7bf22ea4}\label{class_boxing_timer_adddbecef36c86e650439141a7bf22ea4}} \index{Boxing\+Timer@{Boxing\+Timer}!remaining\+Time\+To\+String@{remaining\+Time\+To\+String}} \index{remaining\+Time\+To\+String@{remaining\+Time\+To\+String}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{remaining\+Time\+To\+String()}{remainingTimeToString()}} {\footnotesize\ttfamily const Q\+String Boxing\+Timer\+::remaining\+Time\+To\+String (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Convert remaining milliseconds in human readable time. \begin{DoxyAuthor}{Author} Claudio Maradonna \href{mailto:claudio@unitoo.pw}{\tt claudio@unitoo.\+pw} \end{DoxyAuthor} \begin{DoxyReturn}{Returns} the remaining time as const Q\+String of remaining milliseconds \end{DoxyReturn} \mbox{\Hypertarget{class_boxing_timer_a3ef71d6ec54505732d9d5b96c5af1747}\label{class_boxing_timer_a3ef71d6ec54505732d9d5b96c5af1747}} \index{Boxing\+Timer@{Boxing\+Timer}!remaining\+Time\+To\+String\+Changed@{remaining\+Time\+To\+String\+Changed}} \index{remaining\+Time\+To\+String\+Changed@{remaining\+Time\+To\+String\+Changed}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{remaining\+Time\+To\+String\+Changed}{remainingTimeToStringChanged}} {\footnotesize\ttfamily void Boxing\+Timer\+::remaining\+Time\+To\+String\+Changed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}} \mbox{\Hypertarget{class_boxing_timer_a34f9e66cbe5bead806037a7ce882da4d}\label{class_boxing_timer_a34f9e66cbe5bead806037a7ce882da4d}} \index{Boxing\+Timer@{Boxing\+Timer}!restore@{restore}} \index{restore@{restore}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{restore()}{restore()}} {\footnotesize\ttfamily void Boxing\+Timer\+::restore (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Start or restore the timer. \begin{DoxyAuthor}{Author} Claudio Maradonna \href{mailto:claudio@unitoo.pw}{\tt claudio@unitoo.\+pw} \end{DoxyAuthor} \mbox{\Hypertarget{class_boxing_timer_a808ea8addb66a3a6f9270e56ed2518cf}\label{class_boxing_timer_a808ea8addb66a3a6f9270e56ed2518cf}} \index{Boxing\+Timer@{Boxing\+Timer}!rounds\+To\+String@{rounds\+To\+String}} \index{rounds\+To\+String@{rounds\+To\+String}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{rounds\+To\+String()}{roundsToString()}} {\footnotesize\ttfamily const Q\+String Boxing\+Timer\+::rounds\+To\+String (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Convert round and total rounds for view. \begin{DoxyAuthor}{Author} Claudio Maradonna \href{mailto:claudio@unitoo.pw}{\tt claudio@unitoo.\+pw} \end{DoxyAuthor} \begin{DoxyReturn}{Returns} the number as const Q\+String of actual round and total rounds for Q\+ML \end{DoxyReturn} \mbox{\Hypertarget{class_boxing_timer_a2c8d9c3c9916fc1ed65fb9545565835f}\label{class_boxing_timer_a2c8d9c3c9916fc1ed65fb9545565835f}} \index{Boxing\+Timer@{Boxing\+Timer}!rounds\+To\+String\+Changed@{rounds\+To\+String\+Changed}} \index{rounds\+To\+String\+Changed@{rounds\+To\+String\+Changed}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{rounds\+To\+String\+Changed}{roundsToStringChanged}} {\footnotesize\ttfamily void Boxing\+Timer\+::rounds\+To\+String\+Changed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}} \mbox{\Hypertarget{class_boxing_timer_aa097f85ad7fd3602cc2583c3cc6c4d5e}\label{class_boxing_timer_aa097f85ad7fd3602cc2583c3cc6c4d5e}} \index{Boxing\+Timer@{Boxing\+Timer}!set\+Status@{set\+Status}} \index{set\+Status@{set\+Status}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{set\+Status()}{setStatus()}} {\footnotesize\ttfamily void Boxing\+Timer\+::set\+Status (\begin{DoxyParamCaption}\item[{const \hyperlink{class_boxing_timer_af2a4f0a0658b3685b2e0bcd965dca558}{Status} \&}]{status }\end{DoxyParamCaption})} \begin{DoxyParams}{Parameters} {\em status} & const Status\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Setter for status \end{DoxyReturn} \mbox{\Hypertarget{class_boxing_timer_a64ae1d3a8bfe52b225658bf4121dcdfa}\label{class_boxing_timer_a64ae1d3a8bfe52b225658bf4121dcdfa}} \index{Boxing\+Timer@{Boxing\+Timer}!start@{start}} \index{start@{start}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{start()}{start()}} {\footnotesize\ttfamily void Boxing\+Timer\+::start (\begin{DoxyParamCaption}\item[{const int \&}]{milliseconds }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} Override of start function to emit \hyperlink{class_boxing_timer_ab3d16c454a2fac620bb84721c105485a}{status\+Changed()} signal. \mbox{\Hypertarget{class_boxing_timer_ab3d16c454a2fac620bb84721c105485a}\label{class_boxing_timer_ab3d16c454a2fac620bb84721c105485a}} \index{Boxing\+Timer@{Boxing\+Timer}!status\+Changed@{status\+Changed}} \index{status\+Changed@{status\+Changed}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{status\+Changed}{statusChanged}} {\footnotesize\ttfamily void Boxing\+Timer\+::status\+Changed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}} \mbox{\Hypertarget{class_boxing_timer_aa294afc288608f91eb00d1680db67738}\label{class_boxing_timer_aa294afc288608f91eb00d1680db67738}} \index{Boxing\+Timer@{Boxing\+Timer}!stop@{stop}} \index{stop@{stop}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{stop()}{stop()}} {\footnotesize\ttfamily void Boxing\+Timer\+::stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} Override of stop function to emit \hyperlink{class_boxing_timer_ab3d16c454a2fac620bb84721c105485a}{status\+Changed()} signal. \mbox{\Hypertarget{class_boxing_timer_a31cea07043d1be260db69767ccf96871}\label{class_boxing_timer_a31cea07043d1be260db69767ccf96871}} \index{Boxing\+Timer@{Boxing\+Timer}!update\+Remaining\+Milliseconds@{update\+Remaining\+Milliseconds}} \index{update\+Remaining\+Milliseconds@{update\+Remaining\+Milliseconds}!Boxing\+Timer@{Boxing\+Timer}} \subsubsection{\texorpdfstring{update\+Remaining\+Milliseconds}{updateRemainingMilliseconds}} {\footnotesize\ttfamily void Boxing\+Timer\+::update\+Remaining\+Milliseconds (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}} Switch milliseconds from round to rest and back. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item src/\hyperlink{boxingtimer_8h}{boxingtimer.\+h}\item src/\hyperlink{boxingtimer_8cpp}{boxingtimer.\+cpp}\end{DoxyCompactItemize}