Doxygen
Loading...
Searching...
No Matches
Statistics Class Reference

Classes

struct  stat

Public Member Functions

 Statistics ()
void begin (const char *name)
void end ()
void print ()

Private Attributes

std::vector< statstats
std::chrono::steady_clock::time_point startTime

Detailed Description

Definition at line 229 of file doxygen.cpp.

Constructor & Destructor Documentation

◆ Statistics()

Statistics::Statistics ( )
inline

Definition at line 232 of file doxygen.cpp.

232{}

Member Function Documentation

◆ begin()

void Statistics::begin ( const char * name)
inline

Definition at line 233 of file doxygen.cpp.

234 {
235 msg("{}", name);
236 stats.emplace_back(name,0);
237 startTime = std::chrono::steady_clock::now();
238 }
std::vector< stat > stats
Definition doxygen.cpp:269
std::chrono::steady_clock::time_point startTime
Definition doxygen.cpp:270
#define msg(fmt,...)
Definition message.h:94

References msg, startTime, and stats.

◆ end()

void Statistics::end ( )
inline

Definition at line 239 of file doxygen.cpp.

240 {
241 std::chrono::steady_clock::time_point endTime = std::chrono::steady_clock::now();
242 stats.back().elapsed = static_cast<double>(std::chrono::duration_cast<
243 std::chrono::microseconds>(endTime - startTime).count())/1000000.0;
244 warn_flush();
245 }
void warn_flush()
Definition message.cpp:229

References startTime, stats, and warn_flush().

◆ print()

void Statistics::print ( )
inline

Definition at line 246 of file doxygen.cpp.

247 {
248 bool restore=FALSE;
250 {
252 restore=TRUE;
253 }
254 msg("----------------------\n");
255 for (const auto &s : stats)
256 {
257 msg("Spent {:.6f} seconds in {}",s.elapsed,s.name);
258 }
259 if (restore) Debug::setFlag(Debug::Time);
260 }
@ Time
Definition debug.h:35
static void clearFlag(const DebugMask mask)
Definition debug.cpp:122
static bool isFlagSet(const DebugMask mask)
Definition debug.cpp:132
static void setFlag(const DebugMask mask)
Definition debug.cpp:117
#define TRUE
Definition qcstring.h:37
#define FALSE
Definition qcstring.h:34

References Debug::clearFlag(), FALSE, Debug::isFlagSet(), msg, Debug::setFlag(), stats, Debug::Time, and TRUE.

Member Data Documentation

◆ startTime

std::chrono::steady_clock::time_point Statistics::startTime
private

Definition at line 270 of file doxygen.cpp.

Referenced by begin(), and end().

◆ stats

std::vector<stat> Statistics::stats
private

Definition at line 269 of file doxygen.cpp.

Referenced by begin(), end(), and print().


The documentation for this class was generated from the following file: