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
60template<
class Scalar,
class MV,
class OP>
80template<
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 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.
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 std::vector< std::string > supportedSolverNames() const =0
List of supported solver names.