21 #ifdef HAVE_MUELU_DEBUG
24 TEUCHOS_TEST_FOR_EXCEPTION((multipleCallCheck_ == ENABLED) && (multipleCallCheckGlobal_ == ENABLED) && (lastLevelID_ == levelID),
26 this->
ShortClassName() <<
"::Build() called twice for the same level (levelID=" << levelID
27 <<
"). This is likely due to a configuration error, or calling hierarchy setup multiple times "
28 <<
"without resetting debug info through FactoryManager::ResetDebugData().");
29 if (multipleCallCheck_ == FIRSTCALL)
30 multipleCallCheck_ = ENABLED;
32 lastLevelID_ = levelID;
42 comm = prevLevel->GetComm();
56 Build(requestedLevel);
virtual const Teuchos::ParameterList & GetParameterList() const
Teuchos::FancyOStream & GetOStream(MsgType type, int thisProcRankOnly=0) const
Get an output stream for outputting the input message type.
std::string toString(const T &what)
Little helper function to convert non-string types to strings.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
RCP< ParameterList > RemoveFactoriesFromList(const ParameterList &list) const
Integrates Teuchos::TimeMonitor with MueLu verbosity system.
virtual std::string ShortClassName() const
Return the class name of the object, without template parameters and without namespace.
virtual void DeclareInput(Level ¤tLevel) const =0
Specifies the data that this class needs, and the factories that generate that data.
Class that holds all level-specific information.
bool IsPrint(MsgType type, int thisProcRankOnly=-1) const
Find out whether we need to print out information for a specific message type.
virtual void CallBuild(Level &requestedLevel) const
SingleLevelFactoryBase()
Constructor.
virtual ~SingleLevelFactoryBase()
Destructor.
RCP< Level > & GetPreviousLevel()
Previous level.
int SetProcRankVerbose(int procRank) const
Set proc rank used for printing.
int GetLevelID() const
Return level number.
Exception throws to report errors in the internal logical of the program.
virtual void CallDeclareInput(Level &requestedLevel) const
RCP< const Teuchos::Comm< int > > GetComm() const
virtual void Build(Level ¤tLevel) const =0
Build an object with this factory.