Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/libpanda.x/i/panda/CallbackDispatcher.h
Criterion Covered Total %
branch 125 710 17.6


line true false branch
29 19 0 struct Wrapper {
1 0 struct Wrapper {
2 0 struct Wrapper {
4 0 struct Wrapper {
4 0 struct Wrapper {
6 0 struct Wrapper {
0 0 struct Wrapper {
0 0 struct Wrapper {
33 9 0 explicit Wrapper (Callback real) : real(real) {}
0 0 explicit Wrapper (Callback real) : real(real) {}
2 0 explicit Wrapper (Callback real) : real(real) {}
4 0 explicit Wrapper (Callback real) : real(real) {}
4 0 explicit Wrapper (Callback real) : real(real) {}
5 0 explicit Wrapper (Callback real) : real(real) {}
0 0 explicit Wrapper (Callback real) : real(real) {}
0 0 explicit Wrapper (Callback real) : real(real) {}
34 10 0 explicit Wrapper (SimpleCallback simple) : simple(simple) {}
1 0 explicit Wrapper (SimpleCallback simple) : simple(simple) {}
0 0 explicit Wrapper (SimpleCallback simple) : simple(simple) {}
0 0 explicit Wrapper (SimpleCallback simple) : simple(simple) {}
0 0 explicit Wrapper (SimpleCallback simple) : simple(simple) {}
1 0 explicit Wrapper (SimpleCallback simple) : simple(simple) {}
0 0 explicit Wrapper (SimpleCallback simple) : simple(simple) {}
0 0 explicit Wrapper (SimpleCallback simple) : simple(simple) {}
38 9 6 if (real) return real(e, std::forward(args)...);
9 0 if (real) return real(e, std::forward(args)...);
0 1 if (real) return real(e, std::forward(args)...);
2 0 if (real) return real(e, std::forward(args)...);
2 0 if (real) return real(e, std::forward(args)...);
4 0 if (real) return real(e, std::forward(args)...);
4 0 if (real) return real(e, std::forward(args)...);
4 0 if (real) return real(e, std::forward(args)...);
5 1 if (real) return real(e, std::forward(args)...);
0 0 if (real) return real(e, std::forward(args)...);
0 0 if (real) return real(e, std::forward(args)...);
0 0 if (real) return real(e, std::forward(args)...);
40 6 0 simple(args...);
0 0 simple(args...);
0 0 simple(args...);
0 0 simple(args...);
51 2 0 return simple && simple == oth;
2 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
0 0 return simple && simple == oth;
56 2 0 return real && real == oth;
2 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
0 0 return real && real == oth;
83 0 9 if (!callback) return;
0 0 if (!callback) return;
0 2 if (!callback) return;
0 4 if (!callback) return;
0 4 if (!callback) return;
0 5 if (!callback) return;
0 0 if (!callback) return;
0 0 if (!callback) return;
84 0 9 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 2 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 4 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
2 2 if (back) listeners.push_back(Wrapper(std::forward(callback)));
2 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
2 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 5 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
85 9 0 else listeners.push_front(Wrapper(std::forward(callback)));
9 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
2 0 else listeners.push_front(Wrapper(std::forward(callback)));
2 0 else listeners.push_front(Wrapper(std::forward(callback)));
4 0 else listeners.push_front(Wrapper(std::forward(callback)));
4 0 else listeners.push_front(Wrapper(std::forward(callback)));
2 0 else listeners.push_front(Wrapper(std::forward(callback)));
2 0 else listeners.push_front(Wrapper(std::forward(callback)));
5 0 else listeners.push_front(Wrapper(std::forward(callback)));
5 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
95 0 10 if (!callback) return;
0 1 if (!callback) return;
0 0 if (!callback) return;
0 0 if (!callback) return;
0 0 if (!callback) return;
0 1 if (!callback) return;
0 0 if (!callback) return;
0 0 if (!callback) return;
96 0 10 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 1 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 1 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
0 0 if (back) listeners.push_back(Wrapper(std::forward(callback)));
97 10 0 else listeners.push_front(Wrapper(std::forward(callback)));
10 0 else listeners.push_front(Wrapper(std::forward(callback)));
1 0 else listeners.push_front(Wrapper(std::forward(callback)));
1 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
1 0 else listeners.push_front(Wrapper(std::forward(callback)));
1 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
0 0 else listeners.push_front(Wrapper(std::forward(callback)));
103 12 0 auto iter = listeners.begin();
1 0 auto iter = listeners.begin();
1 0 auto iter = listeners.begin();
4 0 auto iter = listeners.begin();
2 0 auto iter = listeners.begin();
6 0 auto iter = listeners.begin();
0 0 auto iter = listeners.begin();
0 0 auto iter = listeners.begin();
104 12 0 if (iter == listeners.end()) return optional_type::default_value();
12 0 if (iter == listeners.end()) return optional_type::default_value();
1 11 if (iter == listeners.end()) return optional_type::default_value();
1 0 if (iter == listeners.end()) return optional_type::default_value();
1 0 if (iter == listeners.end()) return optional_type::default_value();
0 1 if (iter == listeners.end()) return optional_type::default_value();
1 0 if (iter == listeners.end()) return optional_type::default_value();
1 0 if (iter == listeners.end()) return optional_type::default_value();
0 1 if (iter == listeners.end()) return optional_type::default_value();
0 0 if (iter == listeners.end()) return optional_type::default_value();
4 0 if (iter == listeners.end()) return optional_type::default_value();
4 0 if (iter == listeners.end()) return optional_type::default_value();
0 4 if (iter == listeners.end()) return optional_type::default_value();
0 0 if (iter == listeners.end()) return optional_type::default_value();
2 0 if (iter == listeners.end()) return optional_type::default_value();
2 0 if (iter == listeners.end()) return optional_type::default_value();
0 2 if (iter == listeners.end()) return optional_type::default_value();
6 0 if (iter == listeners.end()) return optional_type::default_value();
6 0 if (iter == listeners.end()) return optional_type::default_value();
1 5 if (iter == listeners.end()) return optional_type::default_value();
1 0 if (iter == listeners.end()) return optional_type::default_value();
0 0 if (iter == listeners.end()) return optional_type::default_value();
0 0 if (iter == listeners.end()) return optional_type::default_value();
0 0 if (iter == listeners.end()) return optional_type::default_value();
0 0 if (iter == listeners.end()) return optional_type::default_value();
0 0 if (iter == listeners.end()) return optional_type::default_value();
0 0 if (iter == listeners.end()) return optional_type::default_value();
107 11 0 return (*iter)(e, args...);
1 0 return (*iter)(e, args...);
1 0 return (*iter)(e, args...);
4 0 return (*iter)(e, args...);
2 0 return (*iter)(e, args...);
5 0 return (*iter)(e, args...);
0 0 return (*iter)(e, args...);
0 0 return (*iter)(e, args...);
112 2 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
2 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
2 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
2 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
2 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
2 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
2 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
2 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
0 0 for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) {
113 2 0 if (iter->equal(callback)) {
2 0 if (iter->equal(callback)) {
2 0 if (iter->equal(callback)) {
2 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
0 0 if (iter->equal(callback)) {
114 2 0 listeners.erase(iter);
2 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
0 0 listeners.erase(iter);
148 11 0 if (e.state != listeners.end()) {
4 7 if (e.state != listeners.end()) {
1 0 if (e.state != listeners.end()) {
0 1 if (e.state != listeners.end()) {
1 0 if (e.state != listeners.end()) {
1 0 if (e.state != listeners.end()) {
0 0 if (e.state != listeners.end()) {
0 0 if (e.state != listeners.end()) {
4 0 if (e.state != listeners.end()) {
2 2 if (e.state != listeners.end()) {
3 0 if (e.state != listeners.end()) {
1 2 if (e.state != listeners.end()) {
0 0 if (e.state != listeners.end()) {
0 0 if (e.state != listeners.end()) {
0 0 if (e.state != listeners.end()) {
0 0 if (e.state != listeners.end()) {