43 #ifndef IFPACK2_DETAILS_ONELEVELFACTORY_DECL_HPP 
   44 #define IFPACK2_DETAILS_ONELEVELFACTORY_DECL_HPP 
   46 #include "Ifpack2_ConfigDefs.hpp" 
   48 #include "Tpetra_RowMatrix.hpp" 
   49 #include <type_traits>  
  122 template<
class MatrixType>
 
  125   typedef typename MatrixType::scalar_type scalar_type;
 
  126   typedef typename MatrixType::local_ordinal_type local_ordinal_type;
 
  127   typedef typename MatrixType::global_ordinal_type global_ordinal_type;
 
  128   typedef typename MatrixType::node_type node_type;
 
  129   typedef ::Ifpack2::Preconditioner<scalar_type,
 
  133   typedef ::Tpetra::RowMatrix<scalar_type,
 
  136                               node_type> row_matrix_type;
 
  138   static_assert (std::is_same<MatrixType, row_matrix_type>::value,
 
  139                  "Ifpack2::Details::OneLevelFactory: MatrixType must be a " 
  140                  "Tpetra::RowMatrix specialization.");
 
  153   create (
const std::string& precType,
 
  157   isSupported (
const std::string& precType) 
const;
 
  163 #endif // IFPACK2_DETAILS_ONELEVELFACTORY_DECL_HPP 
Teuchos::RCP< prec_type > create(const std::string &precType, const Teuchos::RCP< const row_matrix_type > &matrix) const 
Create an instance of Preconditioner given the string name of the preconditioner type. 
Definition: Ifpack2_Details_OneLevelFactory_def.hpp:78
 
Interface for all Ifpack2 preconditioners. 
Definition: Ifpack2_Preconditioner.hpp:107
 
"Factory" for creating single-level preconditioners. 
Definition: Ifpack2_Details_OneLevelFactory_decl.hpp:123