\documentclass{report}
\usepackage{hyperref}
% WARNING: THIS SHOULD BE MODIFIED DEPENDING ON THE LETTER/A4 SIZE
\oddsidemargin 0cm
\evensidemargin 0cm
\marginparsep 0cm
\marginparwidth 0cm
\parindent 0cm
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-2in}


% Conditional define to determine if pdf output is used
\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse
\else
\pdfoutput=1
\pdftrue
\fi

\ifpdf
  \usepackage[pdftex]{graphicx}
\else
  \usepackage[dvips]{graphicx}
\fi

% Write Document information for pdflatex/pdftex
\ifpdf
\pdfinfo{
 /Author     (Pasdoc)
 /Title      ()
}
\fi


% definitons for warning and note tag
\usepackage[most]{tcolorbox}
\newtcolorbox{tcbwarning}{
 breakable,
 enhanced jigsaw,
 top=0pt,
 bottom=0pt,
 titlerule=0pt,
 bottomtitle=0pt,
 rightrule=0pt,
 toprule=0pt,
 bottomrule=0pt,
 colback=white,
 arc=0pt,
 outer arc=0pt,
 title style={white},
 fonttitle=\color{black}\bfseries,
 left=8pt,
 colframe=red,
 title={Warning:},
}
\newtcolorbox{tcbnote}{
 breakable,
 enhanced jigsaw,
 top=0pt,
 bottom=0pt,
 titlerule=0pt,
 bottomtitle=0pt,
 rightrule=0pt,
 toprule=0pt,
 bottomrule=0pt,
 colback=white,
 arc=0pt,
 outer arc=0pt,
 title style={white},
 fonttitle=\color{black}\bfseries,
 left=8pt,
 colframe=yellow,
 title={Note:},
}

\begin{document}
\label{toc}\tableofcontents
\newpage
% special variable used for calculating some widths.
\newlength{\tmplength}
\chapter{Unit ok{\_}nested{\_}1}
\label{ok_nested_1}
\index{ok{\_}nested{\_}1}
\section{Description}
Testcase of classes nested in classes. This is a reworked version of code from Castle Game Engine.
\section{Overview}
\begin{description}
\item[\texttt{\begin{ttfamily}TRepoSoundEngine\end{ttfamily} Class}]
\end{description}
\section{Classes, Interfaces, Objects and Records}
\ifpdf
\subsection*{\large{\textbf{TRepoSoundEngine Class}}\normalsize\hspace{1ex}\hrulefill}
\else
\subsection*{TRepoSoundEngine Class}
\fi
\label{ok_nested_1.TRepoSoundEngine}
\index{TRepoSoundEngine}
\subsubsection*{\large{\textbf{Hierarchy}}\normalsize\hspace{1ex}\hfill}
TRepoSoundEngine {$>$} TSoundEngine
%%%%Description
\subsubsection*{\large{\textbf{Properties}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{SoundImportanceNames}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_nested_1.TRepoSoundEngine-SoundImportanceNames}
\index{SoundImportanceNames}
\item[\textbf{SoundImportanceNames}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private property SoundImportanceNames: TStringList read FSoundImportanceNames;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par  \end{list}
\subsubsection*{\large{\textbf{Fields}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{FSoundImportanceNames}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_nested_1.TRepoSoundEngine-FSoundImportanceNames}
\index{FSoundImportanceNames}
\item[\textbf{FSoundImportanceNames}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private var FSoundImportanceNames: TStringList;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par  \label{ok_nested_1.TRepoSoundEngine-FSounds}
\index{FSounds}
\item[\textbf{FSounds}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private FSounds: TSoundInfoList;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par A list of sounds used by your program. Each sound has a unique name, used to identify sound in the XML file and for SoundFromName function.

At the beginning, this list always contains exactly one sound, empty. This is a special TSoundInfoBuffer that has Sound=nil and Name=''. It means "no sound" in many cases.\label{ok_nested_1.TRepoSoundEngine-FSoundGroups}
\index{FSoundGroups}
\item[\textbf{FSoundGroups}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private FSoundGroups: TSoundGroupList;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par  \label{ok_nested_1.TRepoSoundEngine-FRepositoryUrl}
\index{FRepositoryUrl}
\item[\textbf{FRepositoryUrl}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private FRepositoryUrl: String;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par  \label{ok_nested_1.TRepoSoundEngine-FLoopingChannels}
\index{FLoopingChannels}
\item[\textbf{FLoopingChannels}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private FLoopingChannels: TLoopingChannelList;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par  \end{list}
\subsubsection*{\large{\textbf{Methods}}\normalsize\hspace{1ex}\hfill}
\paragraph*{SetRepositoryUrl}\hspace*{\fill}

\label{ok_nested_1.TRepoSoundEngine-SetRepositoryUrl}
\index{SetRepositoryUrl}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private procedure SetRepositoryUrl(const Value: String);\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\paragraph*{RestartLoopingChannels}\hspace*{\fill}

\label{ok_nested_1.TRepoSoundEngine-RestartLoopingChannels}
\index{RestartLoopingChannels}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private procedure RestartLoopingChannels;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\paragraph*{GetLoopingChannel}\hspace*{\fill}

\label{ok_nested_1.TRepoSoundEngine-GetLoopingChannel}
\index{GetLoopingChannel}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private function GetLoopingChannel(const Index: Cardinal): TLoopingChannel;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\paragraph*{ContextOpenCore}\hspace*{\fill}

\label{ok_nested_1.TRepoSoundEngine-ContextOpenCore}
\index{ContextOpenCore}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private procedure ContextOpenCore; override;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\paragraph*{AddSoundImportanceName}\hspace*{\fill}

\label{ok_nested_1.TRepoSoundEngine-AddSoundImportanceName}
\index{AddSoundImportanceName}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
private procedure AddSoundImportanceName(const Name: string; Importance: Integer);\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\paragraph*{Create}\hspace*{\fill}

\label{ok_nested_1.TRepoSoundEngine-Create}
\index{Create}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public constructor Create;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\paragraph*{Destroy}\hspace*{\fill}

\label{ok_nested_1.TRepoSoundEngine-Destroy}
\index{Destroy}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public destructor Destroy; override;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\chapter{Unit ok{\_}nested{\_}2}
\label{ok_nested_2}
\index{ok{\_}nested{\_}2}
\section{Description}
Testcase of classes nested in classes. This is a reworked version of code from Castle Game Engine.
\section{Overview}
\begin{description}
\item[\texttt{\begin{ttfamily}TCastleProfiler\end{ttfamily} Class}]
\end{description}
\section{Classes, Interfaces, Objects and Records}
\ifpdf
\subsection*{\large{\textbf{TCastleProfiler Class}}\normalsize\hspace{1ex}\hrulefill}
\else
\subsection*{TCastleProfiler Class}
\fi
\label{ok_nested_2.TCastleProfiler}
\index{TCastleProfiler}
\subsubsection*{\large{\textbf{Hierarchy}}\normalsize\hspace{1ex}\hfill}
TCastleProfiler {$>$} TObject
%%%%Description
\subsubsection*{\large{\textbf{Properties}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Enabled}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_nested_2.TCastleProfiler-Enabled}
\index{Enabled}
\item[\textbf{Enabled}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public property Enabled: boolean read FEnabled write FEnabled;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Whether to gather speed measurements. When not enabled, the \begin{ttfamily}Start\end{ttfamily}(\ref{ok_nested_2.TCastleProfiler-Start}) and \begin{ttfamily}Stop\end{ttfamily}(\ref{ok_nested_2.TCastleProfiler-Stop}) methods do as little as possible to not waste time.\end{list}
\subsubsection*{\large{\textbf{Constants}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{DefaultFloatPrecision}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_nested_2.TCastleProfiler-DefaultFloatPrecision}
\index{DefaultFloatPrecision}
\item[\textbf{DefaultFloatPrecision}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public DefaultFloatPrecision = 2;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par  \end{list}
\subsubsection*{\large{\textbf{Fields}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{FFloatPrecision}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_nested_2.TCastleProfiler-FEnabled}
\index{FEnabled}
\item[\textbf{FEnabled}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public var FEnabled: boolean;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par  \label{ok_nested_2.TCastleProfiler-FFloatPrecision}
\index{FFloatPrecision}
\item[\textbf{FFloatPrecision}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public FFloatPrecision: Cardinal;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par  \label{ok_nested_2.TCastleProfiler-Times}
\index{Times}
\item[\textbf{Times}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public Times: TTimes;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Collected times tree.\label{ok_nested_2.TCastleProfiler-CurrentStack}
\index{CurrentStack}
\item[\textbf{CurrentStack}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public CurrentStack: TTimeList;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par The currently started (but not stopped) TTime structures.\end{list}
\subsubsection*{\large{\textbf{Methods}}\normalsize\hspace{1ex}\hfill}
\paragraph*{Create}\hspace*{\fill}

\label{ok_nested_2.TCastleProfiler-Create}
\index{Create}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public constructor Create;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\paragraph*{Destroy}\hspace*{\fill}

\label{ok_nested_2.TCastleProfiler-Destroy}
\index{Destroy}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public destructor Destroy; override;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\end{list}
\paragraph*{Summary}\hspace*{\fill}

\label{ok_nested_2.TCastleProfiler-Summary}
\index{Summary}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public function Summary: string;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Summary of the gathered speed measurements.

\end{list}
\paragraph*{Clear}\hspace*{\fill}

\label{ok_nested_2.TCastleProfiler-Clear}
\index{Clear}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure Clear; deprecated 'This method is not reliable (may cause crashes when used between Start/Stop) and also not comfortable. To display partial profile information, better use Stop with 2nd argument true.';\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Warning: this symbol is deprecated: This method is not reliable (may cause crashes when used between Start/Stop) and also not comfortable. To display partial profile information, better use Stop with 2nd argument true.

Clear currently gathered times.

Do not call this when some time measure is started but not yet stopped Currently, this will cause such time measure to be rejected, and stopping it will cause a one{-}time warning, but don't depend on this exact behavior in the future. We will always gracefully accept this case (not crash).

\end{list}
\paragraph*{Start}\hspace*{\fill}

\label{ok_nested_2.TCastleProfiler-Start}
\index{Start}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public function Start(const Description: String): TCastleProfilerTime;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Start a task which execution time will be measured. You \textit{must} later call \begin{ttfamily}Stop\end{ttfamily}(\ref{ok_nested_2.TCastleProfiler-Stop}) with the returned TCastleProfilerTime value.

Typical usage looks like this:

\texttt{\\\nopagebreak[3]
}\textbf{procedure}\texttt{~TMyClass.LoadSomething;\\\nopagebreak[3]
}\textbf{var}\texttt{\\\nopagebreak[3]
~~TimeStart:~TCastleProfilerTime;\\\nopagebreak[3]
}\textbf{begin}\texttt{\\\nopagebreak[3]
~~TimeStart~:=~Profiler.Start('Loading~something~(TMyClass)');\\\nopagebreak[3]
~~}\textbf{try}\texttt{\\\nopagebreak[3]
~~~~\textit{//~do~the~time-consuming~loading~now...}\\\nopagebreak[3]
~~}\textbf{finally}\texttt{\\\nopagebreak[3]
~~~~Profiler.Stop(TimeStart);\\\nopagebreak[3]
~~}\textbf{end}\texttt{;\\\nopagebreak[3]
}\textbf{end}\texttt{;\\
}

If you don't use the "finally" clause to \textit{always} call the matching \begin{ttfamily}Stop\end{ttfamily}(\ref{ok_nested_2.TCastleProfiler-Stop}), and an exception may occur in LoadSomething, then you will have an unmatched Start / Stop calls. The profiler output is undefined in this case. (However, we guarantee that the profiler will not crash or otherwise cause problems in the application.) So, you do not really have to wrap this in "try ... finally ... end" clause, if it's acceptable that the profiler output is useless in exceptional situations.

\item[\textbf{See also}]
\begin{description}
\item[\begin{ttfamily}Stop\end{ttfamily}(\ref{ok_nested_2.TCastleProfiler-Stop})] 
Stop a task.
\end{description}


\end{list}
\paragraph*{Stop}\hspace*{\fill}

\label{ok_nested_2.TCastleProfiler-Stop}
\index{Stop}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure Stop(const TimeStart: TCastleProfilerTime; const LogSummary: Boolean = false; const LogSummaryOnlyIfNonTrivial: Boolean = false);\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Stop a task. This call must match earlier \begin{ttfamily}Start\end{ttfamily}(\ref{ok_nested_2.TCastleProfiler-Start}) call.

If LogSummary, and profiling is \begin{ttfamily}Enabled\end{ttfamily}(\ref{ok_nested_2.TCastleProfiler-Enabled}), we will output (to CastleLog) a summary of things that happened within this particular TCastleProfilerTime instance (between it's start and stop). This is useful when you are interested not only in adding this TCastleProfilerTime to the profiler tree, but also in immediately viewing the times in this TCastleProfilerTime subtree.

If LogSummary and LogSummaryOnlyIfNonTrivial, then the summary will be output only if it's larger than some ignorable amount of time (right now: 1 milisecond). This is useful to output only things that take non{-}trivial amount of time.

\item[\textbf{See also}]
\begin{description}
\item[\begin{ttfamily}Start\end{ttfamily}(\ref{ok_nested_2.TCastleProfiler-Start})] 
Start a task which execution time will be measured.
\end{description}


\end{list}
\end{document}
