Branch Coverage

src/panda/owning_list.h
Criterion Covered Total %
branch 96 172 55.8


line true false branch
29 0 25 struct node_t : Refcnt {
0 7 struct node_t : Refcnt {
0 2 struct node_t : Refcnt {
0 3 struct node_t : Refcnt {
0 3 struct node_t : Refcnt {
30 3 0 node_t(const T& value) : value(value), valid(true), next(nullptr), prev(nullptr) {}
3 0 node_t(const T& value) : value(value), valid(true), next(nullptr), prev(nullptr) {}
2 0 node_t(const T& value) : value(value), valid(true), next(nullptr), prev(nullptr) {}
25 0 node_t(const T& value) : value(value), valid(true), next(nullptr), prev(nullptr) {}
7 0 node_t(const T& value) : value(value), valid(true), next(nullptr), prev(nullptr) {}
41 2 1 while (node && !node->valid) {
0 2 while (node && !node->valid) {
0 3 while (node && !node->valid) {
4 2 while (node && !node->valid) {
0 4 while (node && !node->valid) {
0 6 while (node && !node->valid) {
3 3 while (node && !node->valid) {
0 3 while (node && !node->valid) {
0 6 while (node && !node->valid) {
8 6 while (node && !node->valid) {
0 8 while (node && !node->valid) {
0 14 while (node && !node->valid) {
12 21 while (node && !node->valid) {
2 10 while (node && !node->valid) {
2 31 while (node && !node->valid) {
48 1 0 while (node && !node->valid) {
0 1 while (node && !node->valid) {
0 1 while (node && !node->valid) {
99 4 0 return iterator(nullptr);
112 0 0 node_sp node = new node_t(std::forward(val));
0 0 node_sp node = new node_t(std::forward(val));
0 0 node_sp node = new node_t(std::forward(val));
0 0 node_sp node = new node_t(std::forward(val));
0 0 node_sp node = new node_t(std::forward(val));
0 0 node_sp node = new node_t(std::forward(val));
1 0 node_sp node = new node_t(std::forward(val));
1 0 node_sp node = new node_t(std::forward(val));
3 0 node_sp node = new node_t(std::forward(val));
3 0 node_sp node = new node_t(std::forward(val));
113 0 0 if (last) {
0 0 if (last) {
0 0 if (last) {
1 0 if (last) {
2 1 if (last) {
125 3 0 node_sp node = new node_t(std::forward(val));
3 0 node_sp node = new node_t(std::forward(val));
3 0 node_sp node = new node_t(std::forward(val));
3 0 node_sp node = new node_t(std::forward(val));
2 0 node_sp node = new node_t(std::forward(val));
2 0 node_sp node = new node_t(std::forward(val));
24 0 node_sp node = new node_t(std::forward(val));
24 0 node_sp node = new node_t(std::forward(val));
4 0 node_sp node = new node_t(std::forward(val));
4 0 node_sp node = new node_t(std::forward(val));
126 2 1 if (first) {
2 1 if (first) {
1 1 if (first) {
8 16 if (first) {
2 2 if (first) {
154 1 0 for (auto iter = begin(); iter != end(); ++iter) {
4 0 for (auto iter = begin(); iter != end(); ++iter) {
4 0 for (auto iter = begin(); iter != end(); ++iter) {
3 1 for (auto iter = begin(); iter != end(); ++iter) {
3 0 for (auto iter = begin(); iter != end(); ++iter) {
2 0 for (auto iter = begin(); iter != end(); ++iter) {
5 0 for (auto iter = begin(); iter != end(); ++iter) {
5 0 for (auto iter = begin(); iter != end(); ++iter) {
3 2 for (auto iter = begin(); iter != end(); ++iter) {
3 0 for (auto iter = begin(); iter != end(); ++iter) {
1 0 for (auto iter = begin(); iter != end(); ++iter) {
3 0 for (auto iter = begin(); iter != end(); ++iter) {
3 0 for (auto iter = begin(); iter != end(); ++iter) {
2 1 for (auto iter = begin(); iter != end(); ++iter) {
2 0 for (auto iter = begin(); iter != end(); ++iter) {
3 0 for (auto iter = begin(); iter != end(); ++iter) {
10 0 for (auto iter = begin(); iter != end(); ++iter) {
10 0 for (auto iter = begin(); iter != end(); ++iter) {
7 3 for (auto iter = begin(); iter != end(); ++iter) {
7 0 for (auto iter = begin(); iter != end(); ++iter) {
18 0 for (auto iter = begin(); iter != end(); ++iter) {
34 0 for (auto iter = begin(); iter != end(); ++iter) {
34 0 for (auto iter = begin(); iter != end(); ++iter) {
16 18 for (auto iter = begin(); iter != end(); ++iter) {
16 0 for (auto iter = begin(); iter != end(); ++iter) {
179 0 10 if (node->prev) {
184 1 9 if (node->next) {