MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_FacadeClassFactory_decl.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// MueLu: A package for multigrid based preconditioning
4//
5// Copyright 2012 NTESS and the MueLu contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef PACKAGES_MUELU_SRC_INTERFACE_FACADECLASSES_MUELU_FACADECLASSFACTORY_DECL_HPP_
11#define PACKAGES_MUELU_SRC_INTERFACE_FACADECLASSES_MUELU_FACADECLASSFACTORY_DECL_HPP_
12
13#include <Teuchos_ParameterList.hpp>
14
15#include "MueLu_BaseClass.hpp"
16#include "MueLu_FacadeClassBase.hpp"
17
18#include "MueLu_ConfigDefs.hpp"
19
20namespace MueLu {
21
22template <class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
24 : public virtual BaseClass {
25#undef MUELU_FACADECLASSFACTORY_SHORT
27
28 public:
30
31
34
37
39
44 Teuchos::RCP<Teuchos::ParameterList> SetParameterList(const Teuchos::ParameterList& paramList);
45
53 void RegisterFacadeClass(std::string name, Teuchos::RCP<FacadeClassBase> facadeclass) {
54 facadeClasses_[name] = facadeclass;
55 }
56
57 private:
58 std::map<std::string, Teuchos::RCP<FacadeClassBase> > facadeClasses_;
59};
60
61} // namespace MueLu
62
63#define MUELU_FACADECLASSFACTORY_SHORT
64
65#endif /* PACKAGES_MUELU_SRC_INTERFACE_FACADECLASSES_MUELU_FACADECLASSFACTORY_DECL_HPP_ */
Base class for MueLu classes.
void RegisterFacadeClass(std::string name, Teuchos::RCP< FacadeClassBase > facadeclass)
Register new facade class.
std::map< std::string, Teuchos::RCP< FacadeClassBase > > facadeClasses_
Teuchos::RCP< Teuchos::ParameterList > SetParameterList(const Teuchos::ParameterList &paramList)
Set parameter list for FacadeClassFactory interpreter.
Namespace for MueLu classes and methods.