| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | /// @file | ||
| 2 | /// @brief Levelled logging to a replaceable sink, and timing helpers for log messages. | ||
| 3 | #pragma once | ||
| 4 | |||
| 5 | #include <chrono> | ||
| 6 | #include <functional> | ||
| 7 | #include <optional> | ||
| 8 | #include <sstream> | ||
| 9 | #include <string> | ||
| 10 | #include <string_view> | ||
| 11 | |||
| 12 | namespace terraingen { | ||
| 13 | |||
| 14 | /// Severity of a log message, in increasing order; `Off` as the threshold disables logging. | ||
| 15 | enum class LogLevel { Trace, Debug, Info, Warning, Error, Off }; | ||
| 16 | |||
| 17 | /// The lower-case name of a level: "trace", "debug", "info", "warning", "error" or "off". | ||
| 18 | std::string_view LogLevelName(LogLevel level); | ||
| 19 | |||
| 20 | /// Parses a level name as `LogLevelName` spells it, case-insensitive, or "warn"; nothing if | ||
| 21 | /// `name` names no level. | ||
| 22 | std::optional<LogLevel> ParseLogLevel(std::string_view name); | ||
| 23 | |||
| 24 | /// One log message. | ||
| 25 | struct LogRecord { | ||
| 26 | LogLevel level = LogLevel::Info; ///< How severe it is. | ||
| 27 | std::string category; ///< The part of TerrainGen that logged it, such as "craters". | ||
| 28 | std::string message; ///< The text, without a trailing newline. | ||
| 29 | std::chrono::system_clock::time_point time; ///< When it was logged. | ||
| 30 | }; | ||
| 31 | |||
| 32 | /// Receives log records, one at a time from whichever thread logged; a sink must not log | ||
| 33 | /// itself (such messages are dropped). | ||
| 34 | using LogSink = std::function<void(const LogRecord&)>; | ||
| 35 | |||
| 36 | /// The default sink: one line per record on standard error, "[terraingen] warning | ||
| 37 | /// craters: ...". | ||
| 38 | LogSink StandardErrorLogSink(); | ||
| 39 | |||
| 40 | /// Routes every record at or above the threshold to `sink`; an empty sink restores | ||
| 41 | /// `StandardErrorLogSink`. | ||
| 42 | void SetLogSink(LogSink sink); | ||
| 43 | |||
| 44 | /// Sets the lowest level that is logged; the default is `Warning`. | ||
| 45 | void SetLogLevel(LogLevel level); | ||
| 46 | |||
| 47 | /// The lowest level that is logged. | ||
| 48 | LogLevel GetLogLevel(); | ||
| 49 | |||
| 50 | /// Whether messages at `level` are logged (not `Off` and at or above the threshold); check | ||
| 51 | /// before building expensive messages. | ||
| 52 | bool LogEnabled(LogLevel level); | ||
| 53 | |||
| 54 | /// Sends a message to the sink if its level is enabled. | ||
| 55 | /// @param category The part of TerrainGen logging it. | ||
| 56 | void Log(LogLevel level, std::string_view category, std::string message); | ||
| 57 | |||
| 58 | /// Builds a message from `parts` with `operator<<` and logs it, doing no formatting work when | ||
| 59 | /// the level is disabled. | ||
| 60 | /// @param category The part of TerrainGen logging it. | ||
| 61 | template <typename... Parts> | ||
| 62 | 1534959 | void Log(LogLevel level, std::string_view category, const Parts&... parts) { | |
| 63 |
72/96void terraingen::Log<(anonymous namespace)::CountedFormatting>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, (anonymous namespace)::CountedFormatting const&):
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 1 time.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [10]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [10]):
✓ Branch 1 taken 1 time.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [11], unsigned long, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [3], double, char [2], double, char [5], unsigned long, char [9], long long, char [10], 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> >, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [11], unsigned long const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [3], double const&, char const (&) [2], double const&, char const (&) [5], unsigned long const&, char const (&) [9], long long const&, char const (&) [10], 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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 364662 times.
✓ Branch 3 taken 364651 times.
✓ Branch 4 taken 11 times.
void terraingen::Log<char [17], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [17], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [19], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [19], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 36 times.
✓ Branch 3 taken 36 times.
✗ Branch 4 not taken.
void terraingen::Log<char [20], unsigned long, char const*, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [2]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [20], unsigned long const&, char const* const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [2]):
✓ Branch 1 taken 142 times.
✓ Branch 3 taken 139 times.
✓ Branch 4 taken 3 times.
void terraingen::Log<char [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [22], unsigned long, char [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 5 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
void terraingen::Log<char [22], unsigned long, char [23], unsigned long, char [9]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [23], unsigned long const&, char const (&) [9]):
✓ Branch 1 taken 369 times.
✓ Branch 3 taken 369 times.
✗ Branch 4 not taken.
void terraingen::Log<char [22], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 56 times.
✓ Branch 3 taken 56 times.
✗ Branch 4 not taken.
void terraingen::Log<char [25], unsigned long, char [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [25], unsigned long const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 3 times.
✓ Branch 3 taken 3 times.
✗ Branch 4 not taken.
void terraingen::Log<char [31], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [31], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [33], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [33], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 2 times.
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
void terraingen::Log<char [3], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [3], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 321 times.
✓ Branch 3 taken 313 times.
✓ Branch 4 taken 8 times.
void terraingen::Log<char [44], unsigned long, char [9]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [44], unsigned long const&, char const (&) [9]):
✓ Branch 1 taken 69 times.
✓ Branch 3 taken 69 times.
✗ Branch 4 not taken.
void terraingen::Log<char [6], int, char [5], double>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], int const&, char const (&) [5], double const&):
✓ Branch 1 taken 1 time.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [6], unsigned long, char [2], unsigned long, char [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 89 times.
✓ Branch 3 taken 89 times.
✗ Branch 4 not taken.
void terraingen::Log<char [6], unsigned long, char [5], unsigned long, char [3], unsigned long, char [2], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [3], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 145 times.
✓ Branch 3 taken 141 times.
✓ Branch 4 taken 4 times.
void terraingen::Log<char [6]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6]):
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
void terraingen::Log<char [7], double, char [3], double, char [6], unsigned long, char [11], double, char [5], double, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [10]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], double const&, char const (&) [3], double const&, char const (&) [6], unsigned long const&, char const (&) [11], double const&, char const (&) [5], double const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [10]):
✓ Branch 1 taken 1142973 times.
✓ Branch 3 taken 1142936 times.
✓ Branch 4 taken 37 times.
void terraingen::Log<char [7], unsigned long, char [13], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [13], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 30 times.
✓ Branch 3 taken 29 times.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [7], unsigned long, char [14], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [14], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 22 times.
✓ Branch 3 taken 18 times.
✓ Branch 4 taken 4 times.
void terraingen::Log<char [7], unsigned long, char [20], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [20], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 11 times.
✓ Branch 3 taken 9 times.
✓ Branch 4 taken 2 times.
void terraingen::Log<char [7], unsigned long, char [2], unsigned long, char [2], unsigned long, char [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 306 times.
✓ Branch 3 taken 305 times.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [7]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7]):
✓ Branch 1 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
void terraingen::Log<char [8], unsigned long, char [13], std::basic_string_view<char, std::char_traits<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [13], std::basic_string_view<char, std::char_traits<char> > const&):
✓ Branch 1 taken 12 times.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
void terraingen::Log<char [8], unsigned long, char [19], std::basic_string_view<char, std::char_traits<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [19], std::basic_string_view<char, std::char_traits<char> > const&):
✓ Branch 1 taken 17217 times.
✓ Branch 3 taken 17217 times.
✗ Branch 4 not taken.
void terraingen::Log<char [8], unsigned long, char [2], unsigned long, char [21], unsigned long, char const*, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [21], unsigned long const&, char const* const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 33 times.
✓ Branch 3 taken 30 times.
✓ Branch 4 taken 3 times.
void terraingen::Log<char [8]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8]):
✓ Branch 1 taken 1 time.
✓ Branch 3 taken 1 time.
✗ Branch 4 not taken.
void terraingen::Log<char [9], unsigned long, char [5], unsigned long, char [11], unsigned long, char [16], double, char [5], unsigned long, char [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [9], unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [11], unsigned long const&, char const (&) [16], double const&, char const (&) [5], unsigned long const&, char const (&) [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 445 times.
✓ Branch 3 taken 440 times.
✓ Branch 4 taken 5 times.
void terraingen::Log<int>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, int const&):
✓ Branch 1 taken 8000 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8000 times.
void terraingen::Log<unsigned long, char [5], unsigned long, char [132]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [132]):
✓ Branch 1 taken 1 time.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
|
1534959 | if (!LogEnabled(level)) { |
| 64 | 1526871 | return; | |
| 65 | } | ||
| 66 |
19/32void terraingen::Log<(anonymous namespace)::CountedFormatting>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, (anonymous namespace)::CountedFormatting const&):
✓ Branch 1 taken 1 time.
void terraingen::Log<char [10]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [10]):
✓ Branch 1 taken 1 time.
void terraingen::Log<char [11], unsigned long, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [3], double, char [2], double, char [5], unsigned long, char [9], long long, char [10], 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> >, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [11], unsigned long const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [3], double const&, char const (&) [2], double const&, char const (&) [5], unsigned long const&, char const (&) [9], long long const&, char const (&) [10], 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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 11 times.
void terraingen::Log<char [17], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [17], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [19], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [19], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [20], unsigned long, char const*, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [2]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [20], unsigned long const&, char const* const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [2]):
✓ Branch 1 taken 3 times.
void terraingen::Log<char [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [22], unsigned long, char [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [22], unsigned long, char [23], unsigned long, char [9]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [23], unsigned long const&, char const (&) [9]):
✗ Branch 1 not taken.
void terraingen::Log<char [22], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [25], unsigned long, char [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [25], unsigned long const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [31], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [31], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
void terraingen::Log<char [33], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [33], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [3], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [3], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 8 times.
void terraingen::Log<char [44], unsigned long, char [9]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [44], unsigned long const&, char const (&) [9]):
✗ Branch 1 not taken.
void terraingen::Log<char [6], int, char [5], double>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], int const&, char const (&) [5], double const&):
✓ Branch 1 taken 1 time.
void terraingen::Log<char [6], unsigned long, char [2], unsigned long, char [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [6], unsigned long, char [5], unsigned long, char [3], unsigned long, char [2], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [3], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 4 times.
void terraingen::Log<char [6]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6]):
✓ Branch 1 taken 2 times.
void terraingen::Log<char [7], double, char [3], double, char [6], unsigned long, char [11], double, char [5], double, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [10]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], double const&, char const (&) [3], double const&, char const (&) [6], unsigned long const&, char const (&) [11], double const&, char const (&) [5], double const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [10]):
✓ Branch 1 taken 37 times.
void terraingen::Log<char [7], unsigned long, char [13], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [13], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
void terraingen::Log<char [7], unsigned long, char [14], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [14], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 4 times.
void terraingen::Log<char [7], unsigned long, char [20], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [20], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 2 times.
void terraingen::Log<char [7], unsigned long, char [2], unsigned long, char [2], unsigned long, char [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
void terraingen::Log<char [7]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7]):
✓ Branch 1 taken 2 times.
void terraingen::Log<char [8], unsigned long, char [13], std::basic_string_view<char, std::char_traits<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [13], std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [8], unsigned long, char [19], std::basic_string_view<char, std::char_traits<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [19], std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 1 not taken.
void terraingen::Log<char [8], unsigned long, char [2], unsigned long, char [21], unsigned long, char const*, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [21], unsigned long const&, char const* const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 3 times.
void terraingen::Log<char [8]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8]):
✗ Branch 1 not taken.
void terraingen::Log<char [9], unsigned long, char [5], unsigned long, char [11], unsigned long, char [16], double, char [5], unsigned long, char [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [9], unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [11], unsigned long const&, char const (&) [16], double const&, char const (&) [5], unsigned long const&, char const (&) [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 5 times.
void terraingen::Log<int>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, int const&):
✓ Branch 1 taken 8000 times.
void terraingen::Log<unsigned long, char [5], unsigned long, char [132]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [132]):
✓ Branch 1 taken 1 time.
|
8088 | std::ostringstream message; |
| 67 |
115/168void terraingen::Log<(anonymous namespace)::CountedFormatting>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, (anonymous namespace)::CountedFormatting const&):
✓ Branch 1 taken 1 time.
void terraingen::Log<char [10]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [10]):
✓ Branch 1 taken 1 time.
void terraingen::Log<char [11], unsigned long, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [3], double, char [2], double, char [5], unsigned long, char [9], long long, char [10], 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> >, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [11], unsigned long const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [3], double const&, char const (&) [2], double const&, char const (&) [5], unsigned long const&, char const (&) [9], long long const&, char const (&) [10], 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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 11 times.
✓ Branch 4 taken 11 times.
✓ Branch 7 taken 11 times.
✓ Branch 10 taken 11 times.
✓ Branch 13 taken 11 times.
✓ Branch 16 taken 11 times.
✓ Branch 19 taken 11 times.
✓ Branch 22 taken 11 times.
✓ Branch 25 taken 11 times.
✓ Branch 28 taken 11 times.
✓ Branch 31 taken 11 times.
✓ Branch 34 taken 11 times.
✓ Branch 37 taken 11 times.
✓ Branch 40 taken 11 times.
✓ Branch 43 taken 11 times.
✓ Branch 46 taken 11 times.
✓ Branch 49 taken 11 times.
✓ Branch 52 taken 11 times.
void terraingen::Log<char [17], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [17], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [19], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [19], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [20], unsigned long, char const*, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [2]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [20], unsigned long const&, char const* const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [2]):
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
✓ Branch 7 taken 3 times.
✓ Branch 10 taken 3 times.
✓ Branch 13 taken 3 times.
✓ Branch 16 taken 3 times.
void terraingen::Log<char [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [22], unsigned long, char [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
void terraingen::Log<char [22], unsigned long, char [23], unsigned long, char [9]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [23], unsigned long const&, char const (&) [9]):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 13 not taken.
void terraingen::Log<char [22], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
void terraingen::Log<char [25], unsigned long, char [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [25], unsigned long const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
void terraingen::Log<char [31], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [31], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [33], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [33], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
void terraingen::Log<char [3], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [3], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 8 times.
✓ Branch 4 taken 8 times.
✓ Branch 7 taken 8 times.
✓ Branch 10 taken 8 times.
void terraingen::Log<char [44], unsigned long, char [9]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [44], unsigned long const&, char const (&) [9]):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
void terraingen::Log<char [6], int, char [5], double>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], int const&, char const (&) [5], double const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✓ Branch 10 taken 1 time.
void terraingen::Log<char [6], unsigned long, char [2], unsigned long, char [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
void terraingen::Log<char [6], unsigned long, char [5], unsigned long, char [3], unsigned long, char [2], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [3], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 4 times.
✓ Branch 4 taken 4 times.
✓ Branch 7 taken 4 times.
✓ Branch 10 taken 4 times.
✓ Branch 13 taken 4 times.
✓ Branch 16 taken 4 times.
✓ Branch 19 taken 4 times.
✓ Branch 22 taken 4 times.
✓ Branch 25 taken 4 times.
✓ Branch 28 taken 4 times.
void terraingen::Log<char [6]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6]):
✓ Branch 1 taken 2 times.
void terraingen::Log<char [7], double, char [3], double, char [6], unsigned long, char [11], double, char [5], double, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [10]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], double const&, char const (&) [3], double const&, char const (&) [6], unsigned long const&, char const (&) [11], double const&, char const (&) [5], double const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [10]):
✓ Branch 1 taken 37 times.
✓ Branch 4 taken 37 times.
✓ Branch 7 taken 37 times.
✓ Branch 10 taken 37 times.
✓ Branch 13 taken 37 times.
✓ Branch 16 taken 37 times.
✓ Branch 19 taken 37 times.
✓ Branch 22 taken 37 times.
✓ Branch 25 taken 37 times.
✓ Branch 28 taken 37 times.
✓ Branch 31 taken 37 times.
✓ Branch 34 taken 37 times.
✓ Branch 37 taken 37 times.
void terraingen::Log<char [7], unsigned long, char [13], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [13], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✓ Branch 10 taken 1 time.
✓ Branch 13 taken 1 time.
✓ Branch 16 taken 1 time.
void terraingen::Log<char [7], unsigned long, char [14], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [14], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 4 times.
✓ Branch 4 taken 4 times.
✓ Branch 7 taken 4 times.
✓ Branch 10 taken 4 times.
✓ Branch 13 taken 4 times.
✓ Branch 16 taken 4 times.
void terraingen::Log<char [7], unsigned long, char [20], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [20], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 2 times.
✓ Branch 4 taken 2 times.
✓ Branch 7 taken 2 times.
✓ Branch 10 taken 2 times.
✓ Branch 13 taken 2 times.
✓ Branch 16 taken 2 times.
void terraingen::Log<char [7], unsigned long, char [2], unsigned long, char [2], unsigned long, char [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✓ Branch 10 taken 1 time.
✓ Branch 13 taken 1 time.
✓ Branch 16 taken 1 time.
✓ Branch 19 taken 1 time.
✓ Branch 22 taken 1 time.
✓ Branch 25 taken 1 time.
✓ Branch 28 taken 1 time.
void terraingen::Log<char [7]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7]):
✓ Branch 1 taken 2 times.
void terraingen::Log<char [8], unsigned long, char [13], std::basic_string_view<char, std::char_traits<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [13], std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
void terraingen::Log<char [8], unsigned long, char [19], std::basic_string_view<char, std::char_traits<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [19], std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✗ Branch 10 not taken.
void terraingen::Log<char [8], unsigned long, char [2], unsigned long, char [21], unsigned long, char const*, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [21], unsigned long const&, char const* const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
✓ Branch 7 taken 3 times.
✓ Branch 10 taken 3 times.
✓ Branch 13 taken 3 times.
✓ Branch 16 taken 3 times.
✓ Branch 19 taken 3 times.
✓ Branch 22 taken 3 times.
✓ Branch 25 taken 3 times.
void terraingen::Log<char [8]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8]):
✗ Branch 1 not taken.
void terraingen::Log<char [9], unsigned long, char [5], unsigned long, char [11], unsigned long, char [16], double, char [5], unsigned long, char [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [9], unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [11], unsigned long const&, char const (&) [16], double const&, char const (&) [5], unsigned long const&, char const (&) [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 5 times.
✓ Branch 4 taken 5 times.
✓ Branch 7 taken 5 times.
✓ Branch 10 taken 5 times.
✓ Branch 13 taken 5 times.
✓ Branch 16 taken 5 times.
✓ Branch 19 taken 5 times.
✓ Branch 22 taken 5 times.
✓ Branch 25 taken 5 times.
✓ Branch 28 taken 5 times.
✓ Branch 31 taken 5 times.
✓ Branch 34 taken 5 times.
void terraingen::Log<int>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, int const&):
✓ Branch 1 taken 8000 times.
void terraingen::Log<unsigned long, char [5], unsigned long, char [132]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [132]):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✓ Branch 10 taken 1 time.
|
8088 | (message << ... << parts); |
| 68 |
38/64void terraingen::Log<(anonymous namespace)::CountedFormatting>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, (anonymous namespace)::CountedFormatting const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [10]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [10]):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [11], unsigned long, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [3], double, char [2], double, char [5], unsigned long, char [9], long long, char [10], 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> >, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [11], unsigned long const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [3], double const&, char const (&) [2], double const&, char const (&) [5], unsigned long const&, char const (&) [9], long long const&, char const (&) [10], 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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 11 times.
✓ Branch 4 taken 11 times.
void terraingen::Log<char [17], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [17], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [19], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [19], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [20], unsigned long, char const*, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [2]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [20], unsigned long const&, char const* const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [2]):
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
void terraingen::Log<char [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [22], unsigned long, char [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [22], unsigned long, char [23], unsigned long, char [9]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [23], unsigned long const&, char const (&) [9]):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [22], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [22], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [25], unsigned long, char [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [25], unsigned long const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [31], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [31], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [33], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [33], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [3], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [3], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 8 times.
✓ Branch 4 taken 8 times.
void terraingen::Log<char [44], unsigned long, char [9]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [44], unsigned long const&, char const (&) [9]):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [6], int, char [5], double>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], int const&, char const (&) [5], double const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [6], unsigned long, char [2], unsigned long, char [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [6], unsigned long, char [5], unsigned long, char [3], unsigned long, char [2], unsigned long, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6], unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [3], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 4 times.
✓ Branch 4 taken 4 times.
void terraingen::Log<char [6]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [6]):
✓ Branch 1 taken 2 times.
✓ Branch 4 taken 2 times.
void terraingen::Log<char [7], double, char [3], double, char [6], unsigned long, char [11], double, char [5], double, char [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [10]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], double const&, char const (&) [3], double const&, char const (&) [6], unsigned long const&, char const (&) [11], double const&, char const (&) [5], double const&, char const (&) [2], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [10]):
✓ Branch 1 taken 37 times.
✓ Branch 4 taken 37 times.
void terraingen::Log<char [7], unsigned long, char [13], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [13], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [7], unsigned long, char [14], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [14], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 4 times.
✓ Branch 4 taken 4 times.
void terraingen::Log<char [7], unsigned long, char [20], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [20], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 2 times.
✓ Branch 4 taken 2 times.
void terraingen::Log<char [7], unsigned long, char [2], unsigned long, char [2], unsigned long, char [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [10], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [5], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
void terraingen::Log<char [7]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [7]):
✓ Branch 1 taken 2 times.
✓ Branch 4 taken 2 times.
void terraingen::Log<char [8], unsigned long, char [13], std::basic_string_view<char, std::char_traits<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [13], std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [8], unsigned long, char [19], std::basic_string_view<char, std::char_traits<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [19], std::basic_string_view<char, std::char_traits<char> > const&):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [8], unsigned long, char [2], unsigned long, char [21], unsigned long, char const*, char [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8], unsigned long const&, char const (&) [2], unsigned long const&, char const (&) [21], unsigned long const&, char const* const&, char const (&) [6], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
void terraingen::Log<char [8]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [8]):
✗ Branch 1 not taken.
✗ Branch 4 not taken.
void terraingen::Log<char [9], unsigned long, char [5], unsigned long, char [11], unsigned long, char [16], double, char [5], unsigned long, char [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, char const (&) [9], unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [11], unsigned long const&, char const (&) [16], double const&, char const (&) [5], unsigned long const&, char const (&) [21], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
✓ Branch 1 taken 5 times.
✓ Branch 4 taken 5 times.
void terraingen::Log<int>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, int const&):
✓ Branch 1 taken 8000 times.
✓ Branch 4 taken 8000 times.
void terraingen::Log<unsigned long, char [5], unsigned long, char [132]>(terraingen::LogLevel, std::basic_string_view<char, std::char_traits<char> >, unsigned long const&, char const (&) [5], unsigned long const&, char const (&) [132]):
✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
|
8088 | Log(level, category, message.str()); |
| 69 | 8088 | } | |
| 70 | |||
| 71 | /// Logs a message streamed from `parts` at `Debug` level. | ||
| 72 | 1525360 | template <typename... Parts> void LogDebug(std::string_view category, const Parts&... parts) { | |
| 73 | 1525360 | Log(LogLevel::Debug, category, parts...); | |
| 74 | 1525360 | } | |
| 75 | |||
| 76 | /// Logs a message streamed from `parts` at `Info` level. | ||
| 77 | 1906 | template <typename... Parts> void LogInfo(std::string_view category, const Parts&... parts) { | |
| 78 |
2/2✓ Branch 1 taken 315 times.
✓ Branch 4 taken 315 times.
|
1906 | Log(LogLevel::Info, category, parts...); |
| 79 | 1906 | } | |
| 80 | |||
| 81 | /// Logs a message streamed from `parts` at `Warning` level. | ||
| 82 | 8008 | template <typename... Parts> void LogWarning(std::string_view category, const Parts&... parts) { | |
| 83 | 8008 | Log(LogLevel::Warning, category, parts...); | |
| 84 | 8008 | } | |
| 85 | |||
| 86 | /// Measures elapsed wall-clock time from construction, for timing log messages. | ||
| 87 | class Stopwatch { | ||
| 88 | public: | ||
| 89 | /// Starts timing. | ||
| 90 | 367478 | Stopwatch() : start_(std::chrono::steady_clock::now()) {} | |
| 91 | |||
| 92 | /// Milliseconds since construction. | ||
| 93 | 366365 | double Milliseconds() const { | |
| 94 |
2/2✓ Branch 2 taken 366365 times.
✓ Branch 5 taken 366365 times.
|
732730 | return std::chrono::duration<double, std::milli>(std::chrono::steady_clock::now() - start_) |
| 95 | 732730 | .count(); | |
| 96 | } | ||
| 97 | |||
| 98 | private: | ||
| 99 | std::chrono::steady_clock::time_point start_; | ||
| 100 | }; | ||
| 101 | |||
| 102 | /// Formats a duration in milliseconds for messages: "0.42 ms", "91.6 ms" or "2.31 s". | ||
| 103 | std::string FormatDuration(double milliseconds); | ||
| 104 | |||
| 105 | } // namespace terraingen | ||
| 106 |