\doxysection{gko::\+solver::\+enable\+\_\+preconditioned\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters\texorpdfstring{$<$}{<} Parameters, Factory \texorpdfstring{$>$}{>} Struct Template Reference}
\hypertarget{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters}{}\label{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters}\index{gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$@{gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$}}


Inheritance diagram for gko::\+solver::\+enable\+\_\+preconditioned\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters\texorpdfstring{$<$}{<} Parameters, Factory \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+solver::\+enable\+\_\+preconditioned\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters\texorpdfstring{$<$}{<} Parameters, Factory \texorpdfstring{$>$}{>}:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_a8552d47d3aa148dee9a0e5fb8335af55}\label{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_a8552d47d3aa148dee9a0e5fb8335af55} 
auto {\bfseries with\+\_\+preconditioner} (\doxymbox{\hyperlink{classgko_1_1deferred__factory__parameter}{::\+gko::\+deferred\+\_\+factory\+\_\+parameter}}$<$ preconditioner\+\_\+type $>$ factory) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_a60406cb941546e42fd4abe1b4b9ebade}\label{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_a60406cb941546e42fd4abe1b4b9ebade} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+generated\+\_\+preconditioner} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__iterative__solver__factory__parameters}{gko::\+solver::\+enable\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters$<$ Parameters, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename... Args, typename = std::\+enable\+\_\+if\+\_\+t$<$::\+std::\+conjunction$<$   std::\+is\+\_\+convertible$<$\+Args, ::\+gko::\+deferred\+\_\+factory\+\_\+parameter$<$   criteria\+\_\+type$>$$>$...$>$::\+value$>$$>$ }\\auto {\bfseries with\+\_\+criteria} (Args \&\&... factories) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
{\footnotesize template$<$typename Factory\+Type, typename = std::\+enable\+\_\+if\+\_\+t$<$std::\+is\+\_\+convertible$<$   Factory\+Type,   ::\+gko::\+deferred\+\_\+factory\+\_\+parameter$<$criteria\+\_\+type$>$$>$::\+value$>$$>$ }\\auto {\bfseries with\+\_\+criteria} (const std::\+vector$<$ Factory\+Type $>$ \&factories) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1enable__parameters__type}{gko::\+enable\+\_\+parameters\+\_\+type$<$ Parameters, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
Parameters \& {\bfseries with\+\_\+loggers} (Args \&\&... \+\_\+value)
\begin{DoxyCompactList}\small\item\em Provides the loggers to be added to the factory and its generated objects in a fluent interface. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ Factory $>$ \doxymbox{\hyperlink{classgko_1_1enable__parameters__type_a65a5adc4eb7078475d26e7991efae64d}{on}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec) const
\begin{DoxyCompactList}\small\item\em Creates a new factory on the specified executor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOpFactory}{Lin\+Op\+Factory}} $>$ \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_abc270279ce305336c15515e385d207a1}{preconditioner}} \{\}
\begin{DoxyCompactList}\small\item\em The preconditioner to be used by the iterative solver. \end{DoxyCompactList}\item 
std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}} $>$ \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_a7765c24219826716fd9be54b9a068f2e}{generated\+\_\+preconditioner}} \{nullptr\}
\begin{DoxyCompactList}\small\item\em Already generated preconditioner. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes inherited from \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__iterative__solver__factory__parameters}{gko::\+solver::\+enable\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters$<$ Parameters, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
std::\+vector$<$ std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{namespacegko_1_1stop_a61839f234ddbaaf68db337e58e012499}{stop::\+\+Criterion\+Factory}} $>$ $>$ {\bfseries criteria} \{\}
\begin{DoxyCompactList}\small\item\em Stopping criteria to be used by the solver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1enable__parameters__type}{gko::\+enable\+\_\+parameters\+\_\+type$<$ Parameters, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries factory}
\end{DoxyCompactItemize}


\label{doc-variable-members}
\Hypertarget{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_doc-variable-members}
\doxysubsection{Member Data Documentation}
\Hypertarget{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_a7765c24219826716fd9be54b9a068f2e}\index{gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$@{gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$}!generated\_preconditioner@{generated\_preconditioner}}
\index{generated\_preconditioner@{generated\_preconditioner}!gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$@{gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$}}
\doxysubsubsection{\texorpdfstring{generated\_preconditioner}{generated\_preconditioner}}
{\footnotesize\ttfamily \label{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_a7765c24219826716fd9be54b9a068f2e} 
template$<$typename Parameters, typename \doxymbox{\hyperlink{classgko_1_1solver_1_1Factory}{Factory}}$>$ \\
std::\+shared\+\_\+ptr$<$const \doxymbox{\hyperlink{classgko_1_1LinOp}{Lin\+Op}}$>$ \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters}{gko::\+solver::\+enable\+\_\+preconditioned\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters}}$<$ Parameters, \doxymbox{\hyperlink{classgko_1_1solver_1_1Factory}{Factory}} $>$::\+generated\+\_\+preconditioner \{nullptr\}}



Already generated preconditioner. 

If one is provided, the factory {\ttfamily \doxylink{namespacegko_1_1preconditioner}{preconditioner}} will be ignored. \Hypertarget{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_abc270279ce305336c15515e385d207a1}\index{gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$@{gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$}!preconditioner@{preconditioner}}
\index{preconditioner@{preconditioner}!gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$@{gko::solver::enable\_preconditioned\_iterative\_solver\_factory\_parameters$<$ Parameters, Factory $>$}}
\doxysubsubsection{\texorpdfstring{preconditioner}{preconditioner}}
{\footnotesize\ttfamily \label{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters_abc270279ce305336c15515e385d207a1} 
template$<$typename Parameters, typename \doxymbox{\hyperlink{classgko_1_1solver_1_1Factory}{Factory}}$>$ \\
std::\+shared\+\_\+ptr$<$const \doxymbox{\hyperlink{classgko_1_1LinOpFactory}{Lin\+Op\+Factory}}$>$ \doxymbox{\hyperlink{structgko_1_1solver_1_1enable__preconditioned__iterative__solver__factory__parameters}{gko::\+solver::\+enable\+\_\+preconditioned\+\_\+iterative\+\_\+solver\+\_\+factory\+\_\+parameters}}$<$ Parameters, \doxymbox{\hyperlink{classgko_1_1solver_1_1Factory}{Factory}} $>$::\+preconditioner \{\}}



The preconditioner to be used by the iterative solver. 

By default, no preconditioner is used. 

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