46 |
|
#include "utils/simError.h" |
47 |
|
|
48 |
|
namespace oopse { |
49 |
+ |
StatsBitSet parseStatFileFormat(const std::string& format) { |
50 |
+ |
StringTokenizer tokenizer(format, " ,;|\t\n\r"); |
51 |
+ |
StatsBitSet mask; |
52 |
+ |
while(tokenizer.hasMoreTokens()) { |
53 |
+ |
std::string token(tokenizer.nextToken()); |
54 |
+ |
toUpper(token); |
55 |
+ |
Stats::StatsMapType::iterator i = Stats::statsMap.find(token); |
56 |
+ |
if (i != Stats::statsMap.end()) { |
57 |
+ |
mask.set(i->second); |
58 |
+ |
} else { |
59 |
+ |
sprintf( painCave.errMsg, |
60 |
+ |
"%s is not a valid statFileFormat keyword.\n", token.c_str() ); |
61 |
+ |
painCave.isFatal = 0; |
62 |
+ |
painCave.severity = OOPSE_ERROR; |
63 |
+ |
simError(); |
64 |
+ |
} |
65 |
+ |
} |
66 |
+ |
|
67 |
+ |
return mask; |
68 |
+ |
} |
69 |
+ |
|
70 |
|
StatWriter::StatWriter( const std::string& filename, const StatsBitSet& mask) : mask_(mask){ |
71 |
|
|
72 |
|
#ifdef IS_MPI |
91 |
|
|
92 |
|
sprintf( checkPointMsg, |
93 |
|
"Sucessfully opened output file for stating.\n"); |
94 |
< |
MPIcheckPoint(); |
94 |
> |
errorCheckPoint(); |
95 |
|
#endif // is_mpi |
96 |
|
|
97 |
|
} |