Frobby  0.9.5
ActionPrinter.cpp
Go to the documentation of this file.
1 /* Frobby: Software for monomial ideal computations.
2  Copyright (C) 2009 University of Aarhus
3  Contact Bjarke Hammersholt Roune for license information (www.broune.com)
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see http://www.gnu.org/licenses/.
17 */
18 #include "stdinc.h"
19 #include "ActionPrinter.h"
20 
21 ActionPrinter::ActionPrinter(bool printActions):
22  _printActions(printActions),
23  _actionBegun(false) {
24 }
25 
26 ActionPrinter::ActionPrinter(bool printActions, const char* message):
27  _printActions(printActions),
28  _actionBegun(true) {
29  printMessage(message);
30 }
31 
33  if (_actionBegun)
34  endAction();
35 }
36 
37 void ActionPrinter::printMessage(const char* message) {
38  if (_printActions) {
39  fputs(message, stderr);
40  fflush(stderr);
41  }
42 }
43 
44 void ActionPrinter::beginAction(const char* message) {
46  printMessage(message);
47  _actionBegun = true;
48  _timer.reset();
49 }
50 
53  _actionBegun = false;
54  if (_printActions) {
55  fputc(' ', stderr);
56  _timer.print(stderr);
57  fputc('\n', stderr);
58  fflush(stderr);
59  }
60 }
const bool _printActions
Definition: ActionPrinter.h:34
void beginAction(const char *message)
ActionPrinter(bool printActions)
void printMessage(const char *message)
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