MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_TimeMonitor.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_TIMEMONITOR_HPP
11 #define MUELU_TIMEMONITOR_HPP
12 
13 #include <string>
14 #include <Teuchos_DefaultComm.hpp>
15 #include <Teuchos_Time.hpp>
16 #include <Teuchos_TimeMonitor.hpp>
17 #include "MueLu_ConfigDefs.hpp"
18 #include "MueLu_BaseClass.hpp"
19 #include "MueLu_VerboseObject.hpp"
20 #ifdef HAVE_TEUCHOS_ADD_TIME_MONITOR_TO_STACKED_TIMER
21 #include "Teuchos_StackedTimer.hpp"
22 #include <sstream>
23 #endif
24 
25 namespace MueLu {
26 
31 class TimeMonitor : public BaseClass {
32  public:
33  TimeMonitor(const BaseClass& object, const std::string& msg, MsgType timerLevel = Timings0);
34 
35  ~TimeMonitor();
36 
37  protected:
38  TimeMonitor();
39 
40  private:
43  std::string label_;
44 }; // class TimeMonitor
45 
46 } // namespace MueLu
47 
48 #endif // MUELU_TIMEMONITOR_HPP
High level timing information (use Teuchos::TimeMonitor::summarize() to print)
RCP< Teuchos::Time > timer_
Integrates Teuchos::TimeMonitor with MueLu verbosity system.
Base class for MueLu classes.