CounterLog.hpp
Go to the documentation of this file.
1/*
2 Copyright 2014 Andreas Lauser
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_COUNTERLOG_HPP
20#define OPM_COUNTERLOG_HPP
21
22#include <string>
23#include <memory>
24#include <map>
25
27
28namespace Opm {
33 class CounterLog : public LogBackend
34 {
35 public:
36 explicit CounterLog(int64_t messageMask);
38
39 size_t numMessages(int64_t messageType) const;
40
41 void clear();
42
43 protected:
44 void addMessageUnconditionally(int64_t messageFlag,
45 const std::string& message) override;
46 private:
47 std::map<int64_t , size_t> m_count;
48 };
49
50} // namespace Opm
51
52#endif
53
const char *const string
Definition: cJSON.h:170
Provides a simple sytem for log message which are found by the Parser/Deck/EclipseState classes durin...
Definition: CounterLog.hpp:34
size_t numMessages(int64_t messageType) const
CounterLog(int64_t messageMask)
void addMessageUnconditionally(int64_t messageFlag, const std::string &message) override
Abstract interface class for log backends.
Definition: LogBackend.hpp:36
Definition: A.hpp:4