line |
true |
false |
branch |
29
|
3 |
0 |
struct Wrapper { |
|
3 |
0 |
struct Wrapper { |
|
2 |
0 |
struct Wrapper { |
|
25 |
0 |
struct Wrapper { |
|
7 |
0 |
struct Wrapper { |
33
|
2 |
0 |
explicit Wrapper (Callback real) : real(real) {} |
|
14 |
0 |
explicit Wrapper (Callback real) : real(real) {} |
34
|
3 |
0 |
explicit Wrapper (SimpleCallback simple) : simple(simple) {} |
|
3 |
0 |
explicit Wrapper (SimpleCallback simple) : simple(simple) {} |
|
2 |
0 |
explicit Wrapper (SimpleCallback simple) : simple(simple) {} |
|
11 |
0 |
explicit Wrapper (SimpleCallback simple) : simple(simple) {} |
|
5 |
0 |
explicit Wrapper (SimpleCallback simple) : simple(simple) {} |
38
|
0 |
3 |
if (real) return real(e, std::forward(args)...); |
|
0 |
4 |
if (real) return real(e, std::forward(args)...); |
|
0 |
0 |
if (real) return real(e, std::forward(args)...); |
|
2 |
5 |
if (real) return real(e, std::forward(args)...); |
|
11 |
7 |
if (real) return real(e, std::forward(args)...); |
40
|
4 |
0 |
simple(args...); |
51
|
1 |
0 |
return simple && simple == oth; |
|
1 |
0 |
return simple && simple == oth; |
|
1 |
0 |
return simple && simple == oth; |
|
1 |
0 |
return simple && simple == oth; |
|
1 |
0 |
return simple && simple == oth; |
|
1 |
0 |
return simple && simple == oth; |
|
2 |
0 |
return simple && simple == oth; |
|
2 |
0 |
return simple && simple == oth; |
56
|
1 |
0 |
return real && real == oth; |
|
1 |
0 |
return real && real == oth; |
|
1 |
0 |
return real && real == oth; |
|
1 |
0 |
return real && real == oth; |
|
4 |
0 |
return real && real == oth; |
|
3 |
1 |
return real && real == oth; |
77
|
0 |
6 |
if (!callback) return; |
78
|
0 |
6 |
if (back) listeners.push_back(Wrapper(callback)); |
|
0 |
0 |
if (back) listeners.push_back(Wrapper(callback)); |
|
0 |
0 |
if (back) listeners.push_back(Wrapper(callback)); |
79
|
6 |
0 |
else listeners.push_front(Wrapper(callback)); |
|
6 |
0 |
else listeners.push_front(Wrapper(callback)); |
83
|
0 |
2 |
if (!callback) return; |
|
0 |
8 |
if (!callback) return; |
84
|
1 |
1 |
if (back) listeners.push_back(Wrapper(std::forward(callback))); |
|
1 |
0 |
if (back) listeners.push_back(Wrapper(std::forward(callback))); |
|
1 |
0 |
if (back) listeners.push_back(Wrapper(std::forward(callback))); |
|
0 |
8 |
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
|
1 |
0 |
else listeners.push_front(Wrapper(std::forward(callback))); |
|
1 |
0 |
else listeners.push_front(Wrapper(std::forward(callback))); |
|
8 |
0 |
else listeners.push_front(Wrapper(std::forward(callback))); |
|
8 |
0 |
else listeners.push_front(Wrapper(std::forward(callback))); |
89
|
0 |
7 |
if (!callback) return; |
|
0 |
1 |
if (!callback) return; |
90
|
1 |
6 |
if (back) listeners.push_back(Wrapper(callback)); |
|
1 |
0 |
if (back) listeners.push_back(Wrapper(callback)); |
|
1 |
0 |
if (back) listeners.push_back(Wrapper(callback)); |
|
0 |
1 |
if (back) listeners.push_back(Wrapper(callback)); |
|
0 |
0 |
if (back) listeners.push_back(Wrapper(callback)); |
|
0 |
0 |
if (back) listeners.push_back(Wrapper(callback)); |
91
|
6 |
0 |
else listeners.push_front(Wrapper(callback)); |
|
6 |
0 |
else listeners.push_front(Wrapper(callback)); |
|
1 |
0 |
else listeners.push_front(Wrapper(callback)); |
|
1 |
0 |
else listeners.push_front(Wrapper(callback)); |
95
|
0 |
3 |
if (!callback) return; |
|
0 |
3 |
if (!callback) return; |
|
0 |
4 |
if (!callback) return; |
|
0 |
2 |
if (!callback) return; |
|
0 |
4 |
if (!callback) return; |
96
|
0 |
3 |
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 |
3 |
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 |
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))); |
97
|
3 |
0 |
else listeners.push_front(Wrapper(std::forward(callback))); |
|
3 |
0 |
else listeners.push_front(Wrapper(std::forward(callback))); |
|
3 |
0 |
else listeners.push_front(Wrapper(std::forward(callback))); |
|
3 |
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))); |
|
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))); |
100
|
1 |
0 |
template void add_back (T&& callback) { add(std::forward(callback), true); } |
103
|
2 |
0 |
auto iter = listeners.begin(); |
|
2 |
0 |
auto iter = listeners.begin(); |
|
3 |
0 |
auto iter = listeners.begin(); |
|
27 |
0 |
auto iter = listeners.begin(); |
104
|
2 |
0 |
if (iter == listeners.end()) return optional_type::default_value(); |
|
2 |
0 |
if (iter == listeners.end()) return optional_type::default_value(); |
|
1 |
1 |
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(); |
|
3 |
0 |
if (iter == listeners.end()) return optional_type::default_value(); |
|
3 |
0 |
if (iter == listeners.end()) return optional_type::default_value(); |
|
0 |
3 |
if (iter == listeners.end()) return optional_type::default_value(); |
|
27 |
0 |
if (iter == listeners.end()) return optional_type::default_value(); |
|
27 |
0 |
if (iter == listeners.end()) return optional_type::default_value(); |
|
11 |
16 |
if (iter == listeners.end()) return optional_type::default_value(); |
|
11 |
0 |
if (iter == listeners.end()) return optional_type::default_value(); |
106
|
1 |
0 |
Event e{*this, iter}; |
|
2 |
0 |
Event e{*this, iter}; |
|
3 |
0 |
Event e{*this, iter}; |
|
16 |
0 |
Event e{*this, iter}; |
107
|
1 |
0 |
return (*iter)(e, args...); |
|
2 |
0 |
return (*iter)(e, args...); |
|
3 |
0 |
return (*iter)(e, args...); |
|
16 |
0 |
return (*iter)(e, args...); |
112
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
0 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
0 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
0 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
0 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
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) { |
|
3 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
4 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
4 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
4 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
|
1 |
0 |
for (auto iter = listeners.rbegin(); iter != listeners.rend(); ++iter) { |
113
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
1 |
0 |
if (iter->equal(callback)) { |
|
2 |
0 |
if (iter->equal(callback)) { |
|
2 |
0 |
if (iter->equal(callback)) { |
|
4 |
0 |
if (iter->equal(callback)) { |
|
3 |
1 |
if (iter->equal(callback)) { |
114
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
1 |
0 |
listeners.erase(iter); |
|
2 |
0 |
listeners.erase(iter); |
|
2 |
0 |
listeners.erase(iter); |
|
3 |
0 |
listeners.erase(iter); |
|
3 |
0 |
listeners.erase(iter); |
124
|
1 |
0 |
auto tmp = function_details::tmp_abstract_function(std::forward(makable)); |
125
|
1 |
0 |
remove(tmp); |
132
|
1 |
0 |
auto tmp = function_details::tmp_abstract_function(std::forward(makable)); |
133
|
1 |
0 |
remove(tmp); |
148
|
3 |
0 |
if (e.state != listeners.end()) { |
|
2 |
1 |
if (e.state != listeners.end()) { |
|
4 |
0 |
if (e.state != listeners.end()) { |
|
2 |
2 |
if (e.state != listeners.end()) { |
|
7 |
0 |
if (e.state != listeners.end()) { |
|
4 |
3 |
if (e.state != listeners.end()) { |
|
15 |
0 |
if (e.state != listeners.end()) { |
|
2 |
13 |
if (e.state != listeners.end()) { |