Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <chrono>
- #include <iostream>
- #include <string>
- using namespace std::chrono;
- class LogDuration {
- public:
- explicit LogDuration(const string& msg = "")
- : message(msg + ": ")
- , start(steady_clock::now())
- {
- }
- ~LogDuration() {
- auto finish = steady_clock::now();
- auto dur = finish - start;
- cerr << message
- << duration_cast<microseconds>(dur).count()
- << " microseconds" << endl;
- }
- private:
- string message;
- steady_clock::time_point start;
- };
- #define UNIQ_ID_IMPL(lineno) _a_local_var_##lineno
- #define UNIQ_ID(lineno) UNIQ_ID_IMPL(lineno)
- #define LOG_DURATION(message) \
- LogDuration UNIQ_ID(__LINE__){message};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement