\section{St\-Parse\-Tree}
\label{group___st_parse_tree}\index{StParseTree@{StParseTree}}
Various functions for strongly typed tree-based Genetic Programming.  
\subsection*{Classes}
\begin{CompactItemize}
\item 
class {\bf eo\-St\-Parse\-Tree\-Depth\-Init$<$ FType, Node $>$}
\begin{CompactList}\small\item\em eo\-St\-Parse\-Tree\-Depth\-Init : the initializer class for strongly typed tree-based genetic programming \item\end{CompactList}\item 
class {\bf eo\-St\-Subtree\-XOver$<$ FType, Node $>$}
\begin{CompactList}\small\item\em eo\-St\-Subtree\-XOver --$>$ subtree xover for strongly typed tree-based genetic programming \item\end{CompactList}\item 
class {\bf eo\-St\-Branch\-Mutation$<$ FType, Node $>$}
\begin{CompactList}\small\item\em eo\-St\-Branch\-Mutation --$>$ replace a strongly typed subtree with a randomly created strongly typed subtree \item\end{CompactList}\item 
class {\bf eo\-St\-Point\-Mutation$<$ FType, Node $>$}
\begin{CompactList}\small\item\em eo\-St\-Point\-Mutation --$>$ replace a Node with a Node of the same arity and type \item\end{CompactList}\item 
class {\bf eo\-St\-Hoist\-Mutation$<$ FType, Node $>$}
\begin{CompactList}\small\item\em eo\-St\-Hoist\-Mutation --$>$ replace the individual with one of its strongly typed subtree's \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Various functions for strongly typed tree-based Genetic Programming. 

The St\-Parse\-Tree functions use the same {\bf eo\-Parse\-Tree}{\rm (p.\,\pageref{classeo_parse_tree})} class for the individual but now each node class must have two additional functions. \begin{itemize}
\item int type(void) which returns the return type of the node \item int type(int child) which returns the required type for child 0, 1 or 2\end{itemize}
Pruning strongly typed trees is not possible at the moment. 