Frobby 0.9.5
Facade.cpp
Go to the documentation of this file.
1/* Frobby: Software for monomial ideal computations.
2 Copyright (C) 2007 Bjarke Hammersholt Roune (www.broune.com)
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see http://www.gnu.org/licenses/.
16*/
17#include "stdinc.h"
18#include "Facade.h"
19
20Facade::Facade(bool printActions):
21 _printActions(printActions)
22#ifdef DEBUG
23 , _doingAnAction(false)
24#endif
25{
26}
27
29}
30
31void Facade::printMessage(const char* message) {
32 if (_printActions) {
33 fputs(message, stderr);
34 fflush(stderr);
35 }
36}
37
38void Facade::beginAction(const char* message) {
39#ifdef DEBUG
40 ASSERT(!_doingAnAction);
41 _doingAnAction = true;
42#endif
43
44 if (!_printActions)
45 return;
46
47 printMessage(message);
48 _timer.reset();
49}
50
52#ifdef DEBUG
53 ASSERT(_doingAnAction);
54 _doingAnAction = false;
55#endif
56
57 if (!_printActions)
58 return;
59
60 fputc(' ', stderr);
61 _timer.print(stderr);
62 fputc('\n', stderr);
63 fflush(stderr);
64}
65
67 return _printActions;
68}
virtual ~Facade()
Definition: Facade.cpp:28
void printMessage(const char *message)
Prints message to standard error if printing is turned on.
Definition: Facade.cpp:31
void beginAction(const char *message)
Prints message to standard error if printing is turned on, and records the time when the action start...
Definition: Facade.cpp:38
void endAction()
Prints to standard error the time since the last call to beginAction.
Definition: Facade.cpp:51
Facade(bool printActions)
Constructs a facade that prints out what it is doing if printActions is true.
Definition: Facade.cpp:20
bool isPrintingActions() const
Returns true if printing actions.
Definition: Facade.cpp:66
bool _printActions
Keeps track of whether we are printing.
Definition: Facade.h:64
Timer _timer
Keeps track of the time between calls to beginAction() and endAction().
Definition: Facade.h:61
void print(FILE *out) const
Prints the elapsed time in a human readable format.
Definition: Timer.cpp:29
void reset()
Resets the amount of elapsed CPU time to zero.
Definition: Timer.h:32
#define ASSERT(X)
Definition: stdinc.h:86