\doxysection{gko::\+reorder Namespace Reference}
\hypertarget{namespacegko_1_1reorder}{}\label{namespacegko_1_1reorder}\index{gko::reorder@{gko::reorder}}


The Reorder namespace.  


\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \doxymbox{\hyperlink{classgko_1_1reorder_1_1Rcm}{Rcm}}
\begin{DoxyCompactList}\small\item\em \doxylink{classgko_1_1reorder_1_1Rcm}{Rcm} (Reverse Cuthill-\/\+Mc\+Kee) is a reordering algorithm minimizing the bandwidth of a matrix. \end{DoxyCompactList}\item 
class \doxymbox{\hyperlink{classgko_1_1reorder_1_1ReorderingBase}{Reordering\+Base}}
\begin{DoxyCompactList}\small\item\em The \doxylink{classgko_1_1reorder_1_1ReorderingBase}{Reordering\+Base} class is a base class for all the reordering algorithms. \end{DoxyCompactList}\item 
struct \doxymbox{\hyperlink{structgko_1_1reorder_1_1ReorderingBaseArgs}{Reordering\+Base\+Args}}
\begin{DoxyCompactList}\small\item\em This struct is used to pass parameters to the Enable\+Default\+Reordering\+Base\+Factory::\+generate() method. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Index\+Type = int32$>$ }\\using \doxymbox{\hyperlink{namespacegko_1_1reorder_ac510eb7f0f0cdfe813b2469f719786f4}{Reordering\+Base\+Factory}}
\begin{DoxyCompactList}\small\item\em Declares an Abstract Factory specialized for Reordering\+Bases. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Concrete\+Factory, typename Concrete\+Reordering\+Base, typename Parameters\+Type, typename Index\+Type = int32, typename Polymorphic\+Base = Reordering\+Base\+Factory$<$\+Index\+Type$>$$>$ }\\using \doxymbox{\hyperlink{namespacegko_1_1reorder_aae01ac35ef4f4280092a3e2c23fd7753}{Enable\+Default\+Reordering\+Base\+Factory}}
\begin{DoxyCompactList}\small\item\em This is an alias for the \doxylink{classgko_1_1EnableDefaultFactory}{Enable\+Default\+Factory} mixin, which correctly sets the template parameters to enable a subclass of \doxylink{namespacegko_1_1reorder_ac510eb7f0f0cdfe813b2469f719786f4}{Reordering\+Base\+Factory}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{namespacegko_1_1reorder_a36a893c1ecfa77de45b66c84341daebd}\label{namespacegko_1_1reorder_a36a893c1ecfa77de45b66c84341daebd} 
enum class {\bfseries starting\+\_\+strategy} \{ {\bfseries minimum\+\_\+degree}
, {\bfseries pseudo\+\_\+peripheral}
 \}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The Reorder namespace. 

The reordering namespace. 

\label{doc-typedef-members}
\Hypertarget{namespacegko_1_1reorder_doc-typedef-members}
\doxysubsection{Typedef Documentation}
\Hypertarget{namespacegko_1_1reorder_aae01ac35ef4f4280092a3e2c23fd7753}\index{gko::reorder@{gko::reorder}!EnableDefaultReorderingBaseFactory@{EnableDefaultReorderingBaseFactory}}
\index{EnableDefaultReorderingBaseFactory@{EnableDefaultReorderingBaseFactory}!gko::reorder@{gko::reorder}}
\doxysubsubsection{\texorpdfstring{EnableDefaultReorderingBaseFactory}{EnableDefaultReorderingBaseFactory}}
{\footnotesize\ttfamily \label{namespacegko_1_1reorder_aae01ac35ef4f4280092a3e2c23fd7753} 
template$<$typename Concrete\+Factory, typename Concrete\+Reordering\+Base, typename Parameters\+Type, typename Index\+Type = int32, typename Polymorphic\+Base = Reordering\+Base\+Factory$<$\+Index\+Type$>$$>$ \\
using \doxymbox{\hyperlink{namespacegko_1_1reorder_aae01ac35ef4f4280092a3e2c23fd7753}{gko::\+reorder::\+\+Enable\+Default\+Reordering\+Base\+Factory}}}

{\bfseries Initial value:\+}
\begin{DoxyCode}{0}
\DoxyCodeLine{}
\DoxyCodeLine{\doxymbox{\hyperlink{classgko_1_1EnableDefaultFactory}{EnableDefaultFactory}}<ConcreteFactory,\ ConcreteReorderingBase,}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ParametersType,\ PolymorphicBase>}

\end{DoxyCode}


This is an alias for the \doxylink{classgko_1_1EnableDefaultFactory}{Enable\+Default\+Factory} mixin, which correctly sets the template parameters to enable a subclass of \doxylink{namespacegko_1_1reorder_ac510eb7f0f0cdfe813b2469f719786f4}{Reordering\+Base\+Factory}. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Concrete\+Factory} & the concrete factory which is being implemented \+[CRTP parameter]\+ \\
\hline
{\em Concrete\+Reordering\+Base} & the concrete \doxylink{classgko_1_1reorder_1_1ReorderingBase}{Reordering\+Base} type which this factory produces, needs to have a constructor which takes a const Concrete\+Factory \texorpdfstring{$\ast$}{*}, and a const \doxylink{structgko_1_1reorder_1_1ReorderingBaseArgs}{Reordering\+Base\+Args} \texorpdfstring{$\ast$}{*} as parameters. \\
\hline
{\em Parameters\+Type} & a subclass of \doxylink{classgko_1_1enable__parameters__type}{enable\+\_\+parameters\+\_\+type} template which defines all of the parameters of the factory \\
\hline
{\em Polymorphic\+Base} & parent of Concrete\+Factory in the polymorphic hierarchy, has to be a subclass of \doxylink{namespacegko_1_1reorder_ac510eb7f0f0cdfe813b2469f719786f4}{Reordering\+Base\+Factory} \\
\hline
\end{DoxyTemplParams}
\Hypertarget{namespacegko_1_1reorder_ac510eb7f0f0cdfe813b2469f719786f4}\index{gko::reorder@{gko::reorder}!ReorderingBaseFactory@{ReorderingBaseFactory}}
\index{ReorderingBaseFactory@{ReorderingBaseFactory}!gko::reorder@{gko::reorder}}
\doxysubsubsection{\texorpdfstring{ReorderingBaseFactory}{ReorderingBaseFactory}}
{\footnotesize\ttfamily \label{namespacegko_1_1reorder_ac510eb7f0f0cdfe813b2469f719786f4} 
template$<$typename Index\+Type = int32$>$ \\
using \doxymbox{\hyperlink{namespacegko_1_1reorder_ac510eb7f0f0cdfe813b2469f719786f4}{gko::\+reorder::\+\+Reordering\+Base\+Factory}}}

{\bfseries Initial value:\+}
\begin{DoxyCode}{0}
\DoxyCodeLine{}
\DoxyCodeLine{\doxymbox{\hyperlink{classgko_1_1AbstractFactory}{AbstractFactory<ReorderingBase<IndexType>}},\ \doxymbox{\hyperlink{structgko_1_1reorder_1_1ReorderingBaseArgs}{ReorderingBaseArgs}}>}

\end{DoxyCode}


Declares an Abstract Factory specialized for Reordering\+Bases. 

