1515
1616namespace rtl ::dispatch
1717{
18- template <class ...args_t >
19- struct function_lambda <fn_void::no, erase::t_ctor, args_t ...> : lambda
20- {
21- // ditch all std::functions and use fn-pointer directly - what??? Yes!
22- using fptr_t = Return(*)(alloc, traits::normal_sign_t <args_t >&&...);
18+ template <class ...args_t >
19+ struct function_lambda <fn_void::no, erase::t_ctor, args_t ...> : lambda
20+ {
21+ // ditch all std::functions and use fn-pointer directly - what??? Yes!
22+ using fptr_t = Return(*)(alloc, traits::normal_sign_t <args_t >&&...);
2323
24- const fptr_t & get_hop () const {
25- return m_fptr;
26- }
24+ const fptr_t & f_ptr () const {
25+ return m_fptr;
26+ }
2727
28- private:
28+ private:
2929
30- void set_hop (const fptr_t & fptr) {
31- m_fptr = fptr;
32- }
30+ void init (const fptr_t & fptr) {
31+ m_fptr = fptr;
32+ }
3333
34- fptr_t m_fptr;
34+ fptr_t m_fptr;
3535
36- template <class , class ...>
37- friend struct dispatch ::function_ptr;
38- };
36+ template <class , class ...>
37+ friend struct dispatch ::function_ptr;
38+ };
3939}
4040
4141
4242namespace rtl ::dispatch
4343{
44- template <class ...args_t >
45- struct function_lambda <fn_void::yes, erase::t_return, args_t ...> : lambda
46- {
47- using fptr_t = void (*)(const functor&, traits::normal_sign_t <args_t >&&...);
44+ template <class ...args_t >
45+ struct function_lambda <fn_void::yes, erase::t_return, args_t ...> : lambda
46+ {
47+ using fptr_t = void (*)(const functor&, traits::normal_sign_t <args_t >&&...);
4848
49- fptr_t f_ptr () const {
50- return m_fptr;
51- }
49+ fptr_t f_ptr () const {
50+ return m_fptr;
51+ }
5252
53- private:
53+ private:
5454
55- void init (fptr_t fptr) {
56- m_fptr = fptr;
57- }
55+ void init (fptr_t fptr) {
56+ m_fptr = fptr;
57+ }
5858
59- fptr_t m_fptr;
59+ fptr_t m_fptr;
6060
61- template <class , class ...>
62- friend struct dispatch ::function_ptr;
63- };
61+ template <class , class ...>
62+ friend struct dispatch ::function_ptr;
63+ };
6464}
6565
6666
6767namespace rtl ::dispatch
6868{
69- template <class ...args_t >
70- struct function_lambda <fn_void::no, erase::t_return, args_t ...> : lambda
71- {
72- using fptr_t = std::any(*)(const functor&, traits::normal_sign_t <args_t >&&...);
69+ template <class ...args_t >
70+ struct function_lambda <fn_void::no, erase::t_return, args_t ...> : lambda
71+ {
72+ using fptr_t = std::any(*)(const functor&, traits::normal_sign_t <args_t >&&...);
7373
74- const fptr_t & get_hop () const {
75- return m_fptr;
76- }
74+ const fptr_t & f_ptr () const {
75+ return m_fptr;
76+ }
7777
78- private:
78+ private:
7979
80- void set_hop (const fptr_t & fptr) {
81- m_fptr = fptr;
82- }
80+ void init (const fptr_t & fptr) {
81+ m_fptr = fptr;
82+ }
8383
84- fptr_t m_fptr;
84+ fptr_t m_fptr;
8585
86- template <class , class ...>
87- friend struct dispatch ::function_ptr;
88- };
86+ template <class , class ...>
87+ friend struct dispatch ::function_ptr;
88+ };
8989}
9090
9191
9292namespace rtl ::dispatch
9393{
94- template <class ...args_t >
95- struct function_lambda <fn_void::yes, erase::t_method, args_t ...> : lambda
96- {
97- using fptr_t = void (*)(const functor&, const RObject&, traits::normal_sign_t <args_t >&&...);
98-
99- fptr_t f_ptr () const {
100- return m_fptr;
101- }
102-
103- private:
104-
105- void init (fptr_t fptr) {
106- m_fptr = fptr;
107- }
108-
109- fptr_t m_fptr;
110-
111- template <class , class , class ...>
112- friend struct dispatch ::method_ptr;
113- };
94+ template <class ...args_t >
95+ struct function_lambda <fn_void::yes, erase::t_method, args_t ...> : lambda
96+ {
97+ using fptr_t = void (*)(const functor&, const RObject&, traits::normal_sign_t <args_t >&&...);
98+
99+ fptr_t f_ptr () const {
100+ return m_fptr;
101+ }
102+
103+ private:
104+
105+ void init (fptr_t fptr) {
106+ m_fptr = fptr;
107+ }
108+
109+ fptr_t m_fptr;
110+
111+ template <class , class , class ...>
112+ friend struct dispatch ::method_ptr;
113+ };
114114}
115115
116116
117117namespace rtl ::dispatch
118118{
119- template <class ...args_t >
120- struct function_lambda <fn_void::no, erase::t_method, args_t ...> : lambda
121- {
122- using fptr_t = std::any(*)(const functor&, const RObject&, traits::normal_sign_t <args_t >&&...);
123-
124- const fptr_t & get_hop () const {
125- return m_fptr;
126- }
127-
128- private:
129-
130- void set_hop (const fptr_t & fptr) {
131- m_fptr = fptr;
132- }
133-
134- fptr_t m_fptr;
135-
136- template <class , class , class ...>
137- friend struct dispatch ::method_ptr;
138- };
119+ template <class ...args_t >
120+ struct function_lambda <fn_void::no, erase::t_method, args_t ...> : lambda
121+ {
122+ using fptr_t = std::any(*)(const functor&, const RObject&, traits::normal_sign_t <args_t >&&...);
123+
124+ const fptr_t & f_ptr () const {
125+ return m_fptr;
126+ }
127+
128+ private:
129+
130+ void init (const fptr_t & fptr) {
131+ m_fptr = fptr;
132+ }
133+
134+ fptr_t m_fptr;
135+
136+ template <class , class , class ...>
137+ friend struct dispatch ::method_ptr;
138+ };
139139}
0 commit comments