42#ifndef THYRA_LINEAR_SOLVER_BUILDING_BASE
43#define THYRA_LINEAR_SOLVER_BUILDING_BASE
45#include "Teuchos_ParameterListAcceptor.hpp"
46#include "Thyra_LinearOpWithSolveFactoryBase.hpp"
78 const std::string &linearSolveStrategyName )
const = 0;
94 const std::string &preconditioningStrategyName )
const = 0;
149template<
class Scalar>
153 const std::string &linearSolveStrategyName =
""
157 linearSolveStrategyName );
165template<
class Scalar>
169 const std::string &preconditioningStrategyName =
""
173 preconditioningStrategyName );
Abstract interface for an object that can create LinearOpWithSolveFactoryBase objects on demand.
virtual Teuchos::RCP< LinearOpWithSolveFactoryBase< Scalar > > createLinearSolveStrategy(const std::string &linearSolveStrategyName) const =0
Create a new LinearOpWithSolveFactoryBase object purely specified by the parameter list.
Teuchos::RCP< LinearOpWithSolveFactoryBase< Scalar > > createLinearSolveStrategy(const LinearSolverBuilderBase< Scalar > &linearSolverBuilder, const std::string &linearSolveStrategyName="")
virtual Teuchos::RCP< PreconditionerFactoryBase< Scalar > > createPreconditioningStrategy(const std::string &preconditioningStrategyName) const =0
Create a new PreconditionerFactoryBase object purely specified by the parameter list.
Teuchos::RCP< PreconditionerFactoryBase< Scalar > > createPreconditioningStrategy(const LinearSolverBuilderBase< Scalar > &linearSolverBuilder, const std::string &preconditioningStrategyName="")