10#ifndef THYRA_LINEAR_SOLVER_BUILDING_BASE 
   11#define THYRA_LINEAR_SOLVER_BUILDING_BASE 
   13#include "Teuchos_ParameterListAcceptor.hpp" 
   14#include "Thyra_LinearOpWithSolveFactoryBase.hpp" 
   45    const std::string &linearSolveStrategyName ) 
const = 0;
 
   61    const std::string &preconditioningStrategyName ) 
const = 0;
 
 
  116template<
class Scalar>
 
  120  const std::string &linearSolveStrategyName = 
"" 
  124    linearSolveStrategyName );
 
 
  132template<
class Scalar>
 
  136  const std::string &preconditioningStrategyName = 
"" 
  140    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="")