\doxysection{gko::\+solver::\+Enable\+Iterative\+Base\texorpdfstring{$<$}{<} Derived\+Type \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{classgko_1_1solver_1_1EnableIterativeBase}{}\label{classgko_1_1solver_1_1EnableIterativeBase}\index{gko::solver::EnableIterativeBase$<$ DerivedType $>$@{gko::solver::EnableIterativeBase$<$ DerivedType $>$}}


A \doxylink{classgko_1_1LinOp}{Lin\+Op} deriving from this CRTP class stores a stopping criterion factory and allows applying with a guess.  




{\ttfamily \+\#include $<$ginkgo/\+core/\+solver/\+solver\+\_\+base.\+hpp$>$}



Inheritance diagram for gko::\+solver::\+Enable\+Iterative\+Base\texorpdfstring{$<$}{<} Derived\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classgko_1_1solver_1_1EnableIterativeBase__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+solver::\+Enable\+Iterative\+Base\texorpdfstring{$<$}{<} Derived\+Type \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=213pt]{classgko_1_1solver_1_1EnableIterativeBase__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{classgko_1_1solver_1_1EnableIterativeBase_aeeaf3c167ee6295be331e3383502ebf3}\label{classgko_1_1solver_1_1EnableIterativeBase_aeeaf3c167ee6295be331e3383502ebf3} 
Enable\+Iterative\+Base \& {\bfseries operator=} (const Enable\+Iterative\+Base \&other)
\begin{DoxyCompactList}\small\item\em Creates a shallow copy of the provided stopping criterion, clones it onto this executor if executors don\textquotesingle{}t match. \end{DoxyCompactList}\item 
Enable\+Iterative\+Base \& \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase_a196071d7a56d7d20c2560d5060b78c4b}{operator=}} (Enable\+Iterative\+Base \&\&other)
\begin{DoxyCompactList}\small\item\em Moves the provided stopping criterion, clones it onto this executor if executors don\textquotesingle{}t match. \end{DoxyCompactList}\item 
\Hypertarget{classgko_1_1solver_1_1EnableIterativeBase_a827800f734be6a74eca0ea4c1423247a}\label{classgko_1_1solver_1_1EnableIterativeBase_a827800f734be6a74eca0ea4c1423247a} 
{\bfseries Enable\+Iterative\+Base} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{namespacegko_1_1stop_a61839f234ddbaaf68db337e58e012499}{stop::\+\+Criterion\+Factory}} $>$ stop\+\_\+factory)
\item 
\Hypertarget{classgko_1_1solver_1_1EnableIterativeBase_ade3ade47117405b03988e92178be5071}\label{classgko_1_1solver_1_1EnableIterativeBase_ade3ade47117405b03988e92178be5071} 
{\bfseries Enable\+Iterative\+Base} (const Enable\+Iterative\+Base \&other)
\begin{DoxyCompactList}\small\item\em Creates a shallow copy of the provided stopping criterion. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase_a9e626f29623fe0c217e86b52d9e66010}{Enable\+Iterative\+Base}} (Enable\+Iterative\+Base \&\&other)
\begin{DoxyCompactList}\small\item\em Moves the provided stopping criterion. \end{DoxyCompactList}\item 
void \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase_a5e96a31681a2bc03fffb2d76e7a7da12}{set\+\_\+stop\+\_\+criterion\+\_\+factory}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{namespacegko_1_1stop_a61839f234ddbaaf68db337e58e012499}{stop::\+\+Criterion\+Factory}} $>$ new\+\_\+stop\+\_\+factory) override
\begin{DoxyCompactList}\small\item\em Sets the stopping criterion of the solver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1solver_1_1IterativeBase}{gko::\+solver::\+\+Iterative\+Base}}}
\begin{DoxyCompactItemize}
\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{namespacegko_1_1stop_a61839f234ddbaaf68db337e58e012499}{stop::\+\+Criterion\+Factory}} $>$ \doxymbox{\hyperlink{classgko_1_1solver_1_1IterativeBase_a26beb5ec985d883c22b614a8240d981d}{get\+\_\+stop\+\_\+criterion\+\_\+factory}} () const
\begin{DoxyCompactList}\small\item\em Gets the stopping criterion factory of the solver. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Derived\+Type$>$\newline
class gko::\+solver::\+\+Enable\+Iterative\+Base$<$ Derived\+Type $>$}
A \doxylink{classgko_1_1LinOp}{Lin\+Op} deriving from this CRTP class stores a stopping criterion factory and allows applying with a guess. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Derived\+Type} & the CRTP type that derives from this \\
\hline
\end{DoxyTemplParams}


\label{doc-constructors}
\Hypertarget{classgko_1_1solver_1_1EnableIterativeBase_doc-constructors}
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classgko_1_1solver_1_1EnableIterativeBase_a9e626f29623fe0c217e86b52d9e66010}\index{gko::solver::EnableIterativeBase$<$ DerivedType $>$@{gko::solver::EnableIterativeBase$<$ DerivedType $>$}!EnableIterativeBase@{EnableIterativeBase}}
\index{EnableIterativeBase@{EnableIterativeBase}!gko::solver::EnableIterativeBase$<$ DerivedType $>$@{gko::solver::EnableIterativeBase$<$ DerivedType $>$}}
\doxysubsubsection{\texorpdfstring{EnableIterativeBase()}{EnableIterativeBase()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1EnableIterativeBase_a9e626f29623fe0c217e86b52d9e66010} 
template$<$typename Derived\+Type$>$ \\
\doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase}{gko::\+solver::\+\+Enable\+Iterative\+Base}}$<$ Derived\+Type $>$::\+\+Enable\+Iterative\+Base (\begin{DoxyParamCaption}\item[{Enable\+Iterative\+Base$<$ Derived\+Type $>$ \&\&}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Moves the provided stopping criterion. 

The moved-\/from object has a nullptr stopping criterion. 

\label{doc-func-members}
\Hypertarget{classgko_1_1solver_1_1EnableIterativeBase_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classgko_1_1solver_1_1EnableIterativeBase_a196071d7a56d7d20c2560d5060b78c4b}\index{gko::solver::EnableIterativeBase$<$ DerivedType $>$@{gko::solver::EnableIterativeBase$<$ DerivedType $>$}!operator=@{operator=}}
\index{operator=@{operator=}!gko::solver::EnableIterativeBase$<$ DerivedType $>$@{gko::solver::EnableIterativeBase$<$ DerivedType $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1EnableIterativeBase_a196071d7a56d7d20c2560d5060b78c4b} 
template$<$typename Derived\+Type$>$ \\
Enable\+Iterative\+Base \& \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase}{gko::\+solver::\+\+Enable\+Iterative\+Base}}$<$ Derived\+Type $>$::\+operator= (\begin{DoxyParamCaption}\item[{Enable\+Iterative\+Base$<$ Derived\+Type $>$ \&\&}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Moves the provided stopping criterion, clones it onto this executor if executors don\textquotesingle{}t match. 

The moved-\/from object has a nullptr stopping criterion. 

References \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase_a5e96a31681a2bc03fffb2d76e7a7da12}{set\+\_\+stop\+\_\+criterion\+\_\+factory()}}.

\Hypertarget{classgko_1_1solver_1_1EnableIterativeBase_a5e96a31681a2bc03fffb2d76e7a7da12}\index{gko::solver::EnableIterativeBase$<$ DerivedType $>$@{gko::solver::EnableIterativeBase$<$ DerivedType $>$}!set\_stop\_criterion\_factory@{set\_stop\_criterion\_factory}}
\index{set\_stop\_criterion\_factory@{set\_stop\_criterion\_factory}!gko::solver::EnableIterativeBase$<$ DerivedType $>$@{gko::solver::EnableIterativeBase$<$ DerivedType $>$}}
\doxysubsubsection{\texorpdfstring{set\_stop\_criterion\_factory()}{set\_stop\_criterion\_factory()}}
{\footnotesize\ttfamily \label{classgko_1_1solver_1_1EnableIterativeBase_a5e96a31681a2bc03fffb2d76e7a7da12} 
template$<$typename Derived\+Type$>$ \\
void \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase}{gko::\+solver::\+\+Enable\+Iterative\+Base}}$<$ Derived\+Type $>$::\+set\+\_\+stop\+\_\+criterion\+\_\+factory (\begin{DoxyParamCaption}\item[{std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{namespacegko_1_1stop_a61839f234ddbaaf68db337e58e012499}{stop::\+\+Criterion\+Factory}} $>$}]{new\+\_\+stop\+\_\+factory}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}



Sets the stopping criterion of the solver. 


\begin{DoxyParams}{Parameters}
{\em other} & the new stopping criterion factory \\
\hline
\end{DoxyParams}


Reimplemented from \doxymbox{\hyperlink{classgko_1_1solver_1_1IterativeBase_ab6a8b1418209a1db64c3d4270fe4549c}{gko::\+solver::\+\+Iterative\+Base}}.



References \doxymbox{\hyperlink{namespacegko_aa194e34282452493231ca7b01ffb5e64}{gko::\+clone()}}, and \doxymbox{\hyperlink{classgko_1_1solver_1_1IterativeBase_ab6a8b1418209a1db64c3d4270fe4549c}{gko::\+solver::\+\+Iterative\+Base::\+set\+\_\+stop\+\_\+criterion\+\_\+factory()}}.



Referenced by \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase_aeeaf3c167ee6295be331e3383502ebf3}{operator=()}}, and \doxymbox{\hyperlink{classgko_1_1solver_1_1EnableIterativeBase_a196071d7a56d7d20c2560d5060b78c4b}{operator=()}}.



The documentation for this class was generated from the following file:\+\begin{DoxyCompactItemize}
\item 
ginkgo/\+core/\+solver/\+solver\+\_\+base.\+hpp\end{DoxyCompactItemize}
