10#ifndef BELOSSOLVERFACTORYBASE_HPP
11#define BELOSSOLVERFACTORYBASE_HPP
15#include "Teuchos_RCP.hpp"
17#ifndef DOXYGEN_SHOULD_SKIP_THIS
26#ifndef DOXYGEN_SHOULD_SKIP_THIS
28template<
class Scalar,
class MV,
class OP>
48template<
class Scalar,
class MV,
class OP>
81 virtual Teuchos::RCP<SolverManager<Scalar, MV, OP> >
83 const Teuchos::RCP<Teuchos::ParameterList>&
solverParams) = 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.
Alternative run-time polymorphic interface for operators.