diff options
author | 杨宇千 <crupest@outlook.com> | 2019-03-28 20:39:36 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-28 20:39:36 +0800 |
commit | c45a6e62298e972f5945f5f3461ed723aea80317 (patch) | |
tree | f46ef303ee87a8e3814ea8743bd7062d432bfee3 /src/cru_debug.hpp | |
parent | b028e74a48de181ca078ad3bf4ababf4fa146cd3 (diff) | |
parent | 37216f211b0e22205a3a0d3373d985fc68aea59b (diff) | |
download | cru-c45a6e62298e972f5945f5f3461ed723aea80317.tar.gz cru-c45a6e62298e972f5945f5f3461ed723aea80317.tar.bz2 cru-c45a6e62298e972f5945f5f3461ed723aea80317.zip |
Merge pull request #37 from crupest/render
Refactor.
Diffstat (limited to 'src/cru_debug.hpp')
-rw-r--r-- | src/cru_debug.hpp | 71 |
1 files changed, 37 insertions, 34 deletions
diff --git a/src/cru_debug.hpp b/src/cru_debug.hpp index 17cc7b53..58431d56 100644 --- a/src/cru_debug.hpp +++ b/src/cru_debug.hpp @@ -1,47 +1,50 @@ #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 { +#ifdef CRU_DEBUG +void DebugMessage(const StringView& message); +#else +inline void DebugMessage(const StringView& message) {} +#endif #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 |