42 #ifndef BELOSSOLVERFACTORYBASE_HPP
43 #define BELOSSOLVERFACTORYBASE_HPP
47 #include "Teuchos_RCP.hpp"
49 #ifndef DOXYGEN_SHOULD_SKIP_THIS
58 #ifndef DOXYGEN_SHOULD_SKIP_THIS
60 template<
class Scalar,
class MV,
class OP>
80 template<
class Scalar,
class MV,
class OP>
113 virtual Teuchos::RCP<SolverManager<Scalar, MV, OP> >
115 const Teuchos::RCP<Teuchos::ParameterList>& solverParams) = 0;
132 virtual bool isSupported (
const std::string& solverName)
const = 0;
Interface for custom Belos solver factories.
virtual ~CustomSolverFactory()
Destructor (virtual, for safety of derived classes).
virtual std::vector< std::string > supportedSolverNames() const =0
List of supported solver names.
virtual Teuchos::RCP< SolverManager< Scalar, MV, OP > > getSolver(const std::string &solverName, const Teuchos::RCP< Teuchos::ParameterList > &solverParams)=0
Return an instance of the specified solver, or Teuchos::null if this factory does not provide the req...
virtual int numSupportedSolvers() const =0
Number of supported solvers.
virtual bool isSupported(const std::string &solverName) const =0
Whether the given solver name names a supported solver.