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 230 of file doxygen.cpp.

Constructor & Destructor Documentation

◆ Statistics()

Statistics::Statistics ( )
inline

Definition at line 233 of file doxygen.cpp.

233{}

Member Function Documentation

◆ begin()

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

Definition at line 234 of file doxygen.cpp.

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

References msg, startTime, and stats.

◆ end()

void Statistics::end ( )
inline

Definition at line 240 of file doxygen.cpp.

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

References startTime, stats, and warn_flush().

◆ print()

void Statistics::print ( )
inline

Definition at line 247 of file doxygen.cpp.

248 {
249 bool restore=FALSE;
251 {
253 restore=TRUE;
254 }
255 msg("----------------------\n");
256 for (const auto &s : stats)
257 {
258 msg("Spent {:.6f} seconds in {}",s.elapsed,s.name);
259 }
260 if (restore) Debug::setFlag(Debug::Time);
261 }
@ Time
Definition debug.h:35
static void clearFlag(const DebugMask mask)
Definition debug.cpp:123
static bool isFlagSet(const DebugMask mask)
Definition debug.cpp:133
static void setFlag(const DebugMask mask)
Definition debug.cpp:118
#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 271 of file doxygen.cpp.

Referenced by begin(), and end().

◆ stats

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

Definition at line 270 of file doxygen.cpp.

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


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