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 
20 Facade::Facade(bool printActions):
21  _printActions(printActions)
22 #ifdef DEBUG
23  , _doingAnAction(false)
24 #endif
25 {
26 }
27 
29 }
30 
31 void Facade::printMessage(const char* message) {
32  if (_printActions) {
33  fputs(message, stderr);
34  fflush(stderr);
35  }
36 }
37 
38 void 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