\section{Minimal\+Coverage\+Sweep$<$ Split\+Policy $>$ Class Template Reference}
\label{classmlpack_1_1tree_1_1MinimalCoverageSweep}\index{Minimal\+Coverage\+Sweep$<$ Split\+Policy $>$@{Minimal\+Coverage\+Sweep$<$ Split\+Policy $>$}}


The \doxyref{Minimal\+Coverage\+Sweep}{p.}{classmlpack_1_1tree_1_1MinimalCoverageSweep} class finds a partition along which we can split a node according to the coverage of two resulting nodes.  


\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ Sweep\+Cost}
\begin{DoxyCompactList}\small\item\em A struct that provides the type of the sweep cost. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Tree\+Type , typename Elem\+Type $>$ }\\static bool \textbf{ Check\+Leaf\+Sweep} (const Tree\+Type $\ast$node, const size\+\_\+t cut\+Axis, const Elem\+Type cut)
\begin{DoxyCompactList}\small\item\em Check if a leaf node can be split along the axis at the provided coordinate. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Tree\+Type , typename Elem\+Type $>$ }\\static bool \textbf{ Check\+Non\+Leaf\+Sweep} (const Tree\+Type $\ast$node, const size\+\_\+t cut\+Axis, const Elem\+Type cut)
\begin{DoxyCompactList}\small\item\em Check if an intermediate node can be split along the axis at the provided coordinate. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Tree\+Type $>$ }\\static Tree\+Type\+::\+Elem\+Type \textbf{ Sweep\+Leaf\+Node} (const size\+\_\+t axis, const Tree\+Type $\ast$node, typename Tree\+Type\+::\+Elem\+Type \&axis\+Cut)
\begin{DoxyCompactList}\small\item\em Find a suitable partition of a leaf node along the provided axis. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Tree\+Type $>$ }\\static Tree\+Type\+::\+Elem\+Type \textbf{ Sweep\+Non\+Leaf\+Node} (const size\+\_\+t axis, const Tree\+Type $\ast$node, typename Tree\+Type\+::\+Elem\+Type \&axis\+Cut)
\begin{DoxyCompactList}\small\item\em Find a suitable partition of a non-\/leaf node along the provided axis. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Split\+Policy$>$\newline
class mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep$<$ Split\+Policy $>$}

The \doxyref{Minimal\+Coverage\+Sweep}{p.}{classmlpack_1_1tree_1_1MinimalCoverageSweep} class finds a partition along which we can split a node according to the coverage of two resulting nodes. 

The class finds a partition along a given axis. Moreover, the class evaluates the cost of each split. The cost is proportional to the total coverage of resulting nodes. If the resulting nodes are overflowed the maximum cost is returned.


\begin{DoxyTemplParams}{Template Parameters}
{\em Split\+Policy} & The class that provides rules for inserting children of a node that is being split into two new subtrees. \\
\hline
\end{DoxyTemplParams}


Definition at line 30 of file minimal\+\_\+coverage\+\_\+sweep.\+hpp.



\subsection{Member Function Documentation}
\mbox{\label{classmlpack_1_1tree_1_1MinimalCoverageSweep_a6c49c80b6769514caa02e87c90f25637}} 
\index{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep@{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep}!Check\+Leaf\+Sweep@{Check\+Leaf\+Sweep}}
\index{Check\+Leaf\+Sweep@{Check\+Leaf\+Sweep}!mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep@{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep}}
\subsubsection{Check\+Leaf\+Sweep()}
{\footnotesize\ttfamily static bool Check\+Leaf\+Sweep (\begin{DoxyParamCaption}\item[{const Tree\+Type $\ast$}]{node,  }\item[{const size\+\_\+t}]{cut\+Axis,  }\item[{const Elem\+Type}]{cut }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Check if a leaf node can be split along the axis at the provided coordinate. 


\begin{DoxyParams}{Parameters}
{\em node} & The node that is being split. \\
\hline
{\em cut\+Axis} & The axis that we want to check. \\
\hline
{\em cut} & The coordinate that we want to check. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1tree_1_1MinimalCoverageSweep_afafb079580672ba37b91473d7663b4b4}} 
\index{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep@{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep}!Check\+Non\+Leaf\+Sweep@{Check\+Non\+Leaf\+Sweep}}
\index{Check\+Non\+Leaf\+Sweep@{Check\+Non\+Leaf\+Sweep}!mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep@{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep}}
\subsubsection{Check\+Non\+Leaf\+Sweep()}
{\footnotesize\ttfamily static bool Check\+Non\+Leaf\+Sweep (\begin{DoxyParamCaption}\item[{const Tree\+Type $\ast$}]{node,  }\item[{const size\+\_\+t}]{cut\+Axis,  }\item[{const Elem\+Type}]{cut }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Check if an intermediate node can be split along the axis at the provided coordinate. 


\begin{DoxyParams}{Parameters}
{\em node} & The node that is being split. \\
\hline
{\em cut\+Axis} & The axis that we want to check. \\
\hline
{\em cut} & The coordinate that we want to check. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1tree_1_1MinimalCoverageSweep_a1d1300e043da6e6fcda11d351b3909ad}} 
\index{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep@{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep}!Sweep\+Leaf\+Node@{Sweep\+Leaf\+Node}}
\index{Sweep\+Leaf\+Node@{Sweep\+Leaf\+Node}!mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep@{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep}}
\subsubsection{Sweep\+Leaf\+Node()}
{\footnotesize\ttfamily static Tree\+Type\+::\+Elem\+Type Sweep\+Leaf\+Node (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{axis,  }\item[{const Tree\+Type $\ast$}]{node,  }\item[{typename Tree\+Type\+::\+Elem\+Type \&}]{axis\+Cut }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Find a suitable partition of a leaf node along the provided axis. 

The method returns the cost of the split.


\begin{DoxyParams}{Parameters}
{\em axis} & The axis along which we are finding a partition. \\
\hline
{\em node} & The node that is being split. \\
\hline
{\em axis\+Cut} & The coordinate at which the node may be split. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1tree_1_1MinimalCoverageSweep_a03332fa22fbbb3ed883e3ae305dce89f}} 
\index{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep@{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep}!Sweep\+Non\+Leaf\+Node@{Sweep\+Non\+Leaf\+Node}}
\index{Sweep\+Non\+Leaf\+Node@{Sweep\+Non\+Leaf\+Node}!mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep@{mlpack\+::tree\+::\+Minimal\+Coverage\+Sweep}}
\subsubsection{Sweep\+Non\+Leaf\+Node()}
{\footnotesize\ttfamily static Tree\+Type\+::\+Elem\+Type Sweep\+Non\+Leaf\+Node (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{axis,  }\item[{const Tree\+Type $\ast$}]{node,  }\item[{typename Tree\+Type\+::\+Elem\+Type \&}]{axis\+Cut }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Find a suitable partition of a non-\/leaf node along the provided axis. 

The method returns the cost of the split.


\begin{DoxyParams}{Parameters}
{\em axis} & The axis along which we are finding a partition. \\
\hline
{\em node} & The node that is being split. \\
\hline
{\em axis\+Cut} & The coordinate at which the node may be split. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/var/www/mlpack.\+ratml.\+org/mlpack.\+org/\+\_\+src/mlpack-\/3.\+3.\+1/src/mlpack/core/tree/rectangle\+\_\+tree/\textbf{ minimal\+\_\+coverage\+\_\+sweep.\+hpp}\end{DoxyCompactItemize}
