GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 72.8% 835 / 0 / 1147
Functions: 80.0% 256 / 0 / 320
Branches: 29.5% 297 / 0 / 1008

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/128
void 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/130
void 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/18
bool 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/24
bool 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/146
auto 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/146
auto 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/128
auto 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/274
auto 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