include/DetourModKit/logger.hpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #ifndef DETOURMODKIT_LOGGER_HPP | ||
| 2 | #define DETOURMODKIT_LOGGER_HPP | ||
| 3 | |||
| 4 | #include <string> | ||
| 5 | #include <string_view> | ||
| 6 | #include <mutex> | ||
| 7 | #include <memory> | ||
| 8 | #include <array> | ||
| 9 | #include <cstddef> | ||
| 10 | #include <format> | ||
| 11 | #include <atomic> | ||
| 12 | |||
| 13 | #include "DetourModKit/win_file_stream.hpp" | ||
| 14 | |||
| 15 | namespace DetourModKit | ||
| 16 | { | ||
| 17 | /** | ||
| 18 | * @enum LogLevel | ||
| 19 | * @brief Defines the severity levels for log messages. | ||
| 20 | * @note This is an enum class (C++ Core Guidelines Enum.3) to prevent namespace pollution. | ||
| 21 | */ | ||
| 22 | enum class LogLevel | ||
| 23 | { | ||
| 24 | Trace = 0, | ||
| 25 | Debug = 1, | ||
| 26 | Info = 2, | ||
| 27 | Warning = 3, | ||
| 28 | Error = 4 | ||
| 29 | }; | ||
| 30 | |||
| 31 | /** | ||
| 32 | * @brief Converts a LogLevel enum to its string representation. | ||
| 33 | * @param level The LogLevel enum value. | ||
| 34 | * @return std::string_view String representation of the log level. | ||
| 35 | */ | ||
| 36 | 5044 | [[nodiscard]] constexpr std::string_view log_level_to_string(LogLevel level) noexcept | |
| 37 | { | ||
| 38 |
6/6✓ Branch 2 → 3 taken 76 times.
✓ Branch 2 → 4 taken 59 times.
✓ Branch 2 → 5 taken 3845 times.
✓ Branch 2 → 6 taken 886 times.
✓ Branch 2 → 7 taken 177 times.
✓ Branch 2 → 8 taken 1 time.
|
5044 | switch (level) |
| 39 | { | ||
| 40 | 76 | case LogLevel::Trace: | |
| 41 | 76 | return "TRACE"; | |
| 42 | 59 | case LogLevel::Debug: | |
| 43 | 59 | return "DEBUG"; | |
| 44 | 3845 | case LogLevel::Info: | |
| 45 | 3845 | return "INFO"; | |
| 46 | 886 | case LogLevel::Warning: | |
| 47 | 886 | return "WARNING"; | |
| 48 | 177 | case LogLevel::Error: | |
| 49 | 177 | return "ERROR"; | |
| 50 | 1 | default: | |
| 51 | 1 | return "UNKNOWN"; | |
| 52 | } | ||
| 53 | } | ||
| 54 | |||
| 55 | // Logger configuration defaults | ||
| 56 | inline constexpr const char *DEFAULT_LOG_PREFIX = "DetourModKit"; | ||
| 57 | inline constexpr const char *DEFAULT_LOG_FILE_NAME = "DetourModKit_Log.txt"; | ||
| 58 | inline constexpr const char *DEFAULT_TIMESTAMP_FORMAT = "%Y-%m-%d %H:%M:%S"; | ||
| 59 | |||
| 60 | // Upper bound, in bytes, on a log line that the formatted log() / try_log() fast path renders without | ||
| 61 | // a heap allocation. Those templates format into a stack buffer of this size and forward a view when | ||
| 62 | // the line fits, so a line up to this length never materializes a heap std::string. It mirrors the | ||
| 63 | // async sink's inline message buffer (LogMessage::MAX_INLINE_SIZE), which likewise stores a line of | ||
| 64 | // this size without touching the StringPool; longer lines take the documented overflow path on both | ||
| 65 | // sides. | ||
| 66 | inline constexpr std::size_t LOG_INLINE_MESSAGE_SIZE = 512; | ||
| 67 | |||
| 68 | // Forward declarations | ||
| 69 | struct AsyncLoggerConfig; | ||
| 70 | class AsyncLogger; | ||
| 71 | |||
| 72 | /** | ||
| 73 | * @class Logger | ||
| 74 | * @brief A singleton class for logging messages to a file. | ||
| 75 | * @details Provides thread-safe logging with configurable levels, timestamps, and log file location. Uses atomic | ||
| 76 | * LogLevel for thread-safe level changes. | ||
| 77 | */ | ||
| 78 | class Logger | ||
| 79 | { | ||
| 80 | public: | ||
| 81 | /** | ||
| 82 | * @brief Retrieves the singleton instance of the Logger. | ||
| 83 | * @return Logger& Reference to the single Logger instance. | ||
| 84 | */ | ||
| 85 | 8372 | static Logger &get_instance() | |
| 86 | { | ||
| 87 |
5/8✓ Branch 2 → 3 taken 1072 times.
✓ Branch 2 → 8 taken 7300 times.
✓ Branch 4 → 5 taken 1067 times.
✓ Branch 4 → 8 taken 5 times.
✓ Branch 5 → 6 taken 1067 times.
✗ Branch 5 → 10 not taken.
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 12 not taken.
|
8372 | static Logger instance; |
| 88 | 8371 | return instance; | |
| 89 | } | ||
| 90 | |||
| 91 | /** | ||
| 92 | * @brief Configures global static settings for the logger before first instantiation. | ||
| 93 | * @details If the logger instance already exists, this will also reconfigure the instance by reopening the log | ||
| 94 | * file with the new settings. | ||
| 95 | * @param prefix Default log prefix string. | ||
| 96 | * @param file_name Default log file name. | ||
| 97 | * @param timestamp_fmt Default timestamp format string (strftime compatible). | ||
| 98 | * @note Setup/control-plane only: reopens the log file and is not callback-safe. Call from init, not a hook | ||
| 99 | * or input callback. | ||
| 100 | */ | ||
| 101 | static void configure(std::string_view prefix, std::string_view file_name, | ||
| 102 | 5 | std::string_view timestamp_fmt = DEFAULT_TIMESTAMP_FORMAT); | |
| 103 | |||
| 104 | /** | ||
| 105 | * @brief Reconfigures an existing logger instance with new settings. | ||
| 106 | * @details Closes the current log file (if open) and reopens it with the new settings. Thread-safe. Logs a | ||
| 107 | * message about the reconfiguration. | ||
| 108 | * @param prefix New log prefix string. | ||
| 109 | * @param file_name New log file name. | ||
| 110 | * @param timestamp_fmt New timestamp format string (strftime compatible). | ||
| 111 | */ | ||
| 112 | void reconfigure(std::string_view prefix, std::string_view file_name, std::string_view timestamp_fmt); | ||
| 113 | |||
| 114 | /** | ||
| 115 | * @brief Enables asynchronous logging mode. | ||
| 116 | * @details When enabled, log messages are queued and written by a dedicated writer thread, reducing latency on | ||
| 117 | * the calling thread. | ||
| 118 | * @param config Optional async logger configuration. Uses defaults if not provided. | ||
| 119 | * @note Setup/control-plane only: starts the writer thread and takes m_async_mutex; not callback-safe. | ||
| 120 | */ | ||
| 121 | void enable_async_mode(const AsyncLoggerConfig &config); | ||
| 122 | void enable_async_mode(); | ||
| 123 | |||
| 124 | /** | ||
| 125 | * @brief Disables asynchronous logging mode and returns to synchronous mode. | ||
| 126 | * @details Flushes all pending async messages before switching. If the writer thread is detached because this | ||
| 127 | * runs under the Windows loader lock (e.g. during DLL unload), the AsyncLogger is intentionally leaked | ||
| 128 | * and the module is pinned so the detached thread never outlives the object's storage or code pages; | ||
| 129 | * the event is recorded via Diagnostics::record_intentional_leak. | ||
| 130 | */ | ||
| 131 | void disable_async_mode() noexcept; | ||
| 132 | |||
| 133 | /** | ||
| 134 | * @brief Checks if async logging mode is enabled. | ||
| 135 | * @return true if async mode is enabled, false otherwise. | ||
| 136 | */ | ||
| 137 | [[nodiscard]] bool is_async_mode_enabled() const noexcept; | ||
| 138 | |||
| 139 | /** | ||
| 140 | * @brief Flushes all pending log messages. | ||
| 141 | * @details In async mode, waits for all queued messages to be written. In sync mode, flushes the file stream. | ||
| 142 | */ | ||
| 143 | void flush() noexcept; | ||
| 144 | |||
| 145 | /** | ||
| 146 | * @brief Explicitly shuts down the Logger, closing files without logging. | ||
| 147 | * @details This method is safe to call during shutdown. It closes the log file and shuts down async logger | ||
| 148 | * without attempting to log, preventing use-after-free if called after other singletons are destroyed. | ||
| 149 | * After calling shutdown(), the destructor becomes a no-op. | ||
| 150 | */ | ||
| 151 | void shutdown() noexcept; | ||
| 152 | |||
| 153 | /** | ||
| 154 | * @brief Gets the current log level. | ||
| 155 | * @return LogLevel The current minimum log level. | ||
| 156 | */ | ||
| 157 | 35 | [[nodiscard]] LogLevel get_log_level() const noexcept | |
| 158 | { | ||
| 159 | 35 | return m_current_log_level.load(std::memory_order_acquire); | |
| 160 | } | ||
| 161 | |||
| 162 | /** | ||
| 163 | * @brief Checks whether messages at the given level would be logged. | ||
| 164 | * @details Useful for gating expensive trace-only work (e.g. iterating a data structure solely to build a log | ||
| 165 | * message). | ||
| 166 | * @param level The LogLevel to test. | ||
| 167 | * @return true if a message at this level would pass the current filter. | ||
| 168 | */ | ||
| 169 | 49 | [[nodiscard]] bool is_enabled(LogLevel level) const noexcept | |
| 170 | { | ||
| 171 | 49 | return level >= m_current_log_level.load(std::memory_order_acquire); | |
| 172 | } | ||
| 173 | |||
| 174 | /** | ||
| 175 | * @brief Sets the minimum log level for messages to be recorded. | ||
| 176 | * @param level The minimum LogLevel to record. | ||
| 177 | */ | ||
| 178 | void set_log_level(LogLevel level); | ||
| 179 | |||
| 180 | /** | ||
| 181 | * @brief Logs a message if its level is at or above the current log level. | ||
| 182 | * @param level The LogLevel of the message. | ||
| 183 | * @param message The message string to log. | ||
| 184 | * @return true if the message was delivered to the sink (enqueued in async mode, or written to a healthy file | ||
| 185 | * stream in sync mode); false if it was filtered out by level, dropped (queue full), or the file sink | ||
| 186 | * was closed/unhealthy. The return is informational; callers that do not need delivery status may | ||
| 187 | * ignore it. | ||
| 188 | * @note Logging is best-effort. In async mode a message enqueued during or immediately after shutdown() may be | ||
| 189 | * lost: the post-join drain can miss at most one in-flight message per producer thread (an accepted | ||
| 190 | * trade-off documented on AsyncLogger::shutdown). Do not rely on a final diagnostics line reaching the | ||
| 191 | * file if it is emitted while the logger is being torn down. | ||
| 192 | * @note In synchronous mode a Warning or Error force-flushes the file stream under the log mutex, so a hook or | ||
| 193 | * input callback that logs at those levels every frame stalls the game thread on disk I/O. For per-frame | ||
| 194 | * hot-path logging, enable_async_mode() first (the lock-free queue is non-blocking and callback-safe), or | ||
| 195 | * keep the hot path at Debug/Trace, which is gated out unless explicitly enabled. | ||
| 196 | */ | ||
| 197 | bool log(LogLevel level, std::string_view message); | ||
| 198 | |||
| 199 | /** | ||
| 200 | * @brief No-throw counterpart of log() for callers that sit on a noexcept boundary. | ||
| 201 | * @details The ordinary log()/error() path can throw (the synchronous sink allocates while formatting the | ||
| 202 | * timestamp, and a custom stream could raise). Calling it from a hook callback, a loader-lock teardown | ||
| 203 | * path, or a catch block inside a noexcept function would let that exception escape and call | ||
| 204 | * std::terminate, taking down the host process. This entry point takes an already-formatted message | ||
| 205 | * and swallows any exception the sink raises, dropping the message instead. | ||
| 206 | * @param level The LogLevel of the message. | ||
| 207 | * @param message The already-formatted message string. | ||
| 208 | * @return true if the message was handed to the sink, false if it was filtered out or an internal failure was | ||
| 209 | * suppressed. | ||
| 210 | * @note Callback-safe and best-effort: non-blocking, fails closed, never throws -- the host-callback logging | ||
| 211 | * path (with try_log). | ||
| 212 | */ | ||
| 213 | [[nodiscard]] bool log_noexcept(LogLevel level, std::string_view message) noexcept; | ||
| 214 | |||
| 215 | /** | ||
| 216 | * @brief Logs a formatted message with the specified log level. | ||
| 217 | * @details Uses std::format-style placeholders. Arguments are only formatted if the log level is enabled (lazy | ||
| 218 | * evaluation). | ||
| 219 | * @tparam Args Types of the format arguments. | ||
| 220 | * @param level The LogLevel of the message. | ||
| 221 | * @param fmt The format string with {} placeholders. | ||
| 222 | * @param args The arguments to substitute into the format string. | ||
| 223 | */ | ||
| 224 | 3644 | template <typename... Args> void log(LogLevel level, std::format_string<Args...> fmt, Args &&...args) | |
| 225 | { | ||
| 226 |
68/128void DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>):
✓ Branch 3 → 4 taken 109 times.
✓ Branch 3 → 6 taken 869 times.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&):
✓ Branch 3 → 4 taken 2 times.
✓ Branch 3 → 8 taken 6 times.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 10 taken 3 times.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 12 taken 3 times.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✓ Branch 3 → 4 taken 7 times.
✓ Branch 3 → 8 taken 163 times.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 12 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&):
✓ Branch 3 → 4 taken 3 times.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6]):
✓ Branch 3 → 4 taken 5 times.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 3 → 4 taken 2 times.
✓ Branch 3 → 8 taken 1 time.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✓ Branch 3 → 4 taken 3 times.
✓ Branch 3 → 10 taken 1 time.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&):
✓ Branch 3 → 4 taken 5 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 10 taken 1 time.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 10 taken 4 times.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 3 → 4 taken 4 times.
✓ Branch 3 → 10 taken 4 times.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&):
✓ Branch 3 → 4 taken 4 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&):
✓ Branch 3 → 4 taken 12 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 10 taken 3 times.
void DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&):
✓ Branch 3 → 4 taken 786 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&):
✓ Branch 3 → 4 taken 1 time.
✓ Branch 3 → 8 taken 15 times.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 3 → 4 taken 47 times.
✓ Branch 3 → 8 taken 251 times.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&):
✓ Branch 3 → 4 taken 11 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&):
✓ Branch 3 → 4 taken 3 times.
✗ Branch 3 → 12 not taken.
void DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 3 → 4 taken 53 times.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 12 taken 143 times.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 14 taken 3 times.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 3 → 4 taken 11 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 12 taken 14 times.
void DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&):
✓ Branch 3 → 4 taken 255 times.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4]):
✓ Branch 3 → 4 taken 4 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&):
✓ Branch 3 → 4 taken 25 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 14 taken 374 times.
void DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&):
✓ Branch 3 → 4 taken 36 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&):
✓ Branch 3 → 4 taken 2 times.
✓ Branch 3 → 12 taken 50 times.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&):
✓ Branch 3 → 4 taken 74 times.
✓ Branch 3 → 10 taken 17 times.
void DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&):
✓ Branch 3 → 4 taken 3 times.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&):
✓ Branch 3 → 4 taken 3 times.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&):
✓ Branch 3 → 4 taken 4 times.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&):
✓ Branch 3 → 4 taken 26 times.
✓ Branch 3 → 8 taken 9 times.
void DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 12 not taken.
void DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 16 not taken.
void DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&):
✓ Branch 3 → 4 taken 4 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&):
✓ Branch 3 → 4 taken 6 times.
✗ Branch 3 → 12 not taken.
void DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 14 not taken.
void DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 16 not taken.
void DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 26 not taken.
void DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&):
✓ Branch 3 → 4 taken 1 time.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&):
✓ Branch 3 → 4 taken 3 times.
✗ Branch 3 → 8 not taken.
void DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 3 → 4 taken 136 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&):
✓ Branch 3 → 4 taken 40 times.
✗ Branch 3 → 10 not taken.
void DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&):
✓ Branch 3 → 4 taken 10 times.
✗ Branch 3 → 10 not taken.
|
3644 | if (level >= m_current_log_level.load(std::memory_order_acquire)) |
| 227 | { | ||
| 228 | // Format into a stack buffer instead of through a std::format temporary so a line that fits | ||
| 229 | // the inline buffer never heap-allocates. The view handed to the sink is consumed | ||
| 230 | // synchronously (the async path copies it into LogMessage, the sync path writes it) before | ||
| 231 | // this call returns, so it never outlives the stack buffer. | ||
| 232 |
48/130void DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>):
✓ Branch 4 → 5 taken 109 times.
✗ Branch 4 → 7 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&):
✓ Branch 6 → 7 taken 2 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 13 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✓ Branch 6 → 7 taken 7 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 13 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&):
✓ Branch 6 → 7 taken 3 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&):
✓ Branch 6 → 7 taken 1 time.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6]):
✓ Branch 6 → 7 taken 5 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 6 → 7 taken 2 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✓ Branch 8 → 9 taken 3 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&):
✓ Branch 8 → 9 taken 5 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 8 → 9 taken 4 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&):
✓ Branch 8 → 9 taken 4 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 6 → 7 not taken.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&):
✓ Branch 8 → 9 taken 12 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&):
✓ Branch 8 → 9 taken 790 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&):
✓ Branch 6 → 7 taken 1 time.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 6 → 7 taken 47 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&):
✓ Branch 8 → 9 taken 11 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&):
✓ Branch 10 → 11 taken 3 times.
✗ Branch 10 → 13 not taken.
void DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&):
✓ Branch 6 → 7 taken 1 time.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✗ Branch 6 → 7 not taken.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 13 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 12 → 13 not taken.
✗ Branch 12 → 15 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 8 → 9 taken 11 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 13 not taken.
void DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&):
✓ Branch 6 → 7 taken 255 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4]):
✓ Branch 8 → 9 taken 4 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&):
✓ Branch 8 → 9 taken 25 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 6 → 7 taken 1 time.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&):
✗ Branch 12 → 13 not taken.
✗ Branch 12 → 15 not taken.
void DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&):
✓ Branch 8 → 9 taken 36 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&):
✓ Branch 10 → 11 taken 2 times.
✗ Branch 10 → 13 not taken.
void DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&):
✓ Branch 8 → 9 taken 74 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&):
✓ Branch 6 → 7 taken 3 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&):
✓ Branch 6 → 7 taken 1 time.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&):
✓ Branch 6 → 7 taken 3 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&):
✓ Branch 6 → 7 taken 4 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&):
✓ Branch 6 → 7 taken 26 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 13 not taken.
void DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&):
✓ Branch 14 → 15 taken 1 time.
✗ Branch 14 → 17 not taken.
void DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&):
✓ Branch 8 → 9 taken 4 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&):
✓ Branch 10 → 11 taken 6 times.
✗ Branch 10 → 13 not taken.
void DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&):
✓ Branch 12 → 13 taken 1 time.
✗ Branch 12 → 15 not taken.
void DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&):
✓ Branch 14 → 15 taken 1 time.
✗ Branch 14 → 17 not taken.
void DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&):
✓ Branch 24 → 25 taken 1 time.
✗ Branch 24 → 27 not taken.
void DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&):
✓ Branch 6 → 7 taken 1 time.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&):
✓ Branch 6 → 7 taken 3 times.
✗ Branch 6 → 9 not taken.
void DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 8 → 9 taken 136 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&):
✓ Branch 8 → 9 taken 40 times.
✗ Branch 8 → 11 not taken.
void DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&):
✓ Branch 8 → 9 taken 10 times.
✗ Branch 8 → 11 not taken.
DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}::operator()(std::basic_string_view<char, std::char_traits<char> >) const:
✓ Branch 6 → 7 taken 53 times.
✗ Branch 6 → 9 not taken.
|
4591 | (void)format_dispatch([this, level](std::string_view formatted) { return this->log(level, formatted); }, |
| 233 | fmt, std::forward<Args>(args)...); | ||
| 234 | } | ||
| 235 | 3650 | } | |
| 236 | |||
| 237 | /** | ||
| 238 | * @name Convenience log methods | ||
| 239 | * @brief Shorthand for `log(LogLevel::X, fmt, args...)`. See log() for parameter docs. | ||
| 240 | * @{ | ||
| 241 | */ | ||
| 242 | 68 | template <typename... Args> void trace(std::format_string<Args...> fmt, Args &&...args) | |
| 243 | { | ||
| 244 | 175 | log(LogLevel::Trace, fmt, std::forward<Args>(args)...); | |
| 245 | 68 | } | |
| 246 | |||
| 247 | 1878 | template <typename... Args> void debug(std::format_string<Args...> fmt, Args &&...args) | |
| 248 | { | ||
| 249 | 3356 | log(LogLevel::Debug, fmt, std::forward<Args>(args)...); | |
| 250 | 1878 | } | |
| 251 | |||
| 252 | 1378 | template <typename... Args> void info(std::format_string<Args...> fmt, Args &&...args) | |
| 253 | { | ||
| 254 | 2422 | log(LogLevel::Info, fmt, std::forward<Args>(args)...); | |
| 255 | 1387 | } | |
| 256 | |||
| 257 | 87 | template <typename... Args> void warning(std::format_string<Args...> fmt, Args &&...args) | |
| 258 | { | ||
| 259 | 100 | log(LogLevel::Warning, fmt, std::forward<Args>(args)...); | |
| 260 | 87 | } | |
| 261 | |||
| 262 | 108 | template <typename... Args> void error(std::format_string<Args...> fmt, Args &&...args) | |
| 263 | { | ||
| 264 | 141 | log(LogLevel::Error, fmt, std::forward<Args>(args)...); | |
| 265 | 108 | } | |
| 266 | /** @} */ | ||
| 267 | |||
| 268 | /** | ||
| 269 | * @brief No-throw formatted logging for callers on a noexcept boundary. | ||
| 270 | * @details Like log(level, fmt, args...) but formats inside a try/catch and routes the result through | ||
| 271 | * log_noexcept(), so neither a std::format failure nor a sink failure can propagate. Prefer this over | ||
| 272 | * log()/error()/warning() from inside hook callbacks and other noexcept contexts. Arguments are only | ||
| 273 | * formatted when the level is enabled (lazy evaluation). | ||
| 274 | * @return true if the message was handed to the sink, false if it was filtered out or dropped because | ||
| 275 | * formatting/logging failed. | ||
| 276 | * @note Callback-safe and best-effort: formats and logs without throwing -- prefer it over log()/error() | ||
| 277 | * from hook and input callbacks. | ||
| 278 | */ | ||
| 279 | template <typename... Args> | ||
| 280 | 4818 | [[nodiscard]] bool try_log(LogLevel level, std::format_string<Args...> fmt, Args &&...args) noexcept | |
| 281 | { | ||
| 282 |
8/18bool DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>):
✓ Branch 3 → 4 taken 533 times.
✓ Branch 3 → 5 taken 11 times.
bool DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 5 not taken.
bool DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 5 not taken.
bool DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 5 not taken.
bool DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&):
✗ Branch 3 → 4 not taken.
✗ Branch 3 → 5 not taken.
bool DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&):
✓ Branch 3 → 4 taken 5 times.
✗ Branch 3 → 5 not taken.
bool DetourModKit::Logger::try_log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 3 → 4 taken 24 times.
✓ Branch 3 → 5 taken 10 times.
bool DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 3 → 4 taken 4230 times.
✓ Branch 3 → 5 taken 4 times.
bool DetourModKit::Logger::try_log<int, char const (&) [3]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3]):
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 5 taken 1 time.
|
4818 | if (level < m_current_log_level.load(std::memory_order_acquire)) |
| 283 | { | ||
| 284 | 4792 | return false; | |
| 285 | } | ||
| 286 | try | ||
| 287 | { | ||
| 288 | // Same allocation-free formatting as log(); the try/catch preserves the no-throw contract | ||
| 289 | // because format_to_n and the std::format overflow fallback can both throw. | ||
| 290 |
4/24bool DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>):
✓ Branch 5 → 6 taken 11 times.
✗ Branch 5 → 9 not taken.
bool DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 7 → 8 not taken.
✗ Branch 7 → 11 not taken.
bool DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✗ Branch 9 → 10 not taken.
✗ Branch 9 → 13 not taken.
bool DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✗ Branch 7 → 8 not taken.
✗ Branch 7 → 11 not taken.
bool DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&):
✗ Branch 9 → 10 not taken.
✗ Branch 9 → 13 not taken.
bool DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&):
✗ Branch 7 → 8 not taken.
✗ Branch 7 → 11 not taken.
bool DetourModKit::Logger::try_log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 7 → 8 taken 10 times.
✗ Branch 7 → 11 not taken.
bool DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 7 → 8 taken 4 times.
✗ Branch 7 → 11 not taken.
DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}::operator()(std::basic_string_view<char, std::char_traits<char> >) const:
✗ Branch 5 → 6 not taken.
✗ Branch 5 → 9 not taken.
DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}::operator()(std::basic_string_view<char, std::char_traits<char> >) const:
✗ Branch 7 → 8 not taken.
✗ Branch 7 → 11 not taken.
DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}::operator()(std::basic_string_view<char, std::char_traits<char> >) const:
✗ Branch 7 → 8 not taken.
✗ Branch 7 → 11 not taken.
DetourModKit::Logger::try_log<int, char const (&) [3]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}::operator()(std::basic_string_view<char, std::char_traits<char> >) const:
✓ Branch 9 → 10 taken 1 time.
✗ Branch 9 → 13 not taken.
|
78 | return format_dispatch([this, level](std::string_view formatted) noexcept |
| 291 | 26 | { return this->log_noexcept(level, formatted); }, fmt, | |
| 292 | 26 | std::forward<Args>(args)...); | |
| 293 | } | ||
| 294 | ✗ | catch (...) | |
| 295 | { | ||
| 296 | ✗ | return false; | |
| 297 | } | ||
| 298 | } | ||
| 299 | |||
| 300 | /** | ||
| 301 | * @brief Converts a log level string to the LogLevel enum. | ||
| 302 | * @param level_str The string to convert (case-insensitive). | ||
| 303 | * @return The corresponding LogLevel enum. Defaults to LogLevel::Info if unrecognized. | ||
| 304 | */ | ||
| 305 | [[nodiscard]] static LogLevel string_to_log_level(std::string_view level_str); | ||
| 306 | |||
| 307 | /** | ||
| 308 | * @struct StaticConfig | ||
| 309 | * @brief Immutable configuration snapshot for thread-safe static configuration. | ||
| 310 | * @details Stored behind a std::atomic<std::shared_ptr<const StaticConfig>> and published with an | ||
| 311 | * acquire/release pair, so a reader takes no DetourModKit-level lock. The load is genuinely lock-free | ||
| 312 | * on MSVC x64 (128-bit compare-exchange); on MinGW/GCC the standard library may use an | ||
| 313 | * implementation-internal global mutex for the shared_ptr atomic, which is still correct but not | ||
| 314 | * strictly lock-free. This path is touched only on (re)configuration and the log() slow path, not | ||
| 315 | * per-message, so the fallback cost is immaterial. | ||
| 316 | */ | ||
| 317 | struct StaticConfig | ||
| 318 | { | ||
| 319 | std::string log_prefix; | ||
| 320 | std::string log_file_name; | ||
| 321 | std::string timestamp_format; | ||
| 322 | |||
| 323 | 1352 | StaticConfig(std::string prefix, std::string file, std::string ts_fmt) | |
| 324 | 5408 | : log_prefix(std::move(prefix)), log_file_name(std::move(file)), timestamp_format(std::move(ts_fmt)) | |
| 325 | { | ||
| 326 | 1352 | } | |
| 327 | }; | ||
| 328 | |||
| 329 | private: | ||
| 330 | Logger(); | ||
| 331 | ~Logger() noexcept; | ||
| 332 | |||
| 333 | Logger(const Logger &) = delete; | ||
| 334 | Logger &operator=(const Logger &) = delete; | ||
| 335 | Logger(Logger &&) = delete; | ||
| 336 | Logger &operator=(Logger &&) = delete; | ||
| 337 | |||
| 338 | /** | ||
| 339 | * @brief Formats one log line into a stack buffer and hands it to @p sink. | ||
| 340 | * @details Renders into a buffer the size of the async sink's inline message buffer | ||
| 341 | * (LOG_INLINE_MESSAGE_SIZE). std::format_to_n reports the untruncated length, so a line | ||
| 342 | * that fits is passed to @p sink as a view into the stack buffer with no heap allocation; | ||
| 343 | * a std::format temporary would instead allocate for any result past the small-string | ||
| 344 | * limit, which the async LogMessage then copies into its own inline buffer anyway. A line | ||
| 345 | * longer than the inline buffer is the documented overflow case (the async sink stores it | ||
| 346 | * via StringPool / heap up to MAX_MESSAGE_SIZE), so it is re-formatted once through | ||
| 347 | * std::format to give @p sink the full line. The formatter only reads its arguments (it | ||
| 348 | * never moves them), so forwarding the same pack to both format_to_n and the std::format | ||
| 349 | * fallback is safe. | ||
| 350 | * @return Whatever @p sink returns for the line. | ||
| 351 | */ | ||
| 352 | template <typename Sink, typename... Args> | ||
| 353 | 1736 | static auto format_dispatch(Sink &&sink, std::format_string<Args...> fmt, Args &&...args) | |
| 354 | { | ||
| 355 | std::array<char, LOG_INLINE_MESSAGE_SIZE> buffer; | ||
| 356 |
52/146auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}>(DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char>):
✓ Branch 6 → 7 taken 109 times.
✗ Branch 6 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&):
✓ Branch 8 → 9 taken 2 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&):
✗ Branch 12 → 13 not taken.
✗ Branch 12 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✓ Branch 8 → 9 taken 7 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 12 → 13 not taken.
✗ Branch 12 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*>(DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&):
✓ Branch 8 → 9 taken 3 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, void*>(DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const (&) [6]>(DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6]):
✓ Branch 8 → 9 taken 5 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 8 → 9 taken 2 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✓ Branch 10 → 11 taken 3 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&):
✓ Branch 10 → 11 taken 5 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 10 → 11 taken 4 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&):
✓ Branch 10 → 11 taken 4 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&):
✓ Branch 10 → 11 taken 12 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int const&, int&>(DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&):
✓ Branch 10 → 11 taken 736 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 8 → 9 taken 47 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&):
✓ Branch 10 → 11 taken 11 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&):
✓ Branch 12 → 13 taken 3 times.
✗ Branch 12 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, void*&>(DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 8 → 9 taken 53 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 12 → 13 not taken.
✗ Branch 12 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 14 → 15 not taken.
✗ Branch 14 → 44 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 10 → 11 taken 11 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 12 → 13 not taken.
✗ Branch 12 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&>(DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type>, int&):
✓ Branch 8 → 9 taken 255 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&, char const (&) [4]>(DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4]):
✓ Branch 10 → 11 taken 4 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&, int&>(DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&):
✓ Branch 10 → 11 taken 25 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&>(DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&):
✗ Branch 14 → 15 not taken.
✗ Branch 14 → 44 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&):
✓ Branch 10 → 11 taken 36 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&):
✓ Branch 12 → 13 taken 2 times.
✗ Branch 12 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&):
✓ Branch 10 → 11 taken 74 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, bool>(DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&):
✓ Branch 8 → 9 taken 3 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char>(DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char>::type>, char&&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, double>(DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<double>::type>, double&&):
✓ Branch 8 → 9 taken 3 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, float>(DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<float>::type>, float&&):
✓ Branch 8 → 9 taken 4 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int>(DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type>, int&&):
✓ Branch 8 → 9 taken 26 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [4], float>(DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&):
✓ Branch 12 → 13 taken 1 time.
✗ Branch 12 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [4], float, bool, char>(DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&):
✓ Branch 16 → 17 taken 1 time.
✗ Branch 16 → 48 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, double>(DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int>(DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&):
✓ Branch 10 → 11 taken 4 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int>(DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&):
✓ Branch 12 → 13 taken 6 times.
✗ Branch 12 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&):
✓ Branch 14 → 15 taken 1 time.
✗ Branch 14 → 44 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&):
✓ Branch 16 → 17 taken 1 time.
✗ Branch 16 → 48 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int, int, int, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&):
✓ Branch 26 → 27 taken 1 time.
✗ Branch 26 → 68 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, long>(DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<long>::type>, long&&):
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long>(DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&):
✓ Branch 8 → 9 taken 3 times.
✗ Branch 8 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 10 → 11 taken 136 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, long long>(DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&):
✓ Branch 10 → 11 taken 40 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, unsigned long long>(DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&):
✓ Branch 10 → 11 taken 10 times.
✗ Branch 10 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}>(DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char>):
✓ Branch 6 → 7 taken 11 times.
✗ Branch 6 → 23 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 27 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 31 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 27 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&):
✗ Branch 10 → 11 not taken.
✗ Branch 10 → 31 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*&>(DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&):
✗ Branch 8 → 9 not taken.
✗ Branch 8 → 27 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::try_log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 8 → 9 taken 10 times.
✗ Branch 8 → 27 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&>(DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 8 → 9 taken 4 times.
✗ Branch 8 → 27 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<int, char const (&) [3]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [3]>(DetourModKit::Logger::try_log<int, char const (&) [3]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3]):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 31 not taken.
|
6299 | const auto result = std::format_to_n(buffer.data(), buffer.size(), fmt, std::forward<Args>(args)...); |
| 357 | 1689 | const auto formatted = static_cast<std::size_t>(result.size); | |
| 358 |
54/146auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}>(DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char>):
✓ Branch 9 → 10 taken 109 times.
✗ Branch 9 → 16 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&):
✓ Branch 11 → 12 taken 2 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&):
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✓ Branch 11 → 12 taken 7 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*>(DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&):
✓ Branch 11 → 12 taken 3 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, void*>(DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&):
✓ Branch 11 → 12 taken 1 time.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const (&) [6]>(DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6]):
✓ Branch 11 → 12 taken 5 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 11 → 12 taken 1 time.
✓ Branch 11 → 18 taken 1 time.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✓ Branch 13 → 14 taken 3 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&):
✓ Branch 13 → 14 taken 5 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&):
✓ Branch 13 → 14 taken 1 time.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 13 → 14 taken 4 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&):
✓ Branch 13 → 14 taken 4 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 11 → 12 not taken.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&):
✓ Branch 13 → 14 taken 12 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int const&, int&>(DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&):
✓ Branch 13 → 14 taken 737 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&):
✓ Branch 11 → 12 taken 1 time.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 11 → 12 taken 45 times.
✓ Branch 11 → 18 taken 2 times.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&):
✓ Branch 13 → 14 taken 11 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&):
✓ Branch 15 → 16 taken 3 times.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, void*&>(DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&):
✓ Branch 11 → 12 taken 1 time.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 11 → 12 taken 53 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 24 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&):
✓ Branch 13 → 14 taken 1 time.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 13 → 14 taken 11 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&>(DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type>, int&):
✓ Branch 11 → 12 taken 255 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&, char const (&) [4]>(DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4]):
✓ Branch 13 → 14 taken 4 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&, int&>(DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&):
✓ Branch 13 → 14 taken 25 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&>(DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 11 → 12 taken 1 time.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&):
✓ Branch 13 → 14 taken 1 time.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 24 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&):
✓ Branch 13 → 14 taken 36 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&):
✓ Branch 15 → 16 taken 2 times.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&):
✓ Branch 13 → 14 taken 74 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, bool>(DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&):
✓ Branch 11 → 12 taken 3 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char>(DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char>::type>, char&&):
✓ Branch 11 → 12 taken 1 time.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, double>(DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<double>::type>, double&&):
✓ Branch 11 → 12 taken 3 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, float>(DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<float>::type>, float&&):
✓ Branch 11 → 12 taken 4 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int>(DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type>, int&&):
✓ Branch 11 → 12 taken 26 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [4], float>(DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [4], float, bool, char>(DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&):
✓ Branch 19 → 20 taken 1 time.
✗ Branch 19 → 26 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, double>(DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&):
✓ Branch 13 → 14 taken 1 time.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int>(DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&):
✓ Branch 13 → 14 taken 4 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int>(DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&):
✓ Branch 15 → 16 taken 6 times.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&):
✓ Branch 17 → 18 taken 1 time.
✗ Branch 17 → 24 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&):
✓ Branch 19 → 20 taken 1 time.
✗ Branch 19 → 26 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int, int, int, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&):
✓ Branch 29 → 30 taken 1 time.
✗ Branch 29 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, long>(DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<long>::type>, long&&):
✓ Branch 11 → 12 taken 1 time.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long>(DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&):
✓ Branch 11 → 12 taken 3 times.
✗ Branch 11 → 18 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 13 → 14 taken 136 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, long long>(DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&):
✓ Branch 13 → 14 taken 40 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, unsigned long long>(DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&):
✓ Branch 13 → 14 taken 10 times.
✗ Branch 13 → 20 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}>(DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char>):
✓ Branch 9 → 10 taken 11 times.
✗ Branch 9 → 15 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 11 → 12 not taken.
✗ Branch 11 → 17 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 19 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✗ Branch 11 → 12 not taken.
✗ Branch 11 → 17 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&):
✗ Branch 13 → 14 not taken.
✗ Branch 13 → 19 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*&>(DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&):
✗ Branch 11 → 12 not taken.
✗ Branch 11 → 17 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::try_log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 11 → 12 taken 10 times.
✗ Branch 11 → 17 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&>(DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 11 → 12 taken 4 times.
✗ Branch 11 → 17 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<int, char const (&) [3]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [3]>(DetourModKit::Logger::try_log<int, char const (&) [3]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3]):
✓ Branch 13 → 14 taken 1 time.
✗ Branch 13 → 19 not taken.
|
1689 | if (formatted <= buffer.size()) |
| 359 | { | ||
| 360 |
48/128auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}>(DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char>):
✓ Branch 13 → 14 taken 109 times.
✗ Branch 13 → 24 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&):
✓ Branch 15 → 16 taken 2 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✓ Branch 15 → 16 taken 7 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*>(DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&):
✓ Branch 15 → 16 taken 3 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, void*>(DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const (&) [6]>(DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6]):
✓ Branch 15 → 16 taken 5 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✓ Branch 17 → 18 taken 3 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&):
✓ Branch 17 → 18 taken 5 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&):
✓ Branch 17 → 18 taken 1 time.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 17 → 18 taken 4 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&):
✓ Branch 17 → 18 taken 4 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&):
✓ Branch 17 → 18 taken 12 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int const&, int&>(DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&):
✓ Branch 17 → 18 taken 793 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 15 → 16 taken 45 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&):
✓ Branch 17 → 18 taken 11 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&):
✓ Branch 19 → 20 taken 3 times.
✗ Branch 19 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, void*&>(DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 15 → 16 taken 53 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 21 → 22 not taken.
✗ Branch 21 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&):
✓ Branch 17 → 18 taken 1 time.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&):
✓ Branch 17 → 18 taken 11 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&>(DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type>, int&):
✓ Branch 15 → 16 taken 255 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&, char const (&) [4]>(DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4]):
✓ Branch 17 → 18 taken 4 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&, int&>(DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&):
✓ Branch 17 → 18 taken 25 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&>(DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 17 → 18 not taken.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&):
✓ Branch 17 → 18 taken 1 time.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&):
✗ Branch 21 → 22 not taken.
✗ Branch 21 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&):
✓ Branch 17 → 18 taken 36 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&):
✓ Branch 19 → 20 taken 2 times.
✗ Branch 19 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&):
✓ Branch 17 → 18 taken 74 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, bool>(DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&):
✓ Branch 15 → 16 taken 3 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char>(DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char>::type>, char&&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, double>(DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<double>::type>, double&&):
✓ Branch 15 → 16 taken 3 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, float>(DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<float>::type>, float&&):
✓ Branch 15 → 16 taken 4 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int>(DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type>, int&&):
✓ Branch 15 → 16 taken 26 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [4], float>(DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&):
✓ Branch 19 → 20 taken 1 time.
✗ Branch 19 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [4], float, bool, char>(DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&):
✓ Branch 23 → 24 taken 1 time.
✗ Branch 23 → 44 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, double>(DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&):
✓ Branch 17 → 18 taken 1 time.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int>(DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&):
✓ Branch 17 → 18 taken 4 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int>(DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&):
✓ Branch 19 → 20 taken 6 times.
✗ Branch 19 → 36 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&):
✓ Branch 21 → 22 taken 1 time.
✗ Branch 21 → 40 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&):
✓ Branch 23 → 24 taken 1 time.
✗ Branch 23 → 44 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int, int, int, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&):
✓ Branch 33 → 34 taken 1 time.
✗ Branch 33 → 64 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, long>(DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<long>::type>, long&&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long>(DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&):
✓ Branch 15 → 16 taken 3 times.
✗ Branch 15 → 28 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 17 → 18 taken 136 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, long long>(DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&):
✓ Branch 17 → 18 taken 40 times.
✗ Branch 17 → 32 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, unsigned long long>(DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&):
✓ Branch 17 → 18 taken 10 times.
✗ Branch 17 → 32 not taken.
|
1687 | return sink(std::string_view(buffer.data(), formatted)); |
| 361 | } | ||
| 362 |
4/274auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}>(DetourModKit::Logger::log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char>):
✗ Branch 16 → 17 not taken.
✗ Branch 16 → 27 not taken.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 25 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type>, std::basic_string_view<char, std::char_traits<char> > const&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const, unsigned long long const&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned long long const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&&, unsigned long long const&, unsigned long long const&):
✗ Branch 28 → 29 not taken.
✗ Branch 28 → 39 not taken.
✗ Branch 30 → 31 not taken.
✗ Branch 30 → 37 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 28 → 29 not taken.
✗ Branch 28 → 39 not taken.
✗ Branch 30 → 31 not taken.
✗ Branch 30 → 37 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, unsigned long&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*>(DetourModKit::Logger::log<char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*>::type>, char const*&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, char const*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, void*>(DetourModKit::Logger::log<void*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<void*>::type>, void*&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const (&) [6]>(DetourModKit::Logger::log<char const (&) [6]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const (&) [6]>::type>, char const (&) [6]):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 20 → 21 taken 1 time.
✗ Branch 20 → 31 not taken.
✓ Branch 22 → 23 taken 1 time.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<float const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float const&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<int const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type>, std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<char const*>::type>, std::basic_string_view<char, std::char_traits<char> > const&, char const*&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> > const&, unsigned long long&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> >&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int const&, int&>(DetourModKit::Logger::log<int const&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int const&>::type, std::type_identity<int&>::type>, int const&, int&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long const&>::type>, unsigned long long const&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✓ Branch 20 → 21 taken 2 times.
✗ Branch 20 → 31 not taken.
✓ Branch 22 → 23 taken 2 times.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::Logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<long long>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long long&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::Logger::log<char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<int&>::type>, char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&):
✗ Branch 28 → 29 not taken.
✗ Branch 28 → 39 not taken.
✗ Branch 30 → 31 not taken.
✗ Branch 30 → 37 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, void*&>(DetourModKit::Logger::log<void*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<void*&>::type>, void*&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > const>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> > const&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 28 → 29 not taken.
✗ Branch 28 → 39 not taken.
✗ Branch 30 → 31 not taken.
✗ Branch 30 → 37 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 32 → 33 not taken.
✗ Branch 32 → 43 not taken.
✗ Branch 34 → 35 not taken.
✗ Branch 34 → 41 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<unsigned long long&>::type>, std::basic_string_view<char, std::char_traits<char> >&, unsigned long long&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 28 → 29 not taken.
✗ Branch 28 → 39 not taken.
✗ Branch 30 → 31 not taken.
✗ Branch 30 → 37 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&>(DetourModKit::Logger::log<int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type>, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type>, int&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&, char const (&) [4]>(DetourModKit::Logger::log<int&, char const (&) [4]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<char const (&) [4]>::type>, int&, char const (&) [4]):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int&, int&>(DetourModKit::Logger::log<int&, int&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int&>::type, std::type_identity<int&>::type>, int&, int&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&>(DetourModKit::Logger::log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::Logger::log<unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long const&>::type, std::type_identity<unsigned int&>::type, std::type_identity<unsigned long long const&>::type>, unsigned long long&, unsigned long long const&, unsigned int&, unsigned long long const&):
✗ Branch 32 → 33 not taken.
✗ Branch 32 → 43 not taken.
✗ Branch 34 → 35 not taken.
✗ Branch 34 → 41 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&, unsigned long long&>(DetourModKit::Logger::log<unsigned long long&, unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type, std::type_identity<unsigned long long&>::type>, unsigned long long&, unsigned long long&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<unsigned long long>::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long&&):
✗ Branch 28 → 29 not taken.
✗ Branch 28 → 39 not taken.
✗ Branch 30 → 31 not taken.
✗ Branch 30 → 37 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::Logger::log<std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> > >(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type, std::type_identity<std::basic_string_view<char, std::char_traits<char> > >::type>, std::basic_string_view<char, std::char_traits<char> >&&, std::basic_string_view<char, std::char_traits<char> >&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, bool>(DetourModKit::Logger::log<bool>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<bool>::type>, bool&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char>(DetourModKit::Logger::log<char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char>::type>, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char>::type>, char&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, double>(DetourModKit::Logger::log<double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<double>::type>, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<double>::type>, double&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, float>(DetourModKit::Logger::log<float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<float>::type>, float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<float>::type>, float&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int>(DetourModKit::Logger::log<int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type>, int&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [4], float>(DetourModKit::Logger::log<int, char const (&) [4], float>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type>, int&&, char const (&) [4], float&&):
✗ Branch 28 → 29 not taken.
✗ Branch 28 → 39 not taken.
✗ Branch 30 → 31 not taken.
✗ Branch 30 → 37 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [4], float, bool, char>(DetourModKit::Logger::log<int, char const (&) [4], float, bool, char>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [4]>::type, std::type_identity<float>::type, std::type_identity<bool>::type, std::type_identity<char>::type>, int&&, char const (&) [4], float&&, bool&&, char&&):
✗ Branch 36 → 37 not taken.
✗ Branch 36 → 47 not taken.
✗ Branch 38 → 39 not taken.
✗ Branch 38 → 45 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, double>(DetourModKit::Logger::log<int, double>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<double>::type>, int&&, double&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int>(DetourModKit::Logger::log<int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int>(DetourModKit::Logger::log<int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&):
✗ Branch 28 → 29 not taken.
✗ Branch 28 → 39 not taken.
✗ Branch 30 → 31 not taken.
✗ Branch 30 → 37 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&):
✗ Branch 32 → 33 not taken.
✗ Branch 32 → 43 not taken.
✗ Branch 34 → 35 not taken.
✗ Branch 34 → 41 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&):
✗ Branch 36 → 37 not taken.
✗ Branch 36 → 47 not taken.
✗ Branch 38 → 39 not taken.
✗ Branch 38 → 45 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, int, int, int, int, int, int, int, int, int>(DetourModKit::Logger::log<int, int, int, int, int, int, int, int, int, int>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type, std::type_identity<int>::type>, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&, int&&):
✗ Branch 56 → 57 not taken.
✗ Branch 56 → 67 not taken.
✗ Branch 58 → 59 not taken.
✗ Branch 58 → 65 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, long>(DetourModKit::Logger::log<long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<long>::type>, long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<long>::type>, long&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long>(DetourModKit::Logger::log<unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type>, unsigned long long&&):
✗ Branch 20 → 21 not taken.
✗ Branch 20 → 31 not taken.
✗ Branch 22 → 23 not taken.
✗ Branch 22 → 29 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::log<unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, unsigned long long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, long long>(DetourModKit::Logger::log<unsigned long long, long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<long long>::type>, unsigned long long&&, long long&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long, unsigned long long>(DetourModKit::Logger::log<unsigned long long, unsigned long long>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long>::type, std::type_identity<unsigned long long>::type>, unsigned long long&&, unsigned long long&&):
✗ Branch 24 → 25 not taken.
✗ Branch 24 → 35 not taken.
✗ Branch 26 → 27 not taken.
✗ Branch 26 → 33 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}>(DetourModKit::Logger::try_log<>(DetourModKit::LogLevel, std::basic_format_string<char>)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char>):
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 22 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 26 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&&):
✗ Branch 23 → 24 not taken.
✗ Branch 23 → 30 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 26 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::Logger::try_log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type, std::type_identity<char const*>::type>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*&&):
✗ Branch 23 → 24 not taken.
✗ Branch 23 → 30 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, char const*&>(DetourModKit::Logger::try_log<char const*&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<char const*&>::type>, char const*&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 26 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::Logger::try_log<std::basic_string_view<char, std::char_traits<char> >&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<std::basic_string_view<char, std::char_traits<char> >&>::type>, std::basic_string_view<char, std::char_traits<char> >&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 26 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, unsigned long long&>(DetourModKit::Logger::try_log<unsigned long long&>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&)::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<unsigned long long&>::type>, unsigned long long&):
✗ Branch 19 → 20 not taken.
✗ Branch 19 → 26 not taken.
auto DetourModKit::Logger::format_dispatch<DetourModKit::Logger::try_log<int, char const (&) [3]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}, int, char const (&) [3]>(DetourModKit::Logger::try_log<int, char const (&) [3]>(DetourModKit::LogLevel, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3])::{lambda(std::basic_string_view<char, std::char_traits<char> >)#1}&&, std::basic_format_string<char, std::type_identity<int>::type, std::type_identity<char const (&) [3]>::type>, int&&, char const (&) [3]):
✗ Branch 23 → 24 not taken.
✗ Branch 23 → 30 not taken.
|
3 | return sink(std::string_view(std::format(fmt, std::forward<Args>(args)...))); |
| 363 | } | ||
| 364 | |||
| 365 | /** | ||
| 366 | * @brief Shared shutdown logic used by both ~Logger() and shutdown(). | ||
| 367 | */ | ||
| 368 | void shutdown_internal() noexcept; | ||
| 369 | |||
| 370 | /** | ||
| 371 | * @brief Generates the current timestamp formatted according to m_timestamp_format. | ||
| 372 | * @return std::string The formatted timestamp string. | ||
| 373 | */ | ||
| 374 | std::string get_timestamp() const; | ||
| 375 | |||
| 376 | /** | ||
| 377 | * @brief Determines the full path for the log file. | ||
| 378 | * @return std::wstring The absolute path as a wide string for Unicode fidelity. | ||
| 379 | */ | ||
| 380 | std::wstring generate_log_file_path() const; | ||
| 381 | |||
| 382 | static std::shared_ptr<const StaticConfig> get_static_config(); | ||
| 383 | static void set_static_config(std::shared_ptr<const StaticConfig> config); | ||
| 384 | |||
| 385 | // Lock ordering (must be acquired in this order to prevent deadlock): | ||
| 386 | // 1. m_async_mutex -- async logger lifecycle | ||
| 387 | // 2. *m_log_mutex_ptr -- file stream I/O | ||
| 388 | |||
| 389 | std::string m_log_prefix; | ||
| 390 | std::string m_log_file_name; | ||
| 391 | std::string m_timestamp_format; | ||
| 392 | |||
| 393 | std::shared_ptr<WinFileStream> m_log_file_stream_ptr; | ||
| 394 | std::shared_ptr<std::mutex> m_log_mutex_ptr; | ||
| 395 | std::atomic<LogLevel> m_current_log_level{LogLevel::Info}; | ||
| 396 | std::atomic<bool> m_shutdown_called{false}; | ||
| 397 | |||
| 398 | // Async logging support (forward declared). m_async_logger is atomic for lock-free reads on the log() hot path. | ||
| 399 | // m_async_mutex serializes lifecycle operations (enable/disable/shutdown). | ||
| 400 | // | ||
| 401 | // On MSVC x64, std::atomic<std::shared_ptr<T>> is lock-free (uses | ||
| 402 | // 128-bit compare-exchange). On MinGW/GCC, this may fall back to a global mutex, which is still correct but | ||
| 403 | // serializes the hot-path load. This is an accepted trade-off: the lock-free fast path benefits the primary | ||
| 404 | // target (MSVC), and the MinGW fallback is bounded to one mutex acquisition per log() call, which is comparable | ||
| 405 | // to the mutex already used by synchronous mode. | ||
| 406 | std::atomic<std::shared_ptr<AsyncLogger>> m_async_logger{}; | ||
| 407 | std::atomic<bool> m_async_mode_enabled{false}; | ||
| 408 | std::mutex m_async_mutex; | ||
| 409 | }; | ||
| 410 | } // namespace DetourModKit | ||
| 411 | |||
| 412 | #endif // DETOURMODKIT_LOGGER_HPP | ||
| 413 |