/src/uWebSockets/src/MoveOnlyFunction.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | MIT License |
3 | | |
4 | | Copyright (c) 2020 Oleg Fatkhiev |
5 | | |
6 | | Permission is hereby granted, free of charge, to any person obtaining a copy |
7 | | of this software and associated documentation files (the "Software"), to deal |
8 | | in the Software without restriction, including without limitation the rights |
9 | | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
10 | | copies of the Software, and to permit persons to whom the Software is |
11 | | furnished to do so, subject to the following conditions: |
12 | | |
13 | | The above copyright notice and this permission notice shall be included in all |
14 | | copies or substantial portions of the Software. |
15 | | |
16 | | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
17 | | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
18 | | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
19 | | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
20 | | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
21 | | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
22 | | SOFTWARE. |
23 | | */ |
24 | | |
25 | | /* Sources fetched from https://github.com/ofats/any_invocable on 2021-02-19. */ |
26 | | |
27 | | #ifndef _ANY_INVOKABLE_H_ |
28 | | #define _ANY_INVOKABLE_H_ |
29 | | |
30 | | #include <functional> |
31 | | #include <memory> |
32 | | #include <type_traits> |
33 | | |
34 | | // clang-format off |
35 | | /* |
36 | | namespace std { |
37 | | template<class Sig> class any_invocable; // never defined |
38 | | |
39 | | template<class R, class... ArgTypes> |
40 | | class any_invocable<R(ArgTypes...) cv ref noexcept(noex)> { |
41 | | public: |
42 | | using result_type = R; |
43 | | |
44 | | // SECTION.3, construct/copy/destroy |
45 | | any_invocable() noexcept; |
46 | | any_invocable(nullptr_t) noexcept; |
47 | | any_invocable(any_invocable&&) noexcept; |
48 | | template<class F> any_invocable(F&&); |
49 | | |
50 | | template<class T, class... Args> |
51 | | explicit any_invocable(in_place_type_t<T>, Args&&...); |
52 | | template<class T, class U, class... Args> |
53 | | explicit any_invocable(in_place_type_t<T>, initializer_list<U>, Args&&...); |
54 | | |
55 | | any_invocable& operator=(any_invocable&&) noexcept; |
56 | | any_invocable& operator=(nullptr_t) noexcept; |
57 | | template<class F> any_invocable& operator=(F&&); |
58 | | template<class F> any_invocable& operator=(reference_wrapper<F>) noexcept; |
59 | | |
60 | | ~any_invocable(); |
61 | | |
62 | | // SECTION.4, any_invocable modifiers |
63 | | void swap(any_invocable&) noexcept; |
64 | | |
65 | | // SECTION.5, any_invocable capacity |
66 | | explicit operator bool() const noexcept; |
67 | | |
68 | | // SECTION.6, any_invocable invocation |
69 | | R operator()(ArgTypes...) cv ref noexcept(noex); |
70 | | |
71 | | // SECTION.7, null pointer comparisons |
72 | | friend bool operator==(const any_invocable&, nullptr_t) noexcept; |
73 | | |
74 | | // SECTION.8, specialized algorithms |
75 | | friend void swap(any_invocable&, any_invocable&) noexcept; |
76 | | }; |
77 | | } |
78 | | */ |
79 | | // clang-format on |
80 | | |
81 | | namespace ofats { |
82 | | |
83 | | namespace any_detail { |
84 | | |
85 | | using buffer = std::aligned_storage_t<sizeof(void*) * 2, alignof(void*)>; |
86 | | |
87 | | template <class T> |
88 | | inline constexpr bool is_small_object_v = |
89 | | sizeof(T) <= sizeof(buffer) && alignof(buffer) % alignof(T) == 0 && |
90 | | std::is_nothrow_move_constructible_v<T>; |
91 | | |
92 | | union storage { |
93 | | void* ptr_ = nullptr; |
94 | | buffer buf_; |
95 | | }; |
96 | | |
97 | | enum class action { destroy, move }; |
98 | | |
99 | | template <class R, class... ArgTypes> |
100 | | struct handler_traits { |
101 | | template <class Derived> |
102 | | struct handler_base { |
103 | 1.52M | static void handle(action act, storage* current, storage* other = nullptr) { |
104 | 1.52M | switch (act) { |
105 | 1.40M | case (action::destroy): |
106 | 1.40M | Derived::destroy(*current); |
107 | 1.40M | break; |
108 | 124k | case (action::move): |
109 | 124k | Derived::move(*current, *other); |
110 | 124k | break; |
111 | 1.52M | } |
112 | 1.52M | } ofats::any_detail::handler_traits<void*, void*, uWS::HttpRequest*>::handler_base<ofats::any_detail::handler_traits<void*, void*, uWS::HttpRequest*>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::action) Line | Count | Source | 103 | 660k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 660k | switch (act) { | 105 | 660k | case (action::destroy): | 106 | 660k | Derived::destroy(*current); | 107 | 660k | break; | 108 | 0 | case (action::move): | 109 | 0 | Derived::move(*current, *other); | 110 | 0 | break; | 111 | 660k | } | 112 | 660k | } |
ofats::any_detail::handler_traits<void*, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::handler_base<ofats::any_detail::handler_traits<void*, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::action) Line | Count | Source | 103 | 660k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 660k | switch (act) { | 105 | 660k | case (action::destroy): | 106 | 660k | Derived::destroy(*current); | 107 | 660k | break; | 108 | 0 | case (action::move): | 109 | 0 | Derived::move(*current, *other); | 110 | 0 | break; | 111 | 660k | } | 112 | 660k | } |
Unexecuted instantiation: ofats::any_detail::handler_traits<bool, unsigned long>::handler_base<ofats::any_detail::handler_traits<bool, unsigned long>::small_handler<uWS::HttpResponseData<true>::callOnWritable(unsigned long)::{lambda(unsigned long)#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage) ofats::any_detail::handler_traits<bool, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::handler_base<ofats::any_detail::handler_traits<bool, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::large_handler<uWS::HttpContext<true>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage) Line | Count | Source | 103 | 26.9k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 26.9k | switch (act) { | 105 | 10.7k | case (action::destroy): | 106 | 10.7k | Derived::destroy(*current); | 107 | 10.7k | break; | 108 | 16.1k | case (action::move): | 109 | 16.1k | Derived::move(*current, *other); | 110 | 16.1k | break; | 111 | 26.9k | } | 112 | 26.9k | } |
ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::handler_base<ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::small_handler<uWS::TemplatedApp<true>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage) Line | Count | Source | 103 | 16.1k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 16.1k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 10.7k | case (action::move): | 109 | 10.7k | Derived::move(*current, *other); | 110 | 10.7k | break; | 111 | 16.1k | } | 112 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::Loop*>::handler_base<ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage) Line | Count | Source | 103 | 10.7k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 10.7k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 5.39k | case (action::move): | 109 | 5.39k | Derived::move(*current, *other); | 110 | 5.39k | break; | 111 | 10.7k | } | 112 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::Loop*>::handler_base<ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#2}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage) Line | Count | Source | 103 | 10.7k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 10.7k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 5.39k | case (action::move): | 109 | 5.39k | Derived::move(*current, *other); | 110 | 5.39k | break; | 111 | 10.7k | } | 112 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void>::handler_base<ofats::any_detail::handler_traits<void>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda()#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage) Line | Count | Source | 103 | 10.7k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 10.7k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 5.39k | case (action::move): | 109 | 5.39k | Derived::move(*current, *other); | 110 | 5.39k | break; | 111 | 10.7k | } | 112 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::handler_base<ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage) Line | Count | Source | 103 | 10.7k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 10.7k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 5.39k | case (action::move): | 109 | 5.39k | Derived::move(*current, *other); | 110 | 5.39k | break; | 111 | 10.7k | } | 112 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::handler_base<ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(auto:1*, auto:2*)#1}> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage) Line | Count | Source | 103 | 16.1k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 16.1k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 10.7k | case (action::move): | 109 | 10.7k | Derived::move(*current, *other); | 110 | 10.7k | break; | 111 | 16.1k | } | 112 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::handler_base<ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_0> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage*) Line | Count | Source | 103 | 16.1k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 16.1k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 10.7k | case (action::move): | 109 | 10.7k | Derived::move(*current, *other); | 110 | 10.7k | break; | 111 | 16.1k | } | 112 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::handler_base<ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::small_handler<test()::$_1> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage*) Line | Count | Source | 103 | 16.1k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 16.1k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 10.7k | case (action::move): | 109 | 10.7k | Derived::move(*current, *other); | 110 | 10.7k | break; | 111 | 16.1k | } | 112 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::handler_base<ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_2> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage*) Line | Count | Source | 103 | 16.1k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 16.1k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 10.7k | case (action::move): | 109 | 10.7k | Derived::move(*current, *other); | 110 | 10.7k | break; | 111 | 16.1k | } | 112 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::handler_base<ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_3> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage*) Line | Count | Source | 103 | 16.1k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 16.1k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 10.7k | case (action::move): | 109 | 10.7k | Derived::move(*current, *other); | 110 | 10.7k | break; | 111 | 16.1k | } | 112 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::handler_base<ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_4> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage*) Line | Count | Source | 103 | 16.1k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 16.1k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 10.7k | case (action::move): | 109 | 10.7k | Derived::move(*current, *other); | 110 | 10.7k | break; | 111 | 16.1k | } | 112 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::handler_base<ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_5> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage*) Line | Count | Source | 103 | 16.1k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 16.1k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 10.7k | case (action::move): | 109 | 10.7k | Derived::move(*current, *other); | 110 | 10.7k | break; | 111 | 16.1k | } | 112 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, us_listen_socket_t*>::handler_base<ofats::any_detail::handler_traits<void, us_listen_socket_t*>::small_handler<test()::$_6> >::handle(ofats::any_detail::action, ofats::any_detail::storage*, ofats::any_detail::storage*) Line | Count | Source | 103 | 5.39k | static void handle(action act, storage* current, storage* other = nullptr) { | 104 | 5.39k | switch (act) { | 105 | 5.39k | case (action::destroy): | 106 | 5.39k | Derived::destroy(*current); | 107 | 5.39k | break; | 108 | 0 | case (action::move): | 109 | 0 | Derived::move(*current, *other); | 110 | 0 | break; | 111 | 5.39k | } | 112 | 5.39k | } |
|
113 | | }; |
114 | | |
115 | | template <class T> |
116 | | struct small_handler : handler_base<small_handler<T>> { |
117 | | template <class... Args> |
118 | 1.47M | static void create(storage& s, Args&&... args) { |
119 | 1.47M | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); |
120 | 1.47M | } void ofats::any_detail::handler_traits<void*, void*, uWS::HttpRequest*>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}>::create<{lambda(us_socket_t*, char*, int)#1}>(ofats::any_detail::storage&, {lambda(us_socket_t*, char*, int)#1}&&) Line | Count | Source | 118 | 660k | static void create(storage& s, Args&&... args) { | 119 | 660k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 660k | } |
void ofats::any_detail::handler_traits<void*, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}>::create<{lambda(us_socket_t*, char*, int)#1}>(ofats::any_detail::storage&, {lambda(us_socket_t*, char*, int)#1}&&) Line | Count | Source | 118 | 660k | static void create(storage& s, Args&&... args) { | 119 | 660k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 660k | } |
Unexecuted instantiation: void ofats::any_detail::handler_traits<bool, unsigned long>::small_handler<uWS::HttpResponseData<true>::callOnWritable(unsigned long)::{lambda(unsigned long)#1}>::create<{lambda(unsigned long)#1}>(ofats::any_detail::storage&, {lambda(unsigned long)#1}&&) void ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::small_handler<uWS::TemplatedApp<true>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}>::create<{lambda(auto:1*, auto:2*)#1}>(ofats::any_detail::storage&, {lambda(auto:1*, auto:2*)#1}&&) Line | Count | Source | 118 | 16.1k | static void create(storage& s, Args&&... args) { | 119 | 16.1k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 16.1k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#1}>::create<{lambda(uWS::Loop*)#1}>(ofats::any_detail::storage&, {lambda(uWS::Loop*)#1}&&) Line | Count | Source | 118 | 10.7k | static void create(storage& s, Args&&... args) { | 119 | 10.7k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 10.7k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#2}>::create<{lambda(uWS::Loop*)#2}>(ofats::any_detail::storage&, {lambda(uWS::Loop*)#2}&&) Line | Count | Source | 118 | 10.7k | static void create(storage& s, Args&&... args) { | 119 | 10.7k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 10.7k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda()#1}>::create<{lambda()#1}>(ofats::any_detail::storage&, {lambda()#1}&&) Line | Count | Source | 118 | 10.7k | static void create(storage& s, Args&&... args) { | 119 | 10.7k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 10.7k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_0>::create<test()::$_0>(ofats::any_detail::storage&, test()::$_0&&) Line | Count | Source | 118 | 16.1k | static void create(storage& s, Args&&... args) { | 119 | 16.1k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 16.1k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::small_handler<test()::$_1>::create<test()::$_1>(ofats::any_detail::storage&, test()::$_1&&) Line | Count | Source | 118 | 16.1k | static void create(storage& s, Args&&... args) { | 119 | 16.1k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 16.1k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_2>::create<test()::$_2>(ofats::any_detail::storage&, test()::$_2&&) Line | Count | Source | 118 | 16.1k | static void create(storage& s, Args&&... args) { | 119 | 16.1k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 16.1k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_3>::create<test()::$_3>(ofats::any_detail::storage&, test()::$_3&&) Line | Count | Source | 118 | 16.1k | static void create(storage& s, Args&&... args) { | 119 | 16.1k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 16.1k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_4>::create<test()::$_4>(ofats::any_detail::storage&, test()::$_4&&) Line | Count | Source | 118 | 16.1k | static void create(storage& s, Args&&... args) { | 119 | 16.1k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 16.1k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_5>::create<test()::$_5>(ofats::any_detail::storage&, test()::$_5&&) Line | Count | Source | 118 | 16.1k | static void create(storage& s, Args&&... args) { | 119 | 16.1k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 16.1k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, us_listen_socket_t*>::small_handler<test()::$_6>::create<test()::$_6>(ofats::any_detail::storage&, test()::$_6&&) Line | Count | Source | 118 | 5.39k | static void create(storage& s, Args&&... args) { | 119 | 5.39k | new (static_cast<void*>(&s.buf_)) T(std::forward<Args>(args)...); | 120 | 5.39k | } |
|
121 | | |
122 | 1.47M | static void destroy(storage& s) noexcept { |
123 | 1.47M | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); |
124 | 1.47M | value.~T(); |
125 | 1.47M | } ofats::any_detail::handler_traits<void*, void*, uWS::HttpRequest*>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 660k | static void destroy(storage& s) noexcept { | 123 | 660k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 660k | value.~T(); | 125 | 660k | } |
ofats::any_detail::handler_traits<void*, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 660k | static void destroy(storage& s) noexcept { | 123 | 660k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 660k | value.~T(); | 125 | 660k | } |
Unexecuted instantiation: ofats::any_detail::handler_traits<bool, unsigned long>::small_handler<uWS::HttpResponseData<true>::callOnWritable(unsigned long)::{lambda(unsigned long)#1}>::destroy(ofats::any_detail::storage&) ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::small_handler<uWS::TemplatedApp<true>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 16.1k | static void destroy(storage& s) noexcept { | 123 | 16.1k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 16.1k | value.~T(); | 125 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#1}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 10.7k | static void destroy(storage& s) noexcept { | 123 | 10.7k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 10.7k | value.~T(); | 125 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#2}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 10.7k | static void destroy(storage& s) noexcept { | 123 | 10.7k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 10.7k | value.~T(); | 125 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda()#1}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 10.7k | static void destroy(storage& s) noexcept { | 123 | 10.7k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 10.7k | value.~T(); | 125 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_0>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 16.1k | static void destroy(storage& s) noexcept { | 123 | 16.1k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 16.1k | value.~T(); | 125 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::small_handler<test()::$_1>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 16.1k | static void destroy(storage& s) noexcept { | 123 | 16.1k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 16.1k | value.~T(); | 125 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_2>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 16.1k | static void destroy(storage& s) noexcept { | 123 | 16.1k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 16.1k | value.~T(); | 125 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_3>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 16.1k | static void destroy(storage& s) noexcept { | 123 | 16.1k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 16.1k | value.~T(); | 125 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_4>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 16.1k | static void destroy(storage& s) noexcept { | 123 | 16.1k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 16.1k | value.~T(); | 125 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_5>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 16.1k | static void destroy(storage& s) noexcept { | 123 | 16.1k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 16.1k | value.~T(); | 125 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, us_listen_socket_t*>::small_handler<test()::$_6>::destroy(ofats::any_detail::storage&) Line | Count | Source | 122 | 5.39k | static void destroy(storage& s) noexcept { | 123 | 5.39k | T& value = *static_cast<T*>(static_cast<void*>(&s.buf_)); | 124 | 5.39k | value.~T(); | 125 | 5.39k | } |
|
126 | | |
127 | 91.6k | static void move(storage& dst, storage& src) noexcept { |
128 | 91.6k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); |
129 | 91.6k | destroy(src); |
130 | 91.6k | } Unexecuted instantiation: ofats::any_detail::handler_traits<void*, void*, uWS::HttpRequest*>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}>::move(ofats::any_detail::storage&, ofats::any_detail::handler_traits<void*, void*, uWS::HttpRequest*>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}>) Unexecuted instantiation: ofats::any_detail::handler_traits<void*, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}>::move(ofats::any_detail::storage&, ofats::any_detail::handler_traits<void*, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}>) Unexecuted instantiation: ofats::any_detail::handler_traits<bool, unsigned long>::small_handler<uWS::HttpResponseData<true>::callOnWritable(unsigned long)::{lambda(unsigned long)#1}>::move(ofats::any_detail::storage&, ofats::any_detail::storage) ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::small_handler<uWS::TemplatedApp<true>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}>::move(ofats::any_detail::storage&, ofats::any_detail::storage) Line | Count | Source | 127 | 10.7k | static void move(storage& dst, storage& src) noexcept { | 128 | 10.7k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 10.7k | destroy(src); | 130 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#1}>::move(ofats::any_detail::storage&, ofats::any_detail::storage) Line | Count | Source | 127 | 5.39k | static void move(storage& dst, storage& src) noexcept { | 128 | 5.39k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 5.39k | destroy(src); | 130 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#2}>::move(ofats::any_detail::storage&, ofats::any_detail::storage) Line | Count | Source | 127 | 5.39k | static void move(storage& dst, storage& src) noexcept { | 128 | 5.39k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 5.39k | destroy(src); | 130 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda()#1}>::move(ofats::any_detail::storage&, ofats::any_detail::storage) Line | Count | Source | 127 | 5.39k | static void move(storage& dst, storage& src) noexcept { | 128 | 5.39k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 5.39k | destroy(src); | 130 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_0>::move(ofats::any_detail::storage&, ofats::any_detail::storage&) Line | Count | Source | 127 | 10.7k | static void move(storage& dst, storage& src) noexcept { | 128 | 10.7k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 10.7k | destroy(src); | 130 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::small_handler<test()::$_1>::move(ofats::any_detail::storage&, ofats::any_detail::storage&) Line | Count | Source | 127 | 10.7k | static void move(storage& dst, storage& src) noexcept { | 128 | 10.7k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 10.7k | destroy(src); | 130 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_2>::move(ofats::any_detail::storage&, ofats::any_detail::storage&) Line | Count | Source | 127 | 10.7k | static void move(storage& dst, storage& src) noexcept { | 128 | 10.7k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 10.7k | destroy(src); | 130 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_3>::move(ofats::any_detail::storage&, ofats::any_detail::storage&) Line | Count | Source | 127 | 10.7k | static void move(storage& dst, storage& src) noexcept { | 128 | 10.7k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 10.7k | destroy(src); | 130 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_4>::move(ofats::any_detail::storage&, ofats::any_detail::storage&) Line | Count | Source | 127 | 10.7k | static void move(storage& dst, storage& src) noexcept { | 128 | 10.7k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 10.7k | destroy(src); | 130 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_5>::move(ofats::any_detail::storage&, ofats::any_detail::storage&) Line | Count | Source | 127 | 10.7k | static void move(storage& dst, storage& src) noexcept { | 128 | 10.7k | create(dst, std::move(*static_cast<T*>(static_cast<void*>(&src.buf_)))); | 129 | 10.7k | destroy(src); | 130 | 10.7k | } |
Unexecuted instantiation: EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, us_listen_socket_t*>::small_handler<test()::$_6>::move(ofats::any_detail::storage&, ofats::any_detail::storage&) |
131 | | |
132 | 4.07M | static R call(storage& s, ArgTypes... args) { |
133 | 4.07M | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), |
134 | 4.07M | std::forward<ArgTypes>(args)...); |
135 | 4.07M | } ofats::any_detail::handler_traits<void*, void*, uWS::HttpRequest*>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}>::call(ofats::any_detail::storage&, void*, uWS::HttpRequest*) Line | Count | Source | 132 | 124k | static R call(storage& s, ArgTypes... args) { | 133 | 124k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 124k | std::forward<ArgTypes>(args)...); | 135 | 124k | } |
ofats::any_detail::handler_traits<void*, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::small_handler<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}>::call(ofats::any_detail::storage&, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool) Line | Count | Source | 132 | 18.8k | static R call(storage& s, ArgTypes... args) { | 133 | 18.8k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 18.8k | std::forward<ArgTypes>(args)...); | 135 | 18.8k | } |
Unexecuted instantiation: ofats::any_detail::handler_traits<bool, unsigned long>::small_handler<uWS::HttpResponseData<true>::callOnWritable(unsigned long)::{lambda(unsigned long)#1}>::call(ofats::any_detail::storage&, unsigned long) ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::small_handler<uWS::TemplatedApp<true>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}>::call(ofats::any_detail::storage&, uWS::HttpResponse<true>*, uWS::HttpRequest*) Line | Count | Source | 132 | 19.5k | static R call(storage& s, ArgTypes... args) { | 133 | 19.5k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 19.5k | std::forward<ArgTypes>(args)...); | 135 | 19.5k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#1}>::call(ofats::any_detail::storage&, uWS::Loop*) Line | Count | Source | 132 | 1.29M | static R call(storage& s, ArgTypes... args) { | 133 | 1.29M | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 1.29M | std::forward<ArgTypes>(args)...); | 135 | 1.29M | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::Loop*>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#2}>::call(ofats::any_detail::storage&, uWS::Loop*) Line | Count | Source | 132 | 1.29M | static R call(storage& s, ArgTypes... args) { | 133 | 1.29M | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 1.29M | std::forward<ArgTypes>(args)...); | 135 | 1.29M | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void>::small_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda()#1}>::call(ofats::any_detail::storage&) Line | Count | Source | 132 | 5.39k | static R call(storage& s, ArgTypes... args) { | 133 | 5.39k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 5.39k | std::forward<ArgTypes>(args)...); | 135 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_0>::call(ofats::any_detail::storage&, uWS::WebSocket<true, true, test()::PerSocketData>*) Line | Count | Source | 132 | 105k | static R call(storage& s, ArgTypes... args) { | 133 | 105k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 105k | std::forward<ArgTypes>(args)...); | 135 | 105k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::small_handler<test()::$_1>::call(ofats::any_detail::storage&, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode) Line | Count | Source | 132 | 1.07M | static R call(storage& s, ArgTypes... args) { | 133 | 1.07M | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 1.07M | std::forward<ArgTypes>(args)...); | 135 | 1.07M | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*>::small_handler<test()::$_2>::call(ofats::any_detail::storage&, uWS::WebSocket<true, true, test()::PerSocketData>*) Line | Count | Source | 132 | 10.3k | static R call(storage& s, ArgTypes... args) { | 133 | 10.3k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 10.3k | std::forward<ArgTypes>(args)...); | 135 | 10.3k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_3>::call(ofats::any_detail::storage&, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 132 | 4.94k | static R call(storage& s, ArgTypes... args) { | 133 | 4.94k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 4.94k | std::forward<ArgTypes>(args)...); | 135 | 4.94k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_4>::call(ofats::any_detail::storage&, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 132 | 788 | static R call(storage& s, ArgTypes... args) { | 133 | 788 | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 788 | std::forward<ArgTypes>(args)...); | 135 | 788 | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::small_handler<test()::$_5>::call(ofats::any_detail::storage&, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 132 | 105k | static R call(storage& s, ArgTypes... args) { | 133 | 105k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 105k | std::forward<ArgTypes>(args)...); | 135 | 105k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, us_listen_socket_t*>::small_handler<test()::$_6>::call(ofats::any_detail::storage&, us_listen_socket_t*) Line | Count | Source | 132 | 5.39k | static R call(storage& s, ArgTypes... args) { | 133 | 5.39k | return std::invoke(*static_cast<T*>(static_cast<void*>(&s.buf_)), | 134 | 5.39k | std::forward<ArgTypes>(args)...); | 135 | 5.39k | } |
|
136 | | }; |
137 | | |
138 | | template <class T> |
139 | | struct large_handler : handler_base<large_handler<T>> { |
140 | | template <class... Args> |
141 | 21.5k | static void create(storage& s, Args&&... args) { |
142 | 21.5k | s.ptr_ = new T(std::forward<Args>(args)...); |
143 | 21.5k | } void ofats::any_detail::handler_traits<bool, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::large_handler<uWS::HttpContext<true>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}>::create<{lambda(auto:1*)#1}>(ofats::any_detail::storage&, {lambda(auto:1*)#1}&&) Line | Count | Source | 141 | 10.7k | static void create(storage& s, Args&&... args) { | 142 | 10.7k | s.ptr_ = new T(std::forward<Args>(args)...); | 143 | 10.7k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}>::create<{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}>(ofats::any_detail::storage&, {lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}&&) Line | Count | Source | 141 | 5.39k | static void create(storage& s, Args&&... args) { | 142 | 5.39k | s.ptr_ = new T(std::forward<Args>(args)...); | 143 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(auto:1*, auto:2*)#1}>::create<{lambda(auto:1*, auto:2*)#1}>(ofats::any_detail::storage&, {lambda(auto:1*, auto:2*)#1}&&) Line | Count | Source | 141 | 5.39k | static void create(storage& s, Args&&... args) { | 142 | 5.39k | s.ptr_ = new T(std::forward<Args>(args)...); | 143 | 5.39k | } |
|
144 | | |
145 | 21.5k | static void destroy(storage& s) noexcept { delete static_cast<T*>(s.ptr_); } ofats::any_detail::handler_traits<bool, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::large_handler<uWS::HttpContext<true>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 145 | 10.7k | static void destroy(storage& s) noexcept { delete static_cast<T*>(s.ptr_); } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 145 | 5.39k | static void destroy(storage& s) noexcept { delete static_cast<T*>(s.ptr_); } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(auto:1*, auto:2*)#1}>::destroy(ofats::any_detail::storage&) Line | Count | Source | 145 | 5.39k | static void destroy(storage& s) noexcept { delete static_cast<T*>(s.ptr_); } |
|
146 | | |
147 | 32.3k | static void move(storage& dst, storage& src) noexcept { |
148 | 32.3k | dst.ptr_ = src.ptr_; |
149 | 32.3k | } ofats::any_detail::handler_traits<bool, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::large_handler<uWS::HttpContext<true>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}>::move(ofats::any_detail::storage&, ofats::any_detail::storage) Line | Count | Source | 147 | 16.1k | static void move(storage& dst, storage& src) noexcept { | 148 | 16.1k | dst.ptr_ = src.ptr_; | 149 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}>::move(ofats::any_detail::storage&, ofats::any_detail::storage) Line | Count | Source | 147 | 5.39k | static void move(storage& dst, storage& src) noexcept { | 148 | 5.39k | dst.ptr_ = src.ptr_; | 149 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(auto:1*, auto:2*)#1}>::move(ofats::any_detail::storage&, ofats::any_detail::storage) Line | Count | Source | 147 | 10.7k | static void move(storage& dst, storage& src) noexcept { | 148 | 10.7k | dst.ptr_ = src.ptr_; | 149 | 10.7k | } |
|
150 | | |
151 | 344k | static R call(storage& s, ArgTypes... args) { |
152 | 344k | return std::invoke(*static_cast<T*>(s.ptr_), |
153 | 344k | std::forward<ArgTypes>(args)...); |
154 | 344k | } ofats::any_detail::handler_traits<bool, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::large_handler<uWS::HttpContext<true>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}>::call(ofats::any_detail::storage&, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*) Line | Count | Source | 151 | 129k | static R call(storage& s, ArgTypes... args) { | 152 | 129k | return std::invoke(*static_cast<T*>(s.ptr_), | 153 | 129k | std::forward<ArgTypes>(args)...); | 154 | 129k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}>::call(ofats::any_detail::storage&, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 151 | 105k | static R call(storage& s, ArgTypes... args) { | 152 | 105k | return std::invoke(*static_cast<T*>(s.ptr_), | 153 | 105k | std::forward<ArgTypes>(args)...); | 154 | 105k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::handler_traits<void, uWS::HttpResponse<true>*, uWS::HttpRequest*>::large_handler<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(auto:1*, auto:2*)#1}>::call(ofats::any_detail::storage&, uWS::HttpResponse<true>*, uWS::HttpRequest*) Line | Count | Source | 151 | 109k | static R call(storage& s, ArgTypes... args) { | 152 | 109k | return std::invoke(*static_cast<T*>(s.ptr_), | 153 | 109k | std::forward<ArgTypes>(args)...); | 154 | 109k | } |
|
155 | | }; |
156 | | |
157 | | template <class T> |
158 | | using handler = std::conditional_t<is_small_object_v<T>, small_handler<T>, |
159 | | large_handler<T>>; |
160 | | }; |
161 | | |
162 | | template <class T> |
163 | | struct is_in_place_type : std::false_type {}; |
164 | | |
165 | | template <class T> |
166 | | struct is_in_place_type<std::in_place_type_t<T>> : std::true_type {}; |
167 | | |
168 | | template <class T> |
169 | | inline constexpr auto is_in_place_type_v = is_in_place_type<T>::value; |
170 | | |
171 | | template <class R, bool is_noexcept, class... ArgTypes> |
172 | | class any_invocable_impl { |
173 | | template <class T> |
174 | | using handler = |
175 | | typename any_detail::handler_traits<R, ArgTypes...>::template handler<T>; |
176 | | |
177 | | using storage = any_detail::storage; |
178 | | using action = any_detail::action; |
179 | | using handle_func = void (*)(any_detail::action, any_detail::storage*, |
180 | | any_detail::storage*); |
181 | | using call_func = R (*)(any_detail::storage&, ArgTypes...); |
182 | | |
183 | | public: |
184 | | using result_type = R; |
185 | | |
186 | 5.07M | any_invocable_impl() noexcept = default; ofats::any_detail::any_invocable_impl<void, false, char const*>::any_invocable_impl() Line | Count | Source | 186 | 5.39k | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::any_invocable_impl() Line | Count | Source | 186 | 1.22M | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<void, false>::any_invocable_impl() Line | Count | Source | 186 | 1.22M | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<void, false, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::any_invocable_impl() Line | Count | Source | 186 | 1.22M | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<void*, false, void*, uWS::HttpRequest*>::any_invocable_impl() Line | Count | Source | 186 | 660k | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<void*, false, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::any_invocable_impl() Line | Count | Source | 186 | 660k | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::any_invocable_impl() Line | Count | Source | 186 | 10.7k | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>::any_invocable_impl() Line | Count | Source | 186 | 10.7k | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<void, false, uWS::Loop*>::any_invocable_impl() Line | Count | Source | 186 | 10.7k | any_invocable_impl() noexcept = default; |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::any_invocable_impl() Line | Count | Source | 186 | 10.7k | any_invocable_impl() noexcept = default; |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::any_invocable_impl() Line | Count | Source | 186 | 10.7k | any_invocable_impl() noexcept = default; |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::any_invocable_impl() Line | Count | Source | 186 | 5.39k | any_invocable_impl() noexcept = default; |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::any_invocable_impl() Line | Count | Source | 186 | 10.7k | any_invocable_impl() noexcept = default; |
ofats::any_detail::any_invocable_impl<void, false, us_listen_socket_t*>::any_invocable_impl() Line | Count | Source | 186 | 5.39k | any_invocable_impl() noexcept = default; |
|
187 | 309k | any_invocable_impl(std::nullptr_t) noexcept {} ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*>::any_invocable_impl(decltype(nullptr)) Line | Count | Source | 187 | 5.39k | any_invocable_impl(std::nullptr_t) noexcept {} |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::any_invocable_impl(decltype(nullptr)) Line | Count | Source | 187 | 16.1k | any_invocable_impl(std::nullptr_t) noexcept {} |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>::any_invocable_impl(decltype(nullptr)) Line | Count | Source | 187 | 10.7k | any_invocable_impl(std::nullptr_t) noexcept {} |
Unexecuted instantiation: ofats::any_detail::any_invocable_impl<void, false, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::any_invocable_impl(decltype(nullptr)) ofats::any_detail::any_invocable_impl<void, false>::any_invocable_impl(decltype(nullptr)) Line | Count | Source | 187 | 124k | any_invocable_impl(std::nullptr_t) noexcept {} |
ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::any_invocable_impl(decltype(nullptr)) Line | Count | Source | 187 | 124k | any_invocable_impl(std::nullptr_t) noexcept {} |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::any_invocable_impl(decltype(nullptr)) Line | Count | Source | 187 | 10.7k | any_invocable_impl(std::nullptr_t) noexcept {} |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::any_invocable_impl(decltype(nullptr)) Line | Count | Source | 187 | 5.39k | any_invocable_impl(std::nullptr_t) noexcept {} |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::any_invocable_impl(decltype(nullptr)) Line | Count | Source | 187 | 10.7k | any_invocable_impl(std::nullptr_t) noexcept {} |
|
188 | 199k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { |
189 | 199k | if (rhs.handle_) { |
190 | 91.6k | handle_ = rhs.handle_; |
191 | 91.6k | handle_(action::move, &storage_, &rhs.storage_); |
192 | 91.6k | call_ = rhs.call_; |
193 | 91.6k | rhs.handle_ = nullptr; |
194 | 91.6k | } |
195 | 199k | } Unexecuted instantiation: ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::any_invocable_impl(ofats::any_detail::any_invocable_impl<bool, false, unsigned long>&&) ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::any_invocable_impl(ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>&&) Line | Count | Source | 188 | 16.1k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 16.1k | if (rhs.handle_) { | 190 | 16.1k | handle_ = rhs.handle_; | 191 | 16.1k | handle_(action::move, &storage_, &rhs.storage_); | 192 | 16.1k | call_ = rhs.call_; | 193 | 16.1k | rhs.handle_ = nullptr; | 194 | 16.1k | } | 195 | 16.1k | } |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>&&) Line | Count | Source | 188 | 21.5k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 21.5k | if (rhs.handle_) { | 190 | 21.5k | handle_ = rhs.handle_; | 191 | 21.5k | handle_(action::move, &storage_, &rhs.storage_); | 192 | 21.5k | call_ = rhs.call_; | 193 | 21.5k | rhs.handle_ = nullptr; | 194 | 21.5k | } | 195 | 21.5k | } |
ofats::any_detail::any_invocable_impl<void, false, uWS::Loop*>::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false, uWS::Loop*>&&) Line | Count | Source | 188 | 10.7k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 10.7k | if (rhs.handle_) { | 190 | 10.7k | handle_ = rhs.handle_; | 191 | 10.7k | handle_(action::move, &storage_, &rhs.storage_); | 192 | 10.7k | call_ = rhs.call_; | 193 | 10.7k | rhs.handle_ = nullptr; | 194 | 10.7k | } | 195 | 10.7k | } |
ofats::any_detail::any_invocable_impl<void, false>::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false>&&) Line | Count | Source | 188 | 5.39k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 5.39k | if (rhs.handle_) { | 190 | 5.39k | handle_ = rhs.handle_; | 191 | 5.39k | handle_(action::move, &storage_, &rhs.storage_); | 192 | 5.39k | call_ = rhs.call_; | 193 | 5.39k | rhs.handle_ = nullptr; | 194 | 5.39k | } | 195 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>&&) Line | Count | Source | 188 | 32.3k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 32.3k | if (rhs.handle_) { | 190 | 10.7k | handle_ = rhs.handle_; | 191 | 10.7k | handle_(action::move, &storage_, &rhs.storage_); | 192 | 10.7k | call_ = rhs.call_; | 193 | 10.7k | rhs.handle_ = nullptr; | 194 | 10.7k | } | 195 | 32.3k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>&&) Line | Count | Source | 188 | 32.3k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 32.3k | if (rhs.handle_) { | 190 | 5.39k | handle_ = rhs.handle_; | 191 | 5.39k | handle_(action::move, &storage_, &rhs.storage_); | 192 | 5.39k | call_ = rhs.call_; | 193 | 5.39k | rhs.handle_ = nullptr; | 194 | 5.39k | } | 195 | 32.3k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>&&) Line | Count | Source | 188 | 16.1k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 16.1k | if (rhs.handle_) { | 190 | 0 | handle_ = rhs.handle_; | 191 | 0 | handle_(action::move, &storage_, &rhs.storage_); | 192 | 0 | call_ = rhs.call_; | 193 | 0 | rhs.handle_ = nullptr; | 194 | 0 | } | 195 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&) Line | Count | Source | 188 | 21.5k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 21.5k | if (rhs.handle_) { | 190 | 10.7k | handle_ = rhs.handle_; | 191 | 10.7k | handle_(action::move, &storage_, &rhs.storage_); | 192 | 10.7k | call_ = rhs.call_; | 193 | 10.7k | rhs.handle_ = nullptr; | 194 | 10.7k | } | 195 | 21.5k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&) Line | Count | Source | 188 | 32.3k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 32.3k | if (rhs.handle_) { | 190 | 10.7k | handle_ = rhs.handle_; | 191 | 10.7k | handle_(action::move, &storage_, &rhs.storage_); | 192 | 10.7k | call_ = rhs.call_; | 193 | 10.7k | rhs.handle_ = nullptr; | 194 | 10.7k | } | 195 | 32.3k | } |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*>::any_invocable_impl(ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*>&&) Line | Count | Source | 188 | 10.7k | any_invocable_impl(any_invocable_impl&& rhs) noexcept { | 189 | 10.7k | if (rhs.handle_) { | 190 | 0 | handle_ = rhs.handle_; | 191 | 0 | handle_(action::move, &storage_, &rhs.storage_); | 192 | 0 | call_ = rhs.call_; | 193 | 0 | rhs.handle_ = nullptr; | 194 | 0 | } | 195 | 10.7k | } |
|
196 | | |
197 | 37.7k | any_invocable_impl& operator=(any_invocable_impl&& rhs) noexcept { |
198 | 37.7k | any_invocable_impl{std::move(rhs)}.swap(*this); |
199 | 37.7k | return *this; |
200 | 37.7k | } Unexecuted instantiation: ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::operator=(ofats::any_detail::any_invocable_impl<bool, false, unsigned long>&&) Unexecuted instantiation: ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::operator=(ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>&&) EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::operator=(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>&&) Line | Count | Source | 197 | 10.7k | any_invocable_impl& operator=(any_invocable_impl&& rhs) noexcept { | 198 | 10.7k | any_invocable_impl{std::move(rhs)}.swap(*this); | 199 | 10.7k | return *this; | 200 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::operator=(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>&&) Line | Count | Source | 197 | 10.7k | any_invocable_impl& operator=(any_invocable_impl&& rhs) noexcept { | 198 | 10.7k | any_invocable_impl{std::move(rhs)}.swap(*this); | 199 | 10.7k | return *this; | 200 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>::operator=(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>&&) Line | Count | Source | 197 | 5.39k | any_invocable_impl& operator=(any_invocable_impl&& rhs) noexcept { | 198 | 5.39k | any_invocable_impl{std::move(rhs)}.swap(*this); | 199 | 5.39k | return *this; | 200 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator=(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&) Line | Count | Source | 197 | 10.7k | any_invocable_impl& operator=(any_invocable_impl&& rhs) noexcept { | 198 | 10.7k | any_invocable_impl{std::move(rhs)}.swap(*this); | 199 | 10.7k | return *this; | 200 | 10.7k | } |
|
201 | | any_invocable_impl& operator=(std::nullptr_t) noexcept { |
202 | | destroy(); |
203 | | return *this; |
204 | | } |
205 | | |
206 | 5.58M | ~any_invocable_impl() { destroy(); } ofats::any_detail::any_invocable_impl<void, false, us_listen_socket_t*>::~any_invocable_impl() Line | Count | Source | 206 | 5.39k | ~any_invocable_impl() { destroy(); } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::~any_invocable_impl() Line | Count | Source | 206 | 37.7k | ~any_invocable_impl() { destroy(); } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>::~any_invocable_impl() Line | Count | Source | 206 | 26.9k | ~any_invocable_impl() { destroy(); } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::~any_invocable_impl() Line | Count | Source | 206 | 53.9k | ~any_invocable_impl() { destroy(); } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::~any_invocable_impl() Line | Count | Source | 206 | 53.9k | ~any_invocable_impl() { destroy(); } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::~any_invocable_impl() Line | Count | Source | 206 | 53.9k | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*>::~any_invocable_impl() Line | Count | Source | 206 | 16.1k | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<void, false>::~any_invocable_impl() Line | Count | Source | 206 | 1.35M | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<void, false, uWS::Loop*>::~any_invocable_impl() Line | Count | Source | 206 | 21.5k | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::~any_invocable_impl() Line | Count | Source | 206 | 26.9k | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<void, false, char const*>::~any_invocable_impl() Line | Count | Source | 206 | 5.39k | ~any_invocable_impl() { destroy(); } |
Unexecuted instantiation: ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, int>::~any_invocable_impl() ofats::any_detail::any_invocable_impl<void, false, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::~any_invocable_impl() Line | Count | Source | 206 | 1.22M | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::~any_invocable_impl() Line | Count | Source | 206 | 1.34M | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<void*, false, void*, uWS::HttpRequest*>::~any_invocable_impl() Line | Count | Source | 206 | 660k | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<void*, false, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::~any_invocable_impl() Line | Count | Source | 206 | 660k | ~any_invocable_impl() { destroy(); } |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>::~any_invocable_impl() Line | Count | Source | 206 | 32.3k | ~any_invocable_impl() { destroy(); } |
|
207 | | |
208 | 325k | void swap(any_invocable_impl& rhs) noexcept { |
209 | 325k | if (handle_) { |
210 | 32.3k | if (rhs.handle_) { |
211 | 0 | storage tmp; |
212 | 0 | handle_(action::move, &tmp, &storage_); |
213 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); |
214 | 0 | handle_(action::move, &rhs.storage_, &tmp); |
215 | 0 | std::swap(handle_, rhs.handle_); |
216 | 0 | std::swap(call_, rhs.call_); |
217 | 32.3k | } else { |
218 | 32.3k | rhs.swap(*this); |
219 | 32.3k | } |
220 | 293k | } else if (rhs.handle_) { |
221 | 32.3k | rhs.handle_(action::move, &storage_, &rhs.storage_); |
222 | 32.3k | handle_ = rhs.handle_; |
223 | 32.3k | call_ = rhs.call_; |
224 | 32.3k | rhs.handle_ = nullptr; |
225 | 32.3k | } |
226 | 325k | } Unexecuted instantiation: ofats::any_detail::any_invocable_impl<void, false, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::swap(ofats::any_detail::any_invocable_impl<void, false, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>&) ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::swap(ofats::any_detail::any_invocable_impl<bool, false, unsigned long>&) Line | Count | Source | 208 | 124k | void swap(any_invocable_impl& rhs) noexcept { | 209 | 124k | if (handle_) { | 210 | 0 | if (rhs.handle_) { | 211 | 0 | storage tmp; | 212 | 0 | handle_(action::move, &tmp, &storage_); | 213 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 214 | 0 | handle_(action::move, &rhs.storage_, &tmp); | 215 | 0 | std::swap(handle_, rhs.handle_); | 216 | 0 | std::swap(call_, rhs.call_); | 217 | 0 | } else { | 218 | 0 | rhs.swap(*this); | 219 | 0 | } | 220 | 124k | } else if (rhs.handle_) { | 221 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 222 | 0 | handle_ = rhs.handle_; | 223 | 0 | call_ = rhs.call_; | 224 | 0 | rhs.handle_ = nullptr; | 225 | 0 | } | 226 | 124k | } |
Unexecuted instantiation: ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::swap(ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>&) ofats::any_detail::any_invocable_impl<void, false>::swap(ofats::any_detail::any_invocable_impl<void, false>&) Line | Count | Source | 208 | 124k | void swap(any_invocable_impl& rhs) noexcept { | 209 | 124k | if (handle_) { | 210 | 0 | if (rhs.handle_) { | 211 | 0 | storage tmp; | 212 | 0 | handle_(action::move, &tmp, &storage_); | 213 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 214 | 0 | handle_(action::move, &rhs.storage_, &tmp); | 215 | 0 | std::swap(handle_, rhs.handle_); | 216 | 0 | std::swap(call_, rhs.call_); | 217 | 0 | } else { | 218 | 0 | rhs.swap(*this); | 219 | 0 | } | 220 | 124k | } else if (rhs.handle_) { | 221 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 222 | 0 | handle_ = rhs.handle_; | 223 | 0 | call_ = rhs.call_; | 224 | 0 | rhs.handle_ = nullptr; | 225 | 0 | } | 226 | 124k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::swap(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>&) Line | Count | Source | 208 | 21.5k | void swap(any_invocable_impl& rhs) noexcept { | 209 | 21.5k | if (handle_) { | 210 | 10.7k | if (rhs.handle_) { | 211 | 0 | storage tmp; | 212 | 0 | handle_(action::move, &tmp, &storage_); | 213 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 214 | 0 | handle_(action::move, &rhs.storage_, &tmp); | 215 | 0 | std::swap(handle_, rhs.handle_); | 216 | 0 | std::swap(call_, rhs.call_); | 217 | 10.7k | } else { | 218 | 10.7k | rhs.swap(*this); | 219 | 10.7k | } | 220 | 10.7k | } else if (rhs.handle_) { | 221 | 10.7k | rhs.handle_(action::move, &storage_, &rhs.storage_); | 222 | 10.7k | handle_ = rhs.handle_; | 223 | 10.7k | call_ = rhs.call_; | 224 | 10.7k | rhs.handle_ = nullptr; | 225 | 10.7k | } | 226 | 21.5k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::swap(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>&) Line | Count | Source | 208 | 16.1k | void swap(any_invocable_impl& rhs) noexcept { | 209 | 16.1k | if (handle_) { | 210 | 5.39k | if (rhs.handle_) { | 211 | 0 | storage tmp; | 212 | 0 | handle_(action::move, &tmp, &storage_); | 213 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 214 | 0 | handle_(action::move, &rhs.storage_, &tmp); | 215 | 0 | std::swap(handle_, rhs.handle_); | 216 | 0 | std::swap(call_, rhs.call_); | 217 | 5.39k | } else { | 218 | 5.39k | rhs.swap(*this); | 219 | 5.39k | } | 220 | 10.7k | } else if (rhs.handle_) { | 221 | 5.39k | rhs.handle_(action::move, &storage_, &rhs.storage_); | 222 | 5.39k | handle_ = rhs.handle_; | 223 | 5.39k | call_ = rhs.call_; | 224 | 5.39k | rhs.handle_ = nullptr; | 225 | 5.39k | } | 226 | 16.1k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>::swap(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>&) Line | Count | Source | 208 | 5.39k | void swap(any_invocable_impl& rhs) noexcept { | 209 | 5.39k | if (handle_) { | 210 | 0 | if (rhs.handle_) { | 211 | 0 | storage tmp; | 212 | 0 | handle_(action::move, &tmp, &storage_); | 213 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 214 | 0 | handle_(action::move, &rhs.storage_, &tmp); | 215 | 0 | std::swap(handle_, rhs.handle_); | 216 | 0 | std::swap(call_, rhs.call_); | 217 | 0 | } else { | 218 | 0 | rhs.swap(*this); | 219 | 0 | } | 220 | 5.39k | } else if (rhs.handle_) { | 221 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 222 | 0 | handle_ = rhs.handle_; | 223 | 0 | call_ = rhs.call_; | 224 | 0 | rhs.handle_ = nullptr; | 225 | 0 | } | 226 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::swap(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&) Line | Count | Source | 208 | 10.7k | void swap(any_invocable_impl& rhs) noexcept { | 209 | 10.7k | if (handle_) { | 210 | 5.39k | if (rhs.handle_) { | 211 | 0 | storage tmp; | 212 | 0 | handle_(action::move, &tmp, &storage_); | 213 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 214 | 0 | handle_(action::move, &rhs.storage_, &tmp); | 215 | 0 | std::swap(handle_, rhs.handle_); | 216 | 0 | std::swap(call_, rhs.call_); | 217 | 5.39k | } else { | 218 | 5.39k | rhs.swap(*this); | 219 | 5.39k | } | 220 | 5.39k | } else if (rhs.handle_) { | 221 | 5.39k | rhs.handle_(action::move, &storage_, &rhs.storage_); | 222 | 5.39k | handle_ = rhs.handle_; | 223 | 5.39k | call_ = rhs.call_; | 224 | 5.39k | rhs.handle_ = nullptr; | 225 | 5.39k | } | 226 | 10.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::swap(ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&) Line | Count | Source | 208 | 21.5k | void swap(any_invocable_impl& rhs) noexcept { | 209 | 21.5k | if (handle_) { | 210 | 10.7k | if (rhs.handle_) { | 211 | 0 | storage tmp; | 212 | 0 | handle_(action::move, &tmp, &storage_); | 213 | 0 | rhs.handle_(action::move, &storage_, &rhs.storage_); | 214 | 0 | handle_(action::move, &rhs.storage_, &tmp); | 215 | 0 | std::swap(handle_, rhs.handle_); | 216 | 0 | std::swap(call_, rhs.call_); | 217 | 10.7k | } else { | 218 | 10.7k | rhs.swap(*this); | 219 | 10.7k | } | 220 | 10.7k | } else if (rhs.handle_) { | 221 | 10.7k | rhs.handle_(action::move, &storage_, &rhs.storage_); | 222 | 10.7k | handle_ = rhs.handle_; | 223 | 10.7k | call_ = rhs.call_; | 224 | 10.7k | rhs.handle_ = nullptr; | 225 | 10.7k | } | 226 | 21.5k | } |
|
227 | | |
228 | 13.3M | explicit operator bool() const noexcept { return handle_ != nullptr; } ofats::any_detail::any_invocable_impl<void, false>::operator bool() const Line | Count | Source | 228 | 1.11M | explicit operator bool() const noexcept { return handle_ != nullptr; } |
ofats::any_detail::any_invocable_impl<void, false, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::operator bool() const Line | Count | Source | 228 | 18.8k | explicit operator bool() const noexcept { return handle_ != nullptr; } |
ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::operator bool() const Line | Count | Source | 228 | 2.40k | explicit operator bool() const noexcept { return handle_ != nullptr; } |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>::operator bool() const Line | Count | Source | 228 | 10.7k | explicit operator bool() const noexcept { return handle_ != nullptr; } |
ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, int>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::operator bool() const Line | Count | Source | 228 | 495 | explicit operator bool() const noexcept { return handle_ != nullptr; } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>::operator bool() const Line | Count | Source | 228 | 10.6M | explicit operator bool() const noexcept { return handle_ != nullptr; } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator bool() const Line | Count | Source | 228 | 210k | explicit operator bool() const noexcept { return handle_ != nullptr; } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::operator bool() const Line | Count | Source | 228 | 1.07M | explicit operator bool() const noexcept { return handle_ != nullptr; } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator bool() const Line | Count | Source | 228 | 5.73k | explicit operator bool() const noexcept { return handle_ != nullptr; } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::operator bool() const Line | Count | Source | 228 | 115k | explicit operator bool() const noexcept { return handle_ != nullptr; } |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*>::operator bool() const Line | Count | Source | 228 | 105k | explicit operator bool() const noexcept { return handle_ != nullptr; } |
|
229 | | |
230 | | protected: |
231 | | template <class F, class... Args> |
232 | 1.40M | void create(Args&&... args) { |
233 | 1.40M | using hdl = handler<F>; |
234 | 1.40M | hdl::create(storage_, std::forward<Args>(args)...); |
235 | 1.40M | handle_ = &hdl::handle; |
236 | 1.40M | call_ = &hdl::call; |
237 | 1.40M | } void ofats::any_detail::any_invocable_impl<void*, false, void*, uWS::HttpRequest*>::create<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}, {lambda(us_socket_t*, char*, int)#1}>({lambda(us_socket_t*, char*, int)#1}&&) Line | Count | Source | 232 | 660k | void create(Args&&... args) { | 233 | 660k | using hdl = handler<F>; | 234 | 660k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 660k | handle_ = &hdl::handle; | 236 | 660k | call_ = &hdl::call; | 237 | 660k | } |
void ofats::any_detail::any_invocable_impl<void*, false, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::create<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}, {lambda(us_socket_t*, char*, int)#1}>({lambda(us_socket_t*, char*, int)#1}&&) Line | Count | Source | 232 | 660k | void create(Args&&... args) { | 233 | 660k | using hdl = handler<F>; | 234 | 660k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 660k | handle_ = &hdl::handle; | 236 | 660k | call_ = &hdl::call; | 237 | 660k | } |
Unexecuted instantiation: void ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::create<uWS::HttpResponseData<true>::callOnWritable(unsigned long)::{lambda(unsigned long)#1}, {lambda(unsigned long)#1}>({lambda(unsigned long)#1}&&) void ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::create<uWS::HttpContext<true>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}, {lambda(auto:1*)#1}>({lambda(auto:1*)#1}&&) Line | Count | Source | 232 | 10.7k | void create(Args&&... args) { | 233 | 10.7k | using hdl = handler<F>; | 234 | 10.7k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 10.7k | handle_ = &hdl::handle; | 236 | 10.7k | call_ = &hdl::call; | 237 | 10.7k | } |
void ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>::create<uWS::TemplatedApp<true>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}, {lambda(auto:1*, auto:2*)#1}>({lambda(auto:1*, auto:2*)#1}&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::Loop*>::create<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#1}, {lambda(uWS::Loop*)#1}>({lambda(uWS::Loop*)#1}&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::Loop*>::create<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#2}, {lambda(uWS::Loop*)#2}>({lambda(uWS::Loop*)#2}&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false>::create<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda()#1}, {lambda()#1}>({lambda()#1}&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::create<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}, {lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}>({lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>::create<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(auto:1*, auto:2*)#1}, {lambda(auto:1*, auto:2*)#1}>({lambda(auto:1*, auto:2*)#1}&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::create<test()::$_0, test()::$_0>(test()::$_0&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::create<test()::$_1, test()::$_1>(test()::$_1&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::create<test()::$_2, test()::$_2>(test()::$_2&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::create<test()::$_3, test()::$_3>(test()::$_3&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::create<test()::$_4, test()::$_4>(test()::$_4&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::create<test()::$_5, test()::$_5>(test()::$_5&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
EpollEchoServerPubSub.cpp:void ofats::any_detail::any_invocable_impl<void, false, us_listen_socket_t*>::create<test()::$_6, test()::$_6>(test()::$_6&&) Line | Count | Source | 232 | 5.39k | void create(Args&&... args) { | 233 | 5.39k | using hdl = handler<F>; | 234 | 5.39k | hdl::create(storage_, std::forward<Args>(args)...); | 235 | 5.39k | handle_ = &hdl::handle; | 236 | 5.39k | call_ = &hdl::call; | 237 | 5.39k | } |
|
238 | | |
239 | 5.58M | void destroy() noexcept { |
240 | 5.58M | if (handle_) { |
241 | 1.40M | handle_(action::destroy, &storage_, nullptr); |
242 | 1.40M | handle_ = nullptr; |
243 | 1.40M | } |
244 | 5.58M | } ofats::any_detail::any_invocable_impl<void, false, us_listen_socket_t*>::destroy() Line | Count | Source | 239 | 5.39k | void destroy() noexcept { | 240 | 5.39k | if (handle_) { | 241 | 5.39k | handle_(action::destroy, &storage_, nullptr); | 242 | 5.39k | handle_ = nullptr; | 243 | 5.39k | } | 244 | 5.39k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::destroy() Line | Count | Source | 239 | 37.7k | void destroy() noexcept { | 240 | 37.7k | if (handle_) { | 241 | 10.7k | handle_(action::destroy, &storage_, nullptr); | 242 | 10.7k | handle_ = nullptr; | 243 | 10.7k | } | 244 | 37.7k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>::destroy() Line | Count | Source | 239 | 26.9k | void destroy() noexcept { | 240 | 26.9k | if (handle_) { | 241 | 0 | handle_(action::destroy, &storage_, nullptr); | 242 | 0 | handle_ = nullptr; | 243 | 0 | } | 244 | 26.9k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::destroy() Line | Count | Source | 239 | 53.9k | void destroy() noexcept { | 240 | 53.9k | if (handle_) { | 241 | 10.7k | handle_(action::destroy, &storage_, nullptr); | 242 | 10.7k | handle_ = nullptr; | 243 | 10.7k | } | 244 | 53.9k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::destroy() Line | Count | Source | 239 | 53.9k | void destroy() noexcept { | 240 | 53.9k | if (handle_) { | 241 | 10.7k | handle_(action::destroy, &storage_, nullptr); | 242 | 10.7k | handle_ = nullptr; | 243 | 10.7k | } | 244 | 53.9k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::destroy() Line | Count | Source | 239 | 53.9k | void destroy() noexcept { | 240 | 53.9k | if (handle_) { | 241 | 5.39k | handle_(action::destroy, &storage_, nullptr); | 242 | 5.39k | handle_ = nullptr; | 243 | 5.39k | } | 244 | 53.9k | } |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*>::destroy() Line | Count | Source | 239 | 16.1k | void destroy() noexcept { | 240 | 16.1k | if (handle_) { | 241 | 0 | handle_(action::destroy, &storage_, nullptr); | 242 | 0 | handle_ = nullptr; | 243 | 0 | } | 244 | 16.1k | } |
ofats::any_detail::any_invocable_impl<void, false>::destroy() Line | Count | Source | 239 | 1.35M | void destroy() noexcept { | 240 | 1.35M | if (handle_) { | 241 | 5.39k | handle_(action::destroy, &storage_, nullptr); | 242 | 5.39k | handle_ = nullptr; | 243 | 5.39k | } | 244 | 1.35M | } |
ofats::any_detail::any_invocable_impl<void, false, uWS::Loop*>::destroy() Line | Count | Source | 239 | 21.5k | void destroy() noexcept { | 240 | 21.5k | if (handle_) { | 241 | 10.7k | handle_(action::destroy, &storage_, nullptr); | 242 | 10.7k | handle_ = nullptr; | 243 | 10.7k | } | 244 | 21.5k | } |
ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::destroy() Line | Count | Source | 239 | 26.9k | void destroy() noexcept { | 240 | 26.9k | if (handle_) { | 241 | 10.7k | handle_(action::destroy, &storage_, nullptr); | 242 | 10.7k | handle_ = nullptr; | 243 | 10.7k | } | 244 | 26.9k | } |
ofats::any_detail::any_invocable_impl<void, false, char const*>::destroy() Line | Count | Source | 239 | 5.39k | void destroy() noexcept { | 240 | 5.39k | if (handle_) { | 241 | 0 | handle_(action::destroy, &storage_, nullptr); | 242 | 0 | handle_ = nullptr; | 243 | 0 | } | 244 | 5.39k | } |
Unexecuted instantiation: ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, int>::destroy() ofats::any_detail::any_invocable_impl<void, false, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::destroy() Line | Count | Source | 239 | 1.22M | void destroy() noexcept { | 240 | 1.22M | if (handle_) { | 241 | 0 | handle_(action::destroy, &storage_, nullptr); | 242 | 0 | handle_ = nullptr; | 243 | 0 | } | 244 | 1.22M | } |
ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::destroy() Line | Count | Source | 239 | 1.34M | void destroy() noexcept { | 240 | 1.34M | if (handle_) { | 241 | 0 | handle_(action::destroy, &storage_, nullptr); | 242 | 0 | handle_ = nullptr; | 243 | 0 | } | 244 | 1.34M | } |
ofats::any_detail::any_invocable_impl<void*, false, void*, uWS::HttpRequest*>::destroy() Line | Count | Source | 239 | 660k | void destroy() noexcept { | 240 | 660k | if (handle_) { | 241 | 660k | handle_(action::destroy, &storage_, nullptr); | 242 | 660k | handle_ = nullptr; | 243 | 660k | } | 244 | 660k | } |
ofats::any_detail::any_invocable_impl<void*, false, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::destroy() Line | Count | Source | 239 | 660k | void destroy() noexcept { | 240 | 660k | if (handle_) { | 241 | 660k | handle_(action::destroy, &storage_, nullptr); | 242 | 660k | handle_ = nullptr; | 243 | 660k | } | 244 | 660k | } |
ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>::destroy() Line | Count | Source | 239 | 32.3k | void destroy() noexcept { | 240 | 32.3k | if (handle_) { | 241 | 10.7k | handle_(action::destroy, &storage_, nullptr); | 242 | 10.7k | handle_ = nullptr; | 243 | 10.7k | } | 244 | 32.3k | } |
|
245 | | |
246 | 4.41M | R call(ArgTypes... args) noexcept(is_noexcept) { |
247 | 4.41M | return call_(storage_, std::forward<ArgTypes>(args)...); |
248 | 4.41M | } ofats::any_detail::any_invocable_impl<void, false>::call() Line | Count | Source | 246 | 5.39k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 5.39k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 5.39k | } |
ofats::any_detail::any_invocable_impl<void, false, uWS::Loop*>::call(uWS::Loop*) Line | Count | Source | 246 | 2.59M | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 2.59M | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 2.59M | } |
Unexecuted instantiation: ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, int>::call(uWS::HttpResponse<true>*, int) ofats::any_detail::any_invocable_impl<void*, false, void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::call(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool) Line | Count | Source | 246 | 18.8k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 18.8k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 18.8k | } |
ofats::any_detail::any_invocable_impl<void*, false, void*, uWS::HttpRequest*>::call(void*, uWS::HttpRequest*) Line | Count | Source | 246 | 124k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 124k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 124k | } |
ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*>::call(uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*) Line | Count | Source | 246 | 129k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 129k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 129k | } |
Unexecuted instantiation: ofats::any_detail::any_invocable_impl<void, false, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool>::call(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool) Unexecuted instantiation: ofats::any_detail::any_invocable_impl<bool, false, unsigned long>::call(unsigned long) ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*>::call(uWS::HttpResponse<true>*, uWS::HttpRequest*) Line | Count | Source | 246 | 129k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 129k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 129k | } |
Unexecuted instantiation: ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, int>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::call(uWS::WebSocket<true, true, int>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode) Unexecuted instantiation: EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int>::call(uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int) EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::call(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 246 | 210k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 210k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 210k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode>::call(uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode) Line | Count | Source | 246 | 1.07M | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 1.07M | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 1.07M | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::call(uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 246 | 5.73k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 5.73k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 5.73k | } |
EpollEchoServerPubSub.cpp:ofats::any_detail::any_invocable_impl<void, false, uWS::WebSocket<true, true, test()::PerSocketData>*>::call(uWS::WebSocket<true, true, test()::PerSocketData>*) Line | Count | Source | 246 | 115k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 115k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 115k | } |
Unexecuted instantiation: ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*>::call(uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*) ofats::any_detail::any_invocable_impl<void, false, us_listen_socket_t*>::call(us_listen_socket_t*) Line | Count | Source | 246 | 5.39k | R call(ArgTypes... args) noexcept(is_noexcept) { | 247 | 5.39k | return call_(storage_, std::forward<ArgTypes>(args)...); | 248 | 5.39k | } |
|
249 | | |
250 | | friend bool operator==(const any_invocable_impl& f, std::nullptr_t) noexcept { |
251 | | return !f; |
252 | | } |
253 | | friend bool operator==(std::nullptr_t, const any_invocable_impl& f) noexcept { |
254 | | return !f; |
255 | | } |
256 | | friend bool operator!=(const any_invocable_impl& f, std::nullptr_t) noexcept { |
257 | | return static_cast<bool>(f); |
258 | | } |
259 | | friend bool operator!=(std::nullptr_t, const any_invocable_impl& f) noexcept { |
260 | | return static_cast<bool>(f); |
261 | | } |
262 | | |
263 | | friend void swap(any_invocable_impl& lhs, any_invocable_impl& rhs) noexcept { |
264 | | lhs.swap(rhs); |
265 | | } |
266 | | |
267 | | private: |
268 | | storage storage_; |
269 | | handle_func handle_ = nullptr; |
270 | | call_func call_; |
271 | | }; |
272 | | |
273 | | template <class T> |
274 | | using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>; |
275 | | |
276 | | template <class AI, class F, bool noex, class R, class FCall, class... ArgTypes> |
277 | | using can_convert = std::conjunction< |
278 | | std::negation<std::is_same<remove_cvref_t<F>, AI>>, |
279 | | std::negation<any_detail::is_in_place_type<remove_cvref_t<F>>>, |
280 | | std::is_invocable_r<R, FCall, ArgTypes...>, |
281 | | std::bool_constant<(!noex || |
282 | | std::is_nothrow_invocable_r_v<R, FCall, ArgTypes...>)>, |
283 | | std::is_constructible<std::decay_t<F>, F>>; |
284 | | |
285 | | } // namespace any_detail |
286 | | |
287 | | template <class Signature> |
288 | | class any_invocable; |
289 | | |
290 | | #define __OFATS_ANY_INVOCABLE(cv, ref, noex, inv_quals) \ |
291 | | template <class R, class... ArgTypes> \ |
292 | | class any_invocable<R(ArgTypes...) cv ref noexcept(noex)> \ |
293 | | : public any_detail::any_invocable_impl<R, noex, ArgTypes...> { \ |
294 | | using base_type = any_detail::any_invocable_impl<R, noex, ArgTypes...>; \ |
295 | | \ |
296 | | public: \ |
297 | | using base_type::base_type; \ |
298 | | \ |
299 | | template < \ |
300 | | class F, \ |
301 | | class = std::enable_if_t<any_detail::can_convert< \ |
302 | | any_invocable, F, noex, R, F inv_quals, ArgTypes...>::value>> \ |
303 | 1.40M | any_invocable(F&& f) { \ |
304 | 1.40M | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ |
305 | 1.40M | } \ ofats::any_invocable<void* (void*, uWS::HttpRequest*)>::any_invocable<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}, void>(uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}&&) Line | Count | Source | 303 | 660k | any_invocable(F&& f) { \ | 304 | 660k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 660k | } \ |
ofats::any_invocable<void* (void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)>::any_invocable<uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}, void>(uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#1}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)#1}&&) Line | Count | Source | 303 | 660k | any_invocable(F&& f) { \ | 304 | 660k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 660k | } \ |
Unexecuted instantiation: ofats::any_invocable<bool (unsigned long)>::any_invocable<uWS::HttpResponseData<true>::callOnWritable(unsigned long)::{lambda(unsigned long)#1}, void>(uWS::HttpResponseData<true>::callOnWritable(unsigned long)::{lambda(unsigned long)#1}&&) ofats::any_invocable<bool (uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*)>::any_invocable<uWS::HttpContext<true>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}, void>(uWS::HttpContext<true>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}&&) Line | Count | Source | 303 | 10.7k | any_invocable(F&& f) { \ | 304 | 10.7k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 10.7k | } \ |
ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>::any_invocable<uWS::TemplatedApp<true>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}, void>(uWS::TemplatedApp<true>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::Loop*)>::any_invocable<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#1}, void>(uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#1}&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::Loop*)>::any_invocable<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#2}, void>(uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::Loop*)#2}&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void ()>::any_invocable<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda()#1}, void>(uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda()#1}&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)>::any_invocable<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}, void>(uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)#1}&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>::any_invocable<uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(auto:1*, auto:2*)#1}, void>(uWS::TemplatedApp<true>::ws<test()::PerSocketData>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, uWS::TemplatedApp<true>::WebSocketBehavior<test()::PerSocketData>&&)::{lambda(auto:1*, auto:2*)#1}&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*)>::any_invocable<test()::$_0, void>(test()::$_0&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode)>::any_invocable<test()::$_1, void>(test()::$_1&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*)>::any_invocable<test()::$_2, void>(test()::$_2&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >)>::any_invocable<test()::$_3, void>(test()::$_3&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >)>::any_invocable<test()::$_4, void>(test()::$_4&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)>::any_invocable<test()::$_5, void>(test()::$_5&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (us_listen_socket_t*)>::any_invocable<test()::$_6, void>(test()::$_6&&) Line | Count | Source | 303 | 5.39k | any_invocable(F&& f) { \ | 304 | 5.39k | base_type::template create<std::decay_t<F>>(std::forward<F>(f)); \ | 305 | 5.39k | } \ |
|
306 | | \ |
307 | | template <class T, class... Args, class VT = std::decay_t<T>, \ |
308 | | class = std::enable_if_t< \ |
309 | | std::is_move_constructible_v<VT> && \ |
310 | | std::is_constructible_v<VT, Args...> && \ |
311 | | std::is_invocable_r_v<R, VT inv_quals, ArgTypes...> && \ |
312 | | (!noex || std::is_nothrow_invocable_r_v<R, VT inv_quals, \ |
313 | | ArgTypes...>)>> \ |
314 | | explicit any_invocable(std::in_place_type_t<T>, Args&&... args) { \ |
315 | | base_type::template create<VT>(std::forward<Args>(args)...); \ |
316 | | } \ |
317 | | \ |
318 | | template < \ |
319 | | class T, class U, class... Args, class VT = std::decay_t<T>, \ |
320 | | class = std::enable_if_t< \ |
321 | | std::is_move_constructible_v<VT> && \ |
322 | | std::is_constructible_v<VT, std::initializer_list<U>&, Args...> && \ |
323 | | std::is_invocable_r_v<R, VT inv_quals, ArgTypes...> && \ |
324 | | (!noex || \ |
325 | | std::is_nothrow_invocable_r_v<R, VT inv_quals, ArgTypes...>)>> \ |
326 | | explicit any_invocable(std::in_place_type_t<T>, \ |
327 | | std::initializer_list<U> il, Args&&... args) { \ |
328 | | base_type::template create<VT>(il, std::forward<Args>(args)...); \ |
329 | | } \ |
330 | | \ |
331 | | template <class F, class FDec = std::decay_t<F>> \ |
332 | | std::enable_if_t<!std::is_same_v<FDec, any_invocable> && \ |
333 | | std::is_move_constructible_v<FDec>, \ |
334 | | any_invocable&> \ |
335 | 255k | operator=(F&& f) { \ |
336 | 255k | any_invocable{std::forward<F>(f)}.swap(*this); \ |
337 | 255k | return *this; \ |
338 | 255k | } \ Unexecuted instantiation: _ZN5ofats13any_invocableIFvNSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEbEEaSIDnDnEENS1_9enable_ifIXaantsr3stdE9is_same_vIT0_S7_Esr3stdE23is_move_constructible_vISA_EERS7_E4typeEOT_ Unexecuted instantiation: _ZN5ofats13any_invocableIFbmEEaSIZN3uWS16HttpResponseDataILb1EE14callOnWritableEmEUlmE_S7_EENSt3__19enable_ifIXaantsr3stdE9is_same_vIT0_S2_Esr3stdE23is_move_constructible_vISA_EERS2_E4typeEOT_ _ZN5ofats13any_invocableIFvvEEaSIDnDnEENSt3__19enable_ifIXaantsr3stdE9is_same_vIT0_S2_Esr3stdE23is_move_constructible_vIS6_EERS2_E4typeEOT_ Line | Count | Source | 335 | 124k | operator=(F&& f) { \ | 336 | 124k | any_invocable{std::forward<F>(f)}.swap(*this); \ | 337 | 124k | return *this; \ | 338 | 124k | } \ |
_ZN5ofats13any_invocableIFbmEEaSIDnDnEENSt3__19enable_ifIXaantsr3stdE9is_same_vIT0_S2_Esr3stdE23is_move_constructible_vIS6_EERS2_E4typeEOT_ Line | Count | Source | 335 | 124k | operator=(F&& f) { \ | 336 | 124k | any_invocable{std::forward<F>(f)}.swap(*this); \ | 337 | 124k | return *this; \ | 338 | 124k | } \ |
EpollEchoServerPubSub.cpp:_ZN5ofats13any_invocableIFvPN3uWS9WebSocketILb1ELb1EZ4testvE13PerSocketDataEEiNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEaSIZNS1_12TemplatedAppILb1EE2wsIS3_EEOSF_NS6_12basic_stringIcS9_NS6_9allocatorIcEEEEONSF_17WebSocketBehaviorIT_EEEUlS5_iSA_E_SQ_EENS6_9enable_ifIXaantsr3stdE9is_same_vIT0_SC_Esr3stdE23is_move_constructible_vISS_EERSC_E4typeEOSN_ Line | Count | Source | 335 | 5.39k | operator=(F&& f) { \ | 336 | 5.39k | any_invocable{std::forward<F>(f)}.swap(*this); \ | 337 | 5.39k | return *this; \ | 338 | 5.39k | } \ |
|
339 | | template <class F> \ |
340 | | any_invocable& operator=(std::reference_wrapper<F> f) { \ |
341 | | any_invocable{f}.swap(*this); \ |
342 | | return *this; \ |
343 | | } \ |
344 | | \ |
345 | 4.41M | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ |
346 | 4.41M | return base_type::call(std::forward<ArgTypes>(args)...); \ |
347 | 4.41M | } \ ofats::any_invocable<void ()>::operator()() Line | Count | Source | 345 | 5.39k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 5.39k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 5.39k | } \ |
ofats::any_invocable<void (uWS::Loop*)>::operator()(uWS::Loop*) Line | Count | Source | 345 | 2.59M | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 2.59M | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 2.59M | } \ |
Unexecuted instantiation: ofats::any_invocable<void (uWS::HttpResponse<true>*, int)>::operator()(uWS::HttpResponse<true>*, int) ofats::any_invocable<void* (void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)>::operator()(void*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool) Line | Count | Source | 345 | 18.8k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 18.8k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 18.8k | } \ |
ofats::any_invocable<void* (void*, uWS::HttpRequest*)>::operator()(void*, uWS::HttpRequest*) Line | Count | Source | 345 | 124k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 124k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 124k | } \ |
ofats::any_invocable<bool (uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*)>::operator()(uWS::HttpRouter<uWS::HttpContextData<true>::RouterData>*) Line | Count | Source | 345 | 129k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 129k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 129k | } \ |
Unexecuted instantiation: ofats::any_invocable<void (std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool)>::operator()(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool) Unexecuted instantiation: ofats::any_invocable<bool (unsigned long)>::operator()(unsigned long) ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*)>::operator()(uWS::HttpResponse<true>*, uWS::HttpRequest*) Line | Count | Source | 345 | 129k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 129k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 129k | } \ |
Unexecuted instantiation: ofats::any_invocable<void (uWS::WebSocket<true, true, int>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode)>::operator()(uWS::WebSocket<true, true, int>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode) Unexecuted instantiation: EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int)>::operator()(uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, int) EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)>::operator()(uWS::WebSocket<true, true, test()::PerSocketData>*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 345 | 210k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 210k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 210k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode)>::operator()(uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >, uWS::OpCode) Line | Count | Source | 345 | 1.07M | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 1.07M | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 1.07M | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >)>::operator()(uWS::WebSocket<true, true, test()::PerSocketData>*, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 345 | 5.73k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 5.73k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 5.73k | } \ |
EpollEchoServerPubSub.cpp:ofats::any_invocable<void (uWS::WebSocket<true, true, test()::PerSocketData>*)>::operator()(uWS::WebSocket<true, true, test()::PerSocketData>*) Line | Count | Source | 345 | 115k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 115k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 115k | } \ |
Unexecuted instantiation: ofats::any_invocable<void (uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*)>::operator()(uWS::HttpResponse<true>*, uWS::HttpRequest*, us_socket_context_t*) ofats::any_invocable<void (us_listen_socket_t*)>::operator()(us_listen_socket_t*) Line | Count | Source | 345 | 5.39k | R operator()(ArgTypes... args) cv ref noexcept(noex) { \ | 346 | 5.39k | return base_type::call(std::forward<ArgTypes>(args)...); \ | 347 | 5.39k | } \ |
|
348 | | }; |
349 | | |
350 | | // cv -> {`empty`, const} |
351 | | // ref -> {`empty`, &, &&} |
352 | | // noex -> {true, false} |
353 | | // inv_quals -> (is_empty(ref) ? & : ref) |
354 | | __OFATS_ANY_INVOCABLE(, , false, &) // 000 |
355 | | __OFATS_ANY_INVOCABLE(, , true, &) // 001 |
356 | | __OFATS_ANY_INVOCABLE(, &, false, &) // 010 |
357 | | __OFATS_ANY_INVOCABLE(, &, true, &) // 011 |
358 | | __OFATS_ANY_INVOCABLE(, &&, false, &&) // 020 |
359 | | __OFATS_ANY_INVOCABLE(, &&, true, &&) // 021 |
360 | | __OFATS_ANY_INVOCABLE(const, , false, const&) // 100 |
361 | | __OFATS_ANY_INVOCABLE(const, , true, const&) // 101 |
362 | | __OFATS_ANY_INVOCABLE(const, &, false, const&) // 110 |
363 | | __OFATS_ANY_INVOCABLE(const, &, true, const&) // 111 |
364 | | __OFATS_ANY_INVOCABLE(const, &&, false, const&&) // 120 |
365 | | __OFATS_ANY_INVOCABLE(const, &&, true, const&&) // 121 |
366 | | |
367 | | #undef __OFATS_ANY_INVOCABLE |
368 | | |
369 | | } // namespace ofats |
370 | | |
371 | | /* We, uWebSockets define our own type */ |
372 | | namespace uWS { |
373 | | template <class T> |
374 | | using MoveOnlyFunction = ofats::any_invocable<T>; |
375 | | } |
376 | | |
377 | | #endif // _ANY_INVOKABLE_H_ |