TerrainGen coverage


terraingen/
Coverage:
low: ≥ 0%
medium: ≥ 75.0%
high: ≥ 90.0%
Lines:
256 / 312
82.1%
Branches:
248 / 364
68.1%
Functions:
63 / 67
94.0%

util/log.h
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/96
void 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/32
void 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/168
void 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/64
void 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