MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_SingleLevelFactoryBase.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 MUELU_SINGLELEVELFACTORY_HPP
11#define MUELU_SINGLELEVELFACTORY_HPP
12
13#include "MueLu_ConfigDefs.hpp"
14
15#include "MueLu_Factory.hpp"
16#include "MueLu_Level_fwd.hpp"
17
18namespace MueLu {
19
27 public:
29
30
33
36
38
40
41
47 virtual void DeclareInput(Level& currentLevel) const = 0;
48
50
52
53
55 virtual void Build(Level& currentLevel) const = 0;
56
58 virtual void CallBuild(Level& requestedLevel) const;
59
61 virtual void CallDeclareInput(Level& requestedLevel) const;
63
64}; // class SingleLevelFactoryBase
65
66} // namespace MueLu
67
68#define MUELU_SINGLELEVELFACTORY_SHORT
69#endif // ifndef MUELU_SINGLELEVELFACTORY_HPP
70
71// TODO: code factorization between SingleLevelFactoryBase and TwoLevelFactoryBase
Class that holds all level-specific information.
Base class for factories that use one level (currentLevel).
virtual void DeclareInput(Level &currentLevel) const =0
Specifies the data that this class needs, and the factories that generate that data.
virtual ~SingleLevelFactoryBase()
Destructor.
virtual void Build(Level &currentLevel) const =0
Build an object with this factory.
SingleLevelFactoryBase()
Constructor.
virtual void CallDeclareInput(Level &requestedLevel) const
virtual void CallBuild(Level &requestedLevel) const
Namespace for MueLu classes and methods.