Frobby
0.9.0
src
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
32
ActionPrinter::~ActionPrinter
() {
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) {
45
ASSERT
(!
_actionBegun
);
46
printMessage
(message);
47
_actionBegun
=
true
;
48
_timer
.
reset
();
49
}
50
51
void
ActionPrinter::endAction
() {
52
ASSERT
(
_actionBegun
);
53
_actionBegun
=
false
;
54
if
(
_printActions
) {
55
fputc(
' '
, stderr);
56
_timer
.
print
(stderr);
57
fputc(
'\n'
, stderr);
58
fflush(stderr);
59
}
60
}
ActionPrinter::_timer
Timer _timer
Definition:
ActionPrinter.h:36
stdinc.h
ActionPrinter::beginAction
void beginAction(const char *message)
Definition:
ActionPrinter.cpp:44
Timer::print
void print(FILE *out) const
Prints the elapsed time in a human readable format.
Definition:
Timer.cpp:29
ActionPrinter.h
ActionPrinter::_printActions
const bool _printActions
Definition:
ActionPrinter.h:34
ActionPrinter::~ActionPrinter
~ActionPrinter()
Definition:
ActionPrinter.cpp:32
ActionPrinter::printMessage
void printMessage(const char *message)
Definition:
ActionPrinter.cpp:37
ActionPrinter::endAction
void endAction()
Definition:
ActionPrinter.cpp:51
ActionPrinter::_actionBegun
bool _actionBegun
Definition:
ActionPrinter.h:35
ASSERT
#define ASSERT(X)
Definition:
stdinc.h:85
ActionPrinter::ActionPrinter
ActionPrinter(bool printActions)
Definition:
ActionPrinter.cpp:21
Timer::reset
void reset()
Resets the amount of elapsed CPU time to zero.
Definition:
Timer.h:32
Generated by
1.8.17