X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ftimer.h;h=6435155c6c88d774d87f0bb67385a9e9065d2c30;hb=530f42305826fa96dc8fd807f44ac83a5b7866c4;hp=bd4e652f811cfe04d254e252f680973e5c2ed2c7;hpb=b7e546d9685c0a3304faa48e95516915d811ec5c;p=dcpomatic.git diff --git a/src/lib/timer.h b/src/lib/timer.h index bd4e652f8..6435155c6 100644 --- a/src/lib/timer.h +++ b/src/lib/timer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2019 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,18 +18,22 @@ */ + /** @file src/timer.h * @brief Some timing classes for debugging and profiling. */ + #ifndef DCPOMATIC_TIMER_H #define DCPOMATIC_TIMER_H + #include #include #include #include + /** @class PeriodTimer * @brief A class to allow timing of a period within the caller. * @@ -49,6 +53,7 @@ private: struct timeval _start; }; + /** @class StateTimer * @brief A class to allow measurement of the amount of time a program * spends in one of a set of states. @@ -61,9 +66,13 @@ class StateTimer { public: explicit StateTimer (std::string n); + /** @param n Name to use when giving output. + * @param s Initial state. + */ StateTimer (std::string n, std::string s); ~StateTimer (); + /** @param s New state that the caller is in */ void set (std::string s); void unset (); @@ -74,13 +83,8 @@ public: class Counts { public: - Counts () - : total_time (0) - , number (0) - {} - - double total_time; - int number; + double total_time = 0; + int number = 0; }; std::map counts () const { @@ -100,4 +104,5 @@ private: std::map _counts; }; + #endif