15   template<
class MV, 
class OP, 
class NormType>
 
   18     std::string 
name ()
 const {
 
   26       std::cout << this->
name () << 
"::solve START" << std::endl;
 
   27       std::cout << this->
name () << 
"::solve END" << std::endl;
 
   34   template<
class MV, 
class OP, 
class NormType>
 
   37     std::string 
name ()
 const {
 
   44     void solve (MV& X, 
const MV& Y) {
 
   45       std::cout << this->
name () << 
"::solve START" << std::endl;
 
   48         Trilinos::Details::getLinearSolver<MV, OP, NormType> (
"B", 
"4");
 
   49       if (solverB4.
get () == NULL) {
 
   50         throw std::runtime_error (
"Solver4 from package B has not been registered!");
 
   54       solverB4->solve (X, Y);
 
   55       std::cout << this->
name () << 
"::solve END" << std::endl;
 
   62   template<
class MV, 
class OP, 
class NormType>
 
   71       if (solverName == 
"1") {
 
   74       else if (solverName == 
"2") {
 
   78         std::ostringstream err;
 
   79         err << 
"A::FactoryA::getLinearSolver: Invalid solver name \"" << solverName << 
"\"";
 
   80         throw std::invalid_argument (err.str ());
 
   87 #endif // PACKAGE_A_HPP 
Teuchos::RCP< Trilinos::Details::LinearSolver< MV, OP, NormType > > getLinearSolver(const std::string &solverName)
Get an instance of a solver from a particular package. 
 
Interface for a method for solving linear system(s) AX=B. 
 
T * get() const 
Get the raw C++ pointer to the underlying object. 
 
void solve(MV &, const MV &)
Solve the linear system(s) AX=B. 
 
Interface for a "factory" that creates solvers. 
 
Smart reference counting pointer class for automatic garbage collection. 
 
void solve(MV &X, const MV &Y)
Solve the linear system(s) AX=B.