aboutsummaryrefslogtreecommitdiff
path: root/src/cru_debug.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-19 16:21:54 +0800
committercrupest <crupest@outlook.com>2019-03-19 16:21:54 +0800
commit5dc738a57930271194bd86673eb86f149096a7b2 (patch)
tree71174aba0d1c0918cc7d7a1be0b86ec0d5c20401 /src/cru_debug.hpp
parent06edefebe8dfb138404397fb2c46732da6cd733a (diff)
downloadcru-5dc738a57930271194bd86673eb86f149096a7b2.tar.gz
cru-5dc738a57930271194bd86673eb86f149096a7b2.tar.bz2
cru-5dc738a57930271194bd86673eb86f149096a7b2.zip
...
Diffstat (limited to 'src/cru_debug.hpp')
-rw-r--r--src/cru_debug.hpp67
1 files changed, 33 insertions, 34 deletions
diff --git a/src/cru_debug.hpp b/src/cru_debug.hpp
index 17cc7b53..9c22a24f 100644
--- a/src/cru_debug.hpp
+++ b/src/cru_debug.hpp
@@ -1,47 +1,46 @@
#pragma once
-
-// ReSharper disable once CppUnusedIncludeDirective
#include "pre.hpp"
#include <functional>
#include "base.hpp"
-#include "format.hpp"
+#include "util/format.hpp"
-namespace cru::debug
-{
- void DebugMessage(const StringView& message);
+namespace cru::debug {
+void DebugMessage(const StringView& message);
#ifdef CRU_DEBUG
- inline void DebugTime(const std::function<void()>& action, const StringView& hint_message)
- {
- const auto before = std::chrono::steady_clock::now();
- action();
- const auto after = std::chrono::steady_clock::now();
- const auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(after - before);
- DebugMessage(Format(L"{}: {}ms.\n", hint_message, duration.count()));
- }
+inline void DebugTime(const std::function<void()>& action,
+ const StringView& hint_message) {
+ const auto before = std::chrono::steady_clock::now();
+ action();
+ const auto after = std::chrono::steady_clock::now();
+ const auto duration =
+ std::chrono::duration_cast<std::chrono::milliseconds>(after - before);
+ DebugMessage(util::Format(L"{}: {}ms.\n", hint_message, duration.count()));
+}
- template<typename TReturn>
- TReturn DebugTime(const std::function<TReturn()>& action, const StringView& hint_message)
- {
- const auto before = std::chrono::steady_clock::now();
- auto&& result = action();
- const auto after = std::chrono::steady_clock::now();
- const auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(after - before);
- DebugMessage(Format(L"{}: {}ms.\n", hint_message, duration.count()));
- return std::move(result);
- }
+template <typename TReturn>
+TReturn DebugTime(const std::function<TReturn()>& action,
+ const StringView& hint_message) {
+ const auto before = std::chrono::steady_clock::now();
+ auto&& result = action();
+ const auto after = std::chrono::steady_clock::now();
+ const auto duration =
+ std::chrono::duration_cast<std::chrono::milliseconds>(after - before);
+ DebugMessage(util::Format(L"{}: {}ms.\n", hint_message, duration.count()));
+ return std::move(result);
+}
#else
- inline void DebugTime(const std::function<void()>& action, const StringView& hint_message)
- {
- action();
- }
+inline void DebugTime(const std::function<void()>& action,
+ const StringView& hint_message) {
+ action();
+}
- template<typename TReturn>
- TReturn DebugTime(const std::function<TReturn()>& action, const StringView& hint_message)
- {
- return action();
- }
-#endif
+template <typename TReturn>
+TReturn DebugTime(const std::function<TReturn()>& action,
+ const StringView& hint_message) {
+ return action();
}
+#endif
+} // namespace cru::debug