Amesos2 - Direct Sparse Solver Interfaces  Version of the Day
Amesos2_Details_LinearSolverFactory_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Amesos2: Templated Direct Sparse Solver Package
4 //
5 // Copyright 2011 NTESS and the Amesos2 contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
13 
14 #ifndef AMESOS2_DETAILS_LINEARSOLVERFACTORY_DECL_HPP
15 #define AMESOS2_DETAILS_LINEARSOLVERFACTORY_DECL_HPP
16 
17 #include "Amesos2_config.h"
18 #include "Trilinos_Details_LinearSolverFactory.hpp"
19 
20 namespace Amesos2 {
21 namespace Details {
22 
42  template<class MV, class OP, class NormType>
44  public Trilinos::Details::LinearSolverFactory<MV, OP, NormType> {
45  public:
55  virtual Teuchos::RCP<Trilinos::Details::LinearSolver<MV, OP, NormType> >
56  getLinearSolver (const std::string& solverName);
57 
71  static void registerLinearSolverFactory ();
72  };
73 
74 } // namespace Details
75 } // namespace Amesos2
76 
77 #endif // AMESOS2_DETAILS_LINEARSOLVERFACTORY_DECL_HPP
Interface for a &quot;factory&quot; that creates Amesos2 solvers.
Definition: Amesos2_Details_LinearSolverFactory_decl.hpp:43
virtual Teuchos::RCP< Trilinos::Details::LinearSolver< MV, OP, NormType > > getLinearSolver(const std::string &solverName)
Get an instance of a Amesos2 solver.
Definition: Amesos2_Details_LinearSolverFactory_def.hpp:358
static void registerLinearSolverFactory()
Register this LinearSolverFactory with the central registry.
Definition: Amesos2_Details_LinearSolverFactory_def.hpp:367