My Project
Loading...
Searching...
No Matches
TimerLog.hpp
1/*
2 Copyright 2014 Statoil ASA.
3
4 This file is part of the Open Porous Media project (OPM).
5
6 OPM is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 OPM is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with OPM. If not, see <http://www.gnu.org/licenses/>.
18 */
19#ifndef OPM_TIMERLOG_HPP
20#define OPM_TIMERLOG_HPP
21
22#include <time.h>
23
24#include <memory>
25#include <iosfwd>
26#include <string>
27
28#include <opm/common/OpmLog/StreamLog.hpp>
29
30/*
31 This class is a simple demonstration of how the logging framework
32 can be used to create a simple very special case logging facility.
33*/
34
35namespace Opm {
36
37class TimerLog : public StreamLog {
38public:
39 static const int64_t StartTimer = 4096;
40 static const int64_t StopTimer = 8192;
41
42 explicit TimerLog(const std::string& logFile);
43 explicit TimerLog(std::ostream& os);
44
45 void clear();
46 ~TimerLog() {};
47
48protected:
49 void addMessageUnconditionally(int64_t messageFlag,
50 const std::string& message) override;
51private:
52 clock_t m_start;
53};
54
55typedef std::shared_ptr<TimerLog> TimerLogPtr;
56typedef std::shared_ptr<const TimerLog> TimerLogConstPtr;
57} // namespace Opm
58
59#endif
60
Definition StreamLog.hpp:30
Definition TimerLog.hpp:37
void addMessageUnconditionally(int64_t messageFlag, const std::string &message) override
This is the method subclasses should override.
Definition TimerLog.cpp:46
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30