GCC Code Coverage Report


ernie/
Coverage:
low: ≥ 0%
medium: ≥ 75.0%
high: ≥ 90.0%
Lines:
23 / 23
100.0%
Branches:
377 / 804
46.9%
Functions:
2 / 2, 3 excl
100.0%

scene/value.h
Line Branch Exec Source
1 // SPDX-License-Identifier: BSD-3-Clause
2 /// @file value.h
3 /// @brief One attribute value of any type, as JSON, Python and importers hand them to the scene.
4 #pragma once
5
6 #include "ernie/scene/path.h"
7
8 #include <glm/glm.hpp>
9 #include <glm/gtc/quaternion.hpp>
10
11 #include <string>
12 #include <string_view>
13 #include <utility>
14 #include <variant>
15 #include <vector>
16
17 namespace ernie {
18
19 /// @brief An attribute value: a number, vector, matrix, quaternion, token, path or array. The
20 /// scene converts it to the attribute's declared type, widening floats and ints.
21
87/172
✓ Branch 1 taken 1606 times.
✓ Branch 2 taken 12 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 3 taken 1 time.
✓ Branch 4 taken 1 time.
✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✓ Branch 6 taken 2 times.
✓ Branch 6 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 7 not taken.
✓ Branch 7 taken 1 time.
✓ Branch 8 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 11 not taken.
✓ Branch 11 taken 1 time.
✓ Branch 12 taken 1 time.
✓ Branch 12 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 13 not taken.
✓ Branch 13 taken 1 time.
✓ Branch 13 taken 1 time.
✓ Branch 14 taken 2 times.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✓ Branch 15 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 15 taken 1 time.
✓ Branch 16 taken 1 time.
✗ Branch 16 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 17 not taken.
✓ Branch 17 taken 1 time.
✗ Branch 18 not taken.
✓ Branch 18 taken 1 time.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 19 not taken.
✓ Branch 19 taken 1 time.
✓ Branch 20 taken 1 time.
✓ Branch 21 taken 1 time.
✗ Branch 22 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 23 taken 1 time.
✓ Branch 23 taken 1 time.
✗ Branch 25 not taken.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 time.
✗ Branch 26 not taken.
✓ Branch 26 taken 1 time.
✓ Branch 26 taken 1 time.
✗ Branch 27 not taken.
✓ Branch 27 taken 1 time.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 time.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
✗ Branch 39 not taken.
✓ Branch 40 taken 9 times.
✗ Branch 40 not taken.
✓ Branch 40 taken 1 time.
✗ Branch 41 not taken.
✓ Branch 41 taken 1 time.
✗ Branch 42 not taken.
✓ Branch 43 taken 1 time.
✗ Branch 46 not taken.
✓ Branch 47 taken 1 time.
✗ Branch 47 not taken.
✓ Branch 48 taken 1 time.
✗ Branch 50 not taken.
✓ Branch 51 taken 1 time.
✗ Branch 56 not taken.
✓ Branch 57 taken 1 time.
✗ Branch 58 not taken.
✓ Branch 59 taken 1 time.
✓ Branch 63 taken 1 time.
✗ Branch 64 not taken.
✗ Branch 66 not taken.
✓ Branch 67 taken 1 time.
✓ Branch 67 taken 1 time.
✗ Branch 68 not taken.
✗ Branch 72 not taken.
✓ Branch 73 taken 1 time.
✓ Branch 75 taken 1 time.
✗ Branch 76 not taken.
✓ Branch 81 taken 1 time.
✗ Branch 82 not taken.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✓ Branch 93 taken 1 time.
✗ Branch 94 not taken.
✓ Branch 96 taken 1 time.
✓ Branch 97 taken 1 time.
✗ Branch 97 not taken.
✗ Branch 98 not taken.
✗ Branch 99 not taken.
✓ Branch 100 taken 1 time.
✓ Branch 103 taken 1 time.
✗ Branch 104 not taken.
✓ Branch 106 taken 1 time.
✗ Branch 106 not taken.
✗ Branch 107 not taken.
✓ Branch 107 taken 1 time.
✓ Branch 110 taken 1 time.
✓ Branch 110 taken 1 time.
✗ Branch 111 not taken.
✗ Branch 111 not taken.
✗ Branch 113 not taken.
✓ Branch 114 taken 1 time.
✓ Branch 119 taken 1 time.
✗ Branch 120 not taken.
✓ Branch 123 taken 1 time.
✓ Branch 123 taken 1 time.
✗ Branch 124 not taken.
✗ Branch 124 not taken.
✓ Branch 127 taken 1 time.
✓ Branch 127 taken 1 time.
✗ Branch 128 not taken.
✗ Branch 128 not taken.
✓ Branch 131 taken 1 time.
✗ Branch 132 not taken.
✓ Branch 135 taken 1 time.
✗ Branch 136 not taken.
✓ Branch 147 taken 1 time.
✗ Branch 148 not taken.
✓ Branch 151 taken 1 time.
✗ Branch 152 not taken.
✓ Branch 155 taken 1 time.
✗ Branch 156 not taken.
✓ Branch 168 taken 1 time.
✗ Branch 169 not taken.
✓ Branch 179 taken 6 times.
✗ Branch 180 not taken.
✓ Branch 187 taken 3 times.
✗ Branch 188 not taken.
✓ Branch 193 taken 3 times.
✗ Branch 194 not taken.
✓ Branch 215 taken 1 time.
✗ Branch 216 not taken.
✓ Branch 221 taken 1 time.
✗ Branch 222 not taken.
✓ Branch 228 taken 1 time.
✗ Branch 229 not taken.
✓ Branch 236 taken 1 time.
✗ Branch 237 not taken.
✓ Branch 247 taken 1 time.
✗ Branch 248 not taken.
✓ Branch 251 taken 1 time.
✗ Branch 252 not taken.
✓ Branch 260 taken 1 time.
✗ Branch 261 not taken.
✓ Branch 264 taken 1 time.
✗ Branch 265 not taken.
✓ Branch 270 taken 2 times.
✗ Branch 271 not taken.
34846 class Value {
22 public:
23 using Data = std::variant<std::monostate, bool, int, float, double, glm::ivec2, glm::vec2,
24 glm::vec3, glm::vec4, glm::dvec2, glm::dvec3, glm::dvec4, glm::dmat4,
25 glm::dquat, std::string, Path, std::vector<float>, std::vector<Path>,
26 std::vector<std::string>>;
27
28 6586 Value() = default;
29 template <typename T>
30 requires std::is_constructible_v<Data, T> && (!std::is_same_v<std::decay_t<T>, Value>)
31
175/359
✓ Branch 1 taken 1798 times.
✓ Branch 1 taken 1 time.
✓ Branch 1 taken 146 times.
✓ Branch 1 taken 1 time.
✓ Branch 1 taken 31 times.
✗ Branch 1 not taken.
✓ Branch 1 taken 1 time.
✓ Branch 1 taken 993 times.
✓ Branch 1 taken 2 times.
✓ Branch 1 taken 1 time.
✓ Branch 2 taken 1 time.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✓ Branch 2 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 90 times.
✗ Branch 3 not taken.
✗ Branch 3 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 4 taken 9 times.
✓ Branch 4 taken 1 time.
✓ Branch 4 taken 5 times.
✓ Branch 4 taken 4 times.
✓ Branch 4 taken 1 time.
✓ Branch 4 taken 1 time.
✓ Branch 4 taken 2 times.
✗ Branch 4 not taken.
✓ Branch 4 taken 1 time.
✓ Branch 5 taken 47 times.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✓ Branch 5 taken 1 time.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✓ Branch 5 taken 2 times.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✓ Branch 6 taken 9 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 3945 times.
✓ Branch 7 taken 72 times.
✗ Branch 7 not taken.
✓ Branch 7 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 7 taken 3 times.
✓ Branch 7 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 8 taken 524 times.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✓ Branch 9 taken 32 times.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✓ Branch 10 taken 1 time.
✓ Branch 10 taken 74 times.
✓ Branch 10 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 10 taken 31 times.
✓ Branch 10 taken 2 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✓ Branch 11 taken 61 times.
✗ Branch 11 not taken.
✗ Branch 11 not taken.
✓ Branch 11 taken 5 times.
✓ Branch 11 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✓ Branch 12 taken 1 time.
✓ Branch 12 taken 8 times.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 13 not taken.
✓ Branch 13 taken 1539 times.
✓ Branch 13 taken 655 times.
✗ Branch 13 not taken.
✗ Branch 13 not taken.
✗ Branch 13 not taken.
✓ Branch 13 taken 6 times.
✓ Branch 13 taken 2 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 14 not taken.
✓ Branch 14 taken 146 times.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✓ Branch 14 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✓ Branch 15 taken 1 time.
✓ Branch 15 taken 60 times.
✓ Branch 15 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 15 not taken.
✓ Branch 16 taken 2 times.
✓ Branch 16 taken 2 times.
✓ Branch 16 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 17 taken 1 time.
✗ Branch 17 not taken.
✓ Branch 17 taken 786 times.
✓ Branch 17 taken 3 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 time.
✗ Branch 18 not taken.
✓ Branch 18 taken 1 time.
✓ Branch 18 taken 438 times.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 3 times.
✓ Branch 19 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 19 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✓ Branch 20 taken 2 times.
✓ Branch 20 taken 146 times.
✓ Branch 20 taken 3 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 21 not taken.
✓ Branch 21 taken 1 time.
✗ Branch 21 not taken.
✗ Branch 21 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 time.
✓ Branch 22 taken 1 time.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 23 taken 1 time.
✓ Branch 23 taken 4 times.
✓ Branch 23 taken 525 times.
✓ Branch 23 taken 3 times.
✓ Branch 24 taken 1 time.
✗ Branch 24 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 time.
✗ Branch 25 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✓ Branch 26 taken 1 time.
✓ Branch 26 taken 292 times.
✓ Branch 27 taken 4 times.
✓ Branch 27 taken 1 time.
✗ Branch 27 not taken.
✓ Branch 27 taken 294 times.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 29 taken 146 times.
✗ Branch 30 not taken.
✓ Branch 30 taken 1 time.
✗ Branch 31 not taken.
✓ Branch 31 taken 586 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 time.
✓ Branch 32 taken 146 times.
✓ Branch 32 taken 146 times.
✓ Branch 33 taken 1 time.
✗ Branch 33 not taken.
✓ Branch 33 taken 1 time.
✗ Branch 33 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✓ Branch 35 taken 146 times.
✓ Branch 36 taken 1 time.
✓ Branch 36 taken 1 time.
✓ Branch 37 taken 1 time.
✗ Branch 37 not taken.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✓ Branch 39 taken 1 time.
✓ Branch 39 taken 1 time.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✓ Branch 41 taken 1 time.
✓ Branch 41 taken 146 times.
✓ Branch 42 taken 1 time.
✓ Branch 42 taken 1 time.
✗ Branch 43 not taken.
✗ Branch 43 not taken.
✓ Branch 44 taken 3 times.
✓ Branch 45 taken 1 time.
✗ Branch 45 not taken.
✓ Branch 45 taken 1 time.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 time.
✓ Branch 48 taken 1 time.
✗ Branch 49 not taken.
✗ Branch 49 not taken.
✓ Branch 51 taken 1 time.
✓ Branch 51 taken 1 time.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✓ Branch 54 taken 1 time.
✓ Branch 54 taken 1 time.
✗ Branch 55 not taken.
✗ Branch 55 not taken.
✓ Branch 57 taken 1 time.
✓ Branch 58 taken 1 time.
✗ Branch 58 not taken.
✗ Branch 59 not taken.
✓ Branch 60 taken 1 time.
✗ Branch 61 not taken.
✗ Branch 61 not taken.
✓ Branch 62 taken 1 time.
✓ Branch 63 taken 1 time.
✗ Branch 64 not taken.
✓ Branch 65 taken 1 time.
✓ Branch 66 taken 4 times.
✓ Branch 67 taken 1 time.
✗ Branch 68 not taken.
✓ Branch 69 taken 1 time.
✗ Branch 70 not taken.
✓ Branch 71 taken 1 time.
✓ Branch 72 taken 1 time.
✓ Branch 73 taken 1 time.
✗ Branch 74 not taken.
✓ Branch 75 taken 1 time.
✓ Branch 76 taken 1 time.
✗ Branch 76 not taken.
✗ Branch 77 not taken.
✓ Branch 78 taken 1 time.
✓ Branch 79 taken 1 time.
✗ Branch 79 not taken.
✗ Branch 80 not taken.
✓ Branch 81 taken 1 time.
✓ Branch 82 taken 1 time.
✗ Branch 82 not taken.
✗ Branch 83 not taken.
✓ Branch 84 taken 1 time.
✓ Branch 85 taken 1 time.
✗ Branch 85 not taken.
✗ Branch 86 not taken.
✓ Branch 87 taken 1 time.
✓ Branch 88 taken 1 time.
✗ Branch 88 not taken.
✗ Branch 89 not taken.
✓ Branch 90 taken 1 time.
✗ Branch 91 not taken.
✓ Branch 93 taken 1 time.
✗ Branch 94 not taken.
✓ Branch 96 taken 1 time.
✗ Branch 97 not taken.
✓ Branch 99 taken 1 time.
✗ Branch 100 not taken.
✓ Branch 102 taken 1 time.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 time.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 time.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 time.
✗ Branch 112 not taken.
✓ Branch 114 taken 1 time.
✗ Branch 115 not taken.
✓ Branch 117 taken 1 time.
✗ Branch 118 not taken.
✓ Branch 120 taken 1 time.
✗ Branch 121 not taken.
✓ Branch 123 taken 1 time.
✗ Branch 124 not taken.
✓ Branch 126 taken 1 time.
✗ Branch 127 not taken.
✓ Branch 129 taken 6 times.
✗ Branch 130 not taken.
✓ Branch 132 taken 6 times.
✗ Branch 133 not taken.
✓ Branch 135 taken 3 times.
✗ Branch 136 not taken.
✓ Branch 138 taken 3 times.
✗ Branch 139 not taken.
✓ Branch 141 taken 3 times.
✗ Branch 142 not taken.
✓ Branch 144 taken 1 time.
✗ Branch 145 not taken.
✓ Branch 147 taken 1 time.
✗ Branch 148 not taken.
✓ Branch 150 taken 1 time.
✗ Branch 151 not taken.
✓ Branch 153 taken 1 time.
✗ Branch 154 not taken.
✓ Branch 156 taken 1 time.
✗ Branch 157 not taken.
✓ Branch 159 taken 1 time.
✗ Branch 160 not taken.
✓ Branch 162 taken 1 time.
✗ Branch 163 not taken.
✓ Branch 165 taken 1 time.
✗ Branch 166 not taken.
✓ Branch 168 taken 1 time.
✗ Branch 169 not taken.
✓ Branch 171 taken 1 time.
✗ Branch 172 not taken.
✓ Branch 174 taken 1 time.
✗ Branch 175 not taken.
✓ Branch 177 taken 1 time.
✗ Branch 178 not taken.
✓ Branch 180 taken 1 time.
✗ Branch 181 not taken.
✓ Branch 183 taken 1 time.
✗ Branch 184 not taken.
✓ Branch 186 taken 1 time.
✗ Branch 187 not taken.
✓ Branch 189 taken 1 time.
✗ Branch 190 not taken.
✓ Branch 192 taken 1 time.
✗ Branch 193 not taken.
✓ Branch 195 taken 1 time.
✗ Branch 196 not taken.
✓ Branch 198 taken 2 times.
✗ Branch 199 not taken.
✓ Branch 201 taken 2 times.
✗ Branch 202 not taken.
50621 Value(T&& value) : data_(std::forward<T>(value)) {}
32 2 Value(std::string_view value) : data_(std::string(value)) {}
33 1196 Value(const char* value) : data_(std::string(value)) {}
34
35 1625 bool Empty() const {
36
3/4
<unknown function 21>:
✗ Branch 0 not taken.
✓ Branch 1 taken 1 time.
<unknown function 35>:
✓ Branch 0 taken 332 times.
✓ Branch 1 taken 1292 times.
1625 return std::holds_alternative<std::monostate>(data_);
37 }
38 1 template <typename T> bool Is() const {
39
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 1 time.
2 return std::holds_alternative<T>(data_);
40 }
41
22/36
<unknown function 21>:
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 262 times.
✓ Branch 2 taken 301 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 6 not taken.
✓ Branch 7 taken 43 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 43 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 45 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 45 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 218 times.
✓ Branch 16 taken 167 times.
✓ Branch 17 taken 51 times.
<unknown function 41>:
✓ Branch 0 taken 1 time.
✓ Branch 1 taken 1764 times.
✓ Branch 2 taken 3 times.
✓ Branch 3 taken 1767 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1780 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1780 times.
✓ Branch 8 taken 1 time.
✓ Branch 9 taken 2804 times.
✓ Branch 10 taken 1000 times.
✓ Branch 11 taken 1804 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
9152 template <typename T> const T* Get() const {
42
83/209
<unknown function 21>:
✓ Branch 0 taken 3666 times.
✓ Branch 0 taken 16 times.
✓ Branch 1 taken 528 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 14 times.
✓ Branch 2 taken 153 times.
✓ Branch 3 taken 16 times.
✓ Branch 3 taken 266 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✗ Branch 4 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 4 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 4 times.
✓ Branch 5 taken 8 times.
✗ Branch 5 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 6 taken 4 times.
✓ Branch 6 taken 5 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✓ Branch 7 taken 41 times.
✗ Branch 7 not taken.
✓ Branch 7 taken 79 times.
✓ Branch 8 taken 4 times.
✓ Branch 8 taken 9 times.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✓ Branch 8 taken 3432 times.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✓ Branch 9 taken 16 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✓ Branch 10 taken 3432 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 11 not taken.
✗ Branch 11 not taken.
✓ Branch 11 taken 3009 times.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 14 not taken.
✓ Branch 14 taken 33 times.
✓ Branch 14 taken 575 times.
✗ Branch 15 not taken.
✗ Branch 15 not taken.
✓ Branch 15 taken 32 times.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✓ Branch 16 taken 543 times.
✗ Branch 17 not taken.
✗ Branch 17 not taken.
✓ Branch 17 taken 14 times.
✓ Branch 17 taken 301 times.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 19 taken 301 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 23 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 24 taken 317 times.
✗ Branch 25 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✓ Branch 28 taken 2 times.
✓ Branch 29 taken 2044 times.
✓ Branch 30 taken 5 times.
✓ Branch 30 taken 1 time.
✗ Branch 31 not taken.
✓ Branch 31 taken 1 time.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 time.
✓ Branch 35 taken 43 times.
✓ Branch 36 taken 3 times.
✗ Branch 37 not taken.
✓ Branch 38 taken 43 times.
✓ Branch 39 taken 43 times.
✓ Branch 40 taken 82 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 43 times.
✓ Branch 43 taken 45 times.
✓ Branch 44 taken 23 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 45 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 45 times.
✓ Branch 49 taken 218 times.
✓ Branch 50 taken 275 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 218 times.
✓ Branch 53 taken 167 times.
✓ Branch 54 taken 51 times.
<unknown function 41>:
✓ Branch 0 taken 1765 times.
✓ Branch 1 taken 13 times.
✓ Branch 2 taken 1 time.
✓ Branch 3 taken 1764 times.
✗ Branch 4 not taken.
✓ Branch 4 taken 1770 times.
✗ Branch 5 not taken.
✓ Branch 5 taken 6583 times.
✗ Branch 6 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✓ Branch 7 taken 1767 times.
✗ Branch 8 not taken.
✓ Branch 8 taken 1780 times.
✗ Branch 9 not taken.
✓ Branch 9 taken 94 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 1780 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1780 times.
✗ Branch 14 not taken.
✓ Branch 14 taken 126 times.
✗ Branch 15 not taken.
✓ Branch 15 taken 2973 times.
✗ Branch 16 not taken.
✓ Branch 16 taken 105 times.
✗ Branch 17 not taken.
✓ Branch 17 taken 21 times.
✗ Branch 18 not taken.
✓ Branch 18 taken 2805 times.
✗ Branch 19 not taken.
✓ Branch 19 taken 3936 times.
✗ Branch 20 not taken.
✓ Branch 20 taken 1 time.
✓ Branch 21 taken 2804 times.
✓ Branch 22 taken 1000 times.
✗ Branch 23 not taken.
✓ Branch 23 taken 1804 times.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 33 not taken.
✗ Branch 34 not taken.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✗ Branch 40 not taken.
✗ Branch 41 not taken.
✗ Branch 42 not taken.
✗ Branch 43 not taken.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 54 not taken.
ernie::Value::Value(char const*):
✓ Branch 0 taken 5 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 3 times.
✗ Branch 6 not taken.
✓ Branch 6 taken 6 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 3 times.
✗ Branch 9 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 2 times.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
45607 return std::get_if<T>(&data_);
43 }
44 1801 const Data& Raw() const {
45
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12 times.
1801 return data_;
46 }
47
5/20
<unknown function 21>:
✓ Branch 0 taken 6 times.
✗ Branch 0 not taken.
✓ Branch 0 taken 4 times.
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 1 not taken.
✓ Branch 1 taken 16 times.
✓ Branch 1 taken 22 times.
ernie::Value::Value(char const*):
✗ Branch 0 not taken.
✗ Branch 0 not taken.
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 1 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 time.
49 bool operator==(const Value&) const = default;
48
49 private:
50 49 Data data_;
51 };
52
53 } // namespace ernie
54