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

Constructor & Destructor Documentation

◆ Statistics()

Statistics::Statistics ( )
inline

Definition at line 230 of file doxygen.cpp.

230{}

Member Function Documentation

◆ begin()

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

Definition at line 231 of file doxygen.cpp.

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

References msg, startTime, and stats.

◆ end()

void Statistics::end ( )
inline

Definition at line 237 of file doxygen.cpp.

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

References startTime, stats, and warn_flush().

◆ print()

void Statistics::print ( )
inline

Definition at line 244 of file doxygen.cpp.

245 {
246 bool restore=FALSE;
248 {
250 restore=TRUE;
251 }
252 msg("----------------------\n");
253 for (const auto &s : stats)
254 {
255 msg("Spent {:.6f} seconds in {}",s.elapsed,s.name);
256 }
257 if (restore) Debug::setFlag(Debug::Time);
258 }
@ 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 268 of file doxygen.cpp.

Referenced by begin(), and end().

◆ stats

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

Definition at line 267 of file doxygen.cpp.

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


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