Build tool
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <string>
  3. #include <mutex>
  4. #include <iostream>
  5. namespace logger {
  6. extern std::mutex mut;
  7. class Timer {
  8. public:
  9. Timer();
  10. void restart();
  11. void print(std::ostream &os) const;
  12. private:
  13. double start_;
  14. };
  15. template<typename T>
  16. inline void log(const T &msg) {
  17. std::unique_lock<std::mutex> lock(mut);
  18. std::cerr << msg << '\n';
  19. }
  20. template<typename T>
  21. inline void log(const T &msg, const Timer &t) {
  22. std::unique_lock<std::mutex> lock(mut);
  23. std::cerr << msg;
  24. t.print(std::cerr);
  25. std::cerr << '\n';
  26. }
  27. }