MueLu Version of the Day
Loading...
Searching...
No Matches
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"
20#ifdef HAVE_TEUCHOS_ADD_TIME_MONITOR_TO_STACKED_TIMER
21#include "Teuchos_StackedTimer.hpp"
22#include <sstream>
23#endif
24
25namespace MueLu {
26
31class TimeMonitor : public BaseClass {
32 public:
33 TimeMonitor(const BaseClass& object, const std::string& msg, MsgType timerLevel = Timings0);
34
36
37 protected:
39
40 private:
41 RCP<Teuchos::Time> timer_;
43 std::string label_;
44}; // class TimeMonitor
45
46} // namespace MueLu
47
48#endif // MUELU_TIMEMONITOR_HPP
Base class for MueLu classes.
Integrates Teuchos::TimeMonitor with MueLu verbosity system.
RCP< Teuchos::Time > timer_
Namespace for MueLu classes and methods.
@ Timings0
High level timing information (use Teuchos::TimeMonitor::summarize() to print)