| 41 | } |
| 42 | |
| 43 | void stopRecord(const TimerTag TT) noexcept { |
| 44 | assuming(TT < TimerTag::Max); |
| 45 | std::unique_lock Lock(Mutex); |
| 46 | const uint32_t Index = static_cast<uint32_t>(TT); |
| 47 | auto &Map = StartTime[Index]; |
| 48 | if (auto Iter = Map.find(std::this_thread::get_id()); Iter != Map.end()) { |
| 49 | const auto Diff = Clock::now() - Iter->second; |
| 50 | RecTime[Index] += Diff; |
| 51 | Map.erase(Iter); |
| 52 | } |
| 53 | } |
| 54 | |
| 55 | void clearRecord(const TimerTag TT) noexcept { |
| 56 | assuming(TT < TimerTag::Max); |
no test coverage detected