Ifpack2 Templated Preconditioning Package  Version 1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Ifpack2_Details_Factory_decl.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Ifpack2: Templated Object-Oriented Algebraic Preconditioner Package
4 //
5 // Copyright 2009 NTESS and the Ifpack2 contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef IFPACK2_DETAILS_FACTORY_DECL_HPP
11 #define IFPACK2_DETAILS_FACTORY_DECL_HPP
12 
13 #include "Ifpack2_ConfigDefs.hpp"
15 
16 namespace Ifpack2 {
17 namespace Details {
18 
19 
20 template<class SC, class LO, class GO, class NT>
21 class Factory {
22 public:
23  typedef Tpetra::RowMatrix<SC, LO, GO, NT> row_matrix_type;
24  typedef ::Ifpack2::Preconditioner<SC, LO, GO, NT> prec_type;
25 
36  create (const std::string& precType,
38 
55  create (const std::string& precType,
57  const int overlap);
58 
59  bool
60  isSupported (const std::string& precType);
61 };
62 
63 } // namespace Details
64 } // namespace Ifpack2
65 
66 #endif // IFPACK2_DETAILS_FACTORY_DECL_HPP