MueLu
Version of the Day
|
This class specifies the default factory that should generate some data on a Level if the data does not exist and the generating factory has not been specified. More...
#include <MueLu_FactoryManager_decl.hpp>
Public Member Functions | |
void | Clean () const |
void | Print () const |
![]() | |
bool | IgnoreUserData () const |
get IgnoreUserData flag More... | |
void | SetIgnoreUserData (bool bIgnoreUserData=false) |
set IgnoreUserData flag More... | |
FactoryManagerBase () | |
virtual | ~FactoryManagerBase () |
Destructor. More... | |
![]() | |
virtual | ~BaseClass () |
Destructor. More... | |
![]() | |
VerbLevel | GetVerbLevel () const |
Get the verbosity level. More... | |
void | SetVerbLevel (const VerbLevel verbLevel) |
Set the verbosity level of this object. More... | |
int | GetProcRankVerbose () const |
Get proc rank used for printing. Do not use this information for any other purpose. More... | |
int | SetProcRankVerbose (int procRank) const |
Set proc rank used for printing. More... | |
bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
Find out whether we need to print out information for a specific message type. More... | |
Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
Get an output stream for outputting the input message type. More... | |
Teuchos::FancyOStream & | GetBlackHole () const |
VerboseObject () | |
virtual | ~VerboseObject () |
Destructor. More... | |
![]() | |
virtual | ~Describable () |
Destructor. More... | |
virtual std::string | ShortClassName () const |
Return the class name of the object, without template parameters and without namespace. More... | |
virtual void | describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const |
virtual std::string | description () const |
Return a simple one-line description of this object. More... | |
void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
Print the object with some verbosity level to an FancyOStream object. More... | |
Private Attributes | |
std::map< std::string, RCP< const FactoryBase > > | factoryTable_ |
User-defined factories. More... | |
std::map< std::string, RCP< const FactoryBase > > | defaultFactoryTable_ |
Table that holds default factories. More... | |
Constructor/Destructors | |
FactoryManager () | |
Constructor. More... | |
FactoryManager (const std::map< std::string, RCP< const FactoryBase > > &factoryTable) | |
Constructor used by HierarchyFactory (temporary, will be removed) More... | |
virtual | ~FactoryManager () |
Destructor. More... | |
Get/Set functions. | |
void | SetFactory (const std::string &varName, const RCP< const FactoryBase > &factory) |
Set Factory. More... | |
const RCP< const FactoryBase > | GetFactory (const std::string &varName) const |
Get factory associated with a particular data name. More... | |
const RCP< const FactoryBase > | GetDefaultFactory (const std::string &varName) const |
Helper functions | |
const RCP< const FactoryBase > | SetAndReturnDefaultFactory (const std::string &varName, const RCP< const FactoryBase > &factory) const |
Additional Inherited Members | |
![]() | |
static void | SetDefaultOStream (const Teuchos::RCP< Teuchos::FancyOStream > &defaultOStream) |
static Teuchos::RCP< Teuchos::FancyOStream > | GetDefaultOStream () |
static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
Set the default (global) verbosity level. More... | |
static VerbLevel | GetDefaultVerbLevel () |
Get the default (global) verbosity level. More... | |
This class specifies the default factory that should generate some data on a Level if the data does not exist and the generating factory has not been specified.
Consider the following example.
Definition at line 94 of file MueLu_FactoryManager_decl.hpp.
|
inline |
Constructor.
Definition at line 104 of file MueLu_FactoryManager_decl.hpp.
|
inline |
Constructor used by HierarchyFactory (temporary, will be removed)
Definition at line 109 of file MueLu_FactoryManager_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 115 of file MueLu_FactoryManager_decl.hpp.
void MueLu::FactoryManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetFactory | ( | const std::string & | varName, |
const RCP< const FactoryBase > & | factory | ||
) |
Set Factory.
Register the factory that should generate data if said factory is not specified in the request.
[in] | name | of variable |
[in] | factory | that generates the data |
Definition at line 79 of file MueLu_FactoryManager_def.hpp.
|
virtual |
Get factory associated with a particular data name.
[in] | varName | name of variable. |
Implements MueLu::FactoryManagerBase.
Definition at line 84 of file MueLu_FactoryManager_def.hpp.
const RCP< const FactoryBase > MueLu::FactoryManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultFactory | ( | const std::string & | varName | ) | const |
Definition at line 95 of file MueLu_FactoryManager_def.hpp.
|
inlinevirtual |
Reimplemented from MueLu::FactoryManagerBase.
Definition at line 143 of file MueLu_FactoryManager_decl.hpp.
void MueLu::FactoryManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Print | ( | ) | const |
Definition at line 185 of file MueLu_FactoryManager_def.hpp.
|
private |
Add a factory to the default factory list and return it. This helper function is used by GetDefaultFactory()
Definition at line 174 of file MueLu_FactoryManager_def.hpp.
|
private |
User-defined factories.
User may overwrite default behaviour. The user provided factories are stored in a separate table. When we try to determine which factory generates the data, this table is searched first.
Note: we distinguish 'user defined factory' and 'default factory' to allow the deallocation of default factories separately.
Definition at line 171 of file MueLu_FactoryManager_decl.hpp.
|
mutableprivate |
Table that holds default factories.
defaultFactoryTable_
is mutable because default factories are only added to the list when they are requested to avoid allocation of unused factories. Definition at line 180 of file MueLu_FactoryManager_decl.hpp.