\hypertarget{group__crtp}{}\section{C\+R\+TP idiom support header} \label{group__crtp}\index{C\+R\+T\+P idiom support header@{C\+R\+T\+P idiom support header}} \subsection*{Namespaces} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{namespaceutl}{utl}} \begin{DoxyCompactList}\small\item\em S\+TL\textquotesingle{}s core language concepts. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Detailed Description} utl supports both C\+R\+TP idiom and dynamic polymorphism. By default C\+R\+TP is the preferred way. If the user need virtuals then instead of C\+R\+TP type, the virtual\+\_\+tag can passed to base class. The rest will handled by utl automatically.