10#ifndef MUELU_FACTORYMANAGER_DECL_HPP
11#define MUELU_FACTORYMANAGER_DECL_HPP
71#undef MUELU_FACTORYMANAGER_SHORT
82 FactoryManager(
const std::map<std::string, RCP<const FactoryBase> >& factoryTable);
99 void SetFactory(
const std::string& varName,
const RCP<const FactoryBase>& factory);
106 const RCP<const FactoryBase>
GetFactory(
const std::string& varName)
const;
117 bool hasFactory(
const std::string& varName)
const;
120 const RCP<const FactoryBase>
GetDefaultFactory(
const std::string& varName)
const;
132#ifdef HAVE_MUELU_DEBUG
133 void ResetDebugData()
const;
147 const RCP<const FactoryBase>
SetAndReturnDefaultFactory(
const std::string& varName,
const RCP<const FactoryBase>& factory)
const;
174#define MUELU_FACTORYMANAGER_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that provides default factories within Needs class.
This class specifies the default factory that should generate some data on a Level if the data does n...
const RCP< const FactoryBase > GetDefaultFactory(const std::string &varName) const
void SetKokkosRefactor(const bool useKokkos)
const RCP< const FactoryBase > SetAndReturnDefaultFactory(const std::string &varName, const RCP< const FactoryBase > &factory) const
bool useKokkos_
Whether or not to use kokkos factories.
std::map< std::string, RCP< const FactoryBase > > defaultFactoryTable_
Table that holds default factories.
void SetFactory(const std::string &varName, const RCP< const FactoryBase > &factory)
Set Factory.
bool hasFactory(const std::string &varName) const
Check.
bool GetKokkosRefactor() const
std::map< std::string, RCP< const FactoryBase > > factoryTable_
User-defined factories.
const RCP< const FactoryBase > GetFactory(const std::string &varName) const
Get factory associated with a particular data name.
FactoryManager()
Constructor.
const RCP< FactoryBase > GetFactoryNonConst(const std::string &varName)
Get factory associated with a particular data name (NONCONST version)
virtual ~FactoryManager()
Destructor.
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar