5 #ifndef _SIGXMACROS_TUNNEL_FUNCTOR_H_
6 #define _SIGXMACROS_TUNNEL_FUNCTOR_H_
31 #include <sigc++/sigc++.h>
43 template<sync_type I_sync,
typename T_functor>
81 template<
typename T_functor>
84 typedef typename sigc::adapts<T_functor>::adaptor_type
adaptor_type;
87 template<
typename T_arg1 =
void,
typename T_arg2 =
void,
typename T_arg3 =
void,
typename T_arg4 =
void,
typename T_arg5 =
void,
typename T_arg6 =
void,
typename T_arg7 =
void>
88 struct deduce_result_type
92 typedef typename adaptor_type::template deduce_result_type<typename sigc::type_trait<T_arg1>::pass,
typename sigc::type_trait<T_arg2>::pass,
typename sigc::type_trait<T_arg3>::pass,
typename sigc::type_trait<T_arg4>::pass,
typename sigc::type_trait<T_arg5>::pass,
typename sigc::type_trait<T_arg6>::pass,
typename sigc::type_trait<T_arg7>::pass>
::type type;
98 return make_new_tunnel_context<ASYNC, result_type>(m_disp, m_validity_tracker, this->functor_)->tunnel();
101 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
104 return make_new_tunnel_context<I_sync, result_type>(m_disp, m_validity_tracker, this->functor_)->tunnel();
108 template<
typename T_arg1>
109 typename deduce_result_type<T_arg1>::type
113 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
114 sigc::bind(this->functor_, _A_arg1))->tunnel();
117 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
118 template<
typename T_arg1>
119 typename deduce_result_type<T_arg1>::type
123 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
124 sigc::bind(this->functor_, _A_arg1))->tunnel();
128 template<
typename T_arg1,
typename T_arg2>
129 typename deduce_result_type<T_arg1, T_arg2>::type
133 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
134 sigc::bind(this->functor_, _A_arg1, _A_arg2))->tunnel();
137 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
138 template<
typename T_arg1,
typename T_arg2>
139 typename deduce_result_type<T_arg1, T_arg2>::type
143 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
144 sigc::bind(this->functor_, _A_arg1, _A_arg2))->tunnel();
148 template<
typename T_arg1,
typename T_arg2,
typename T_arg3>
149 typename deduce_result_type<T_arg1, T_arg2, T_arg3>::type
153 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
154 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3))->tunnel();
157 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
158 template<
typename T_arg1,
typename T_arg2,
typename T_arg3>
159 typename deduce_result_type<T_arg1, T_arg2, T_arg3>::type
163 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
164 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3))->tunnel();
168 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4>
169 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type
170 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4)
173 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
174 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3, _A_arg4))->tunnel();
177 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
178 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4>
179 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type
183 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
184 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3, _A_arg4))->tunnel();
188 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5>
189 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type
190 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5)
193 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
194 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5))->tunnel();
197 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
198 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5>
199 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type
203 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
204 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5))->tunnel();
208 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5,
typename T_arg6>
209 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type
210 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
213 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
214 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5, _A_arg6))->tunnel();
217 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
218 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5,
typename T_arg6>
219 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type
220 sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
223 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
224 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5, _A_arg6))->tunnel();
228 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5,
typename T_arg6,
typename T_arg7>
229 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type
230 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
233 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
234 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5, _A_arg6, _A_arg7))->tunnel();
237 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
238 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5,
typename T_arg6,
typename T_arg7>
239 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type
240 sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
243 return make_new_tunnel_context<ASYNC, deduced_result_type>(m_disp, m_validity_tracker,
244 sigc::bind(this->functor_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5, _A_arg6, _A_arg7))->tunnel();
260 sigc::adapts<T_functor>(_A_func),
281 validity_tracker().activate();
284 sigc::visit_each_type<sigc::trackable*>(
291 template<
typename T_functor>
297 template<
typename T_arg1 =
void,
typename T_arg2 =
void,
typename T_arg3 =
void,
typename T_arg4 =
void,
typename T_arg5 =
void,
typename T_arg6 =
void,
typename T_arg7 =
void>
298 struct deduce_result_type
302 typedef typename adaptor_type::template deduce_result_type<typename sigc::type_trait<T_arg1>::pass,
typename sigc::type_trait<T_arg2>::pass,
typename sigc::type_trait<T_arg3>::pass,
typename sigc::type_trait<T_arg4>::pass,
typename sigc::type_trait<T_arg5>::pass,
typename sigc::type_trait<T_arg6>::pass,
typename sigc::type_trait<T_arg7>::pass>
::type type;
308 return make_new_tunnel_context<SYNC, result_type>(m_disp, m_validity_tracker, this->functor_)->tunnel();
311 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
314 return make_new_tunnel_context<I_sync, result_type>(m_disp, m_validity_tracker, this->functor_)->tunnel();
318 template<
typename T_arg1>
319 typename deduce_result_type<T_arg1>::type
323 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
324 sigc::bind(this->functor_,
sigx::ref(_A_arg1)))->tunnel();
327 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
328 template<
typename T_arg1>
329 typename deduce_result_type<T_arg1>::type
333 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
334 sigc::bind(this->functor_,
sigx::ref(_A_arg1)))->tunnel();
338 template<
typename T_arg1,
typename T_arg2>
339 typename deduce_result_type<T_arg1, T_arg2>::type
343 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
347 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
348 template<
typename T_arg1,
typename T_arg2>
349 typename deduce_result_type<T_arg1, T_arg2>::type
353 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
358 template<
typename T_arg1,
typename T_arg2,
typename T_arg3>
359 typename deduce_result_type<T_arg1, T_arg2, T_arg3>::type
363 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
367 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
368 template<
typename T_arg1,
typename T_arg2,
typename T_arg3>
369 typename deduce_result_type<T_arg1, T_arg2, T_arg3>::type
373 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
378 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4>
379 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type
380 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4)
383 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
387 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
388 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4>
389 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type
393 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
398 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5>
399 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type
400 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5)
403 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
407 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
408 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5>
409 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type
413 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
418 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5,
typename T_arg6>
419 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type
420 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
423 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
427 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
428 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5,
typename T_arg6>
429 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type
430 sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
433 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
438 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5,
typename T_arg6,
typename T_arg7>
439 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type
440 operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
443 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
447 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
448 template<
typename T_arg1,
typename T_arg2,
typename T_arg3,
typename T_arg4,
typename T_arg5,
typename T_arg6,
typename T_arg7>
449 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type
450 sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
453 return make_new_tunnel_context<SYNC, deduced_result_type>(m_disp, m_validity_tracker,
470 sigc::adapts<T_functor>(_A_func),
491 validity_tracker().activate();
494 sigc::visit_each_type<sigc::trackable*>(
510 template<
typename T_functor>
514 return sigc::bind(sigc::hide(_A_func), d);
527 template<
typename T_functor>
528 tunnel_functor<ASYNC, T_functor>
543 template<
typename T_functor>
544 tunnel_functor<SYNC, T_functor>
560 template<
typename T_functor>
561 tunnel_functor<ASYNC, SIGX_DISPATCH_WITH_FUNCTOR(T_functor)>
577 template<
typename T_functor>
578 tunnel_functor<SYNC, SIGX_DISPATCH_WITH_FUNCTOR(T_functor)>
596 template<
typename T_action,
typename T_functor, sigx::sync_type I_sync>
deduce_result_type< T_arg1 >::type operator()(T_arg1 _A_arg1)
Definition: tunnel_functor.h:320
sigc::adapts< T_functor >::adaptor_type adaptor_type
Definition: tunnel_functor.h:84
adaptor_type::template deduce_result_type< typename sigc::type_trait< T_arg1 >::pass, typename sigc::type_trait< T_arg2 >::pass, typename sigc::type_trait< T_arg3 >::pass, typename sigc::type_trait< T_arg4 >::pass, typename sigc::type_trait< T_arg5 >::pass, typename sigc::type_trait< T_arg6 >::pass, typename sigc::type_trait< T_arg7 >::pass >::type type
Definition: tunnel_functor.h:302
deduce_result_type< T_arg1, T_arg2, T_arg3 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3)
Definition: tunnel_functor.h:360
tunnel_functor< SYNC, T_functor > open_sync_tunnel(const T_functor &_A_func)
Opens a synchronous tunnel on the specified functor.
Definition: tunnel_functor.h:545
deduce_result_type< T_arg1, T_arg2, T_arg3 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3)
Definition: tunnel_functor.h:370
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
Definition: tunnel_functor.h:230
void do_bind_to_trackable(const sigc::trackable *t) const
Adds a dependency to t.
Definition: tunnel_validity_tracker.cpp:202
result_type sun_forte_workaround()
Definition: tunnel_functor.h:312
dispatch_with(const T_functor &_A_func, const shared_dispatchable &d)
Binds a dispatchable explicitly to a functor.
Definition: tunnel_functor.h:512
tunnel_functor< ASYNC, SIGX_DISPATCH_WITH_FUNCTOR(T_functor)> open_tunnel_with(const T_functor &_A_func, const shared_dispatchable &d)
Opens an asynchronous tunnel on the specified functor with the dispatcher of the specified dispatchab...
Definition: tunnel_functor.h:562
deduce_result_type< T_arg1, T_arg2 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2)
Definition: tunnel_functor.h:350
creates a tunnel on the given functor.
Definition: tunnel_functor.h:82
adaptor_type::result_type result_type
Definition: tunnel_functor.h:295
result_type operator()()
Definition: tunnel_functor.h:96
result_type operator()()
Definition: tunnel_functor.h:306
adaptor_type::result_type result_type
Definition: tunnel_functor.h:85
Definition: tunnel_functor.h:44
deduce_result_type< T_arg1, T_arg2 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2)
Definition: tunnel_functor.h:140
deduce_result_type< T_arg1, T_arg2, T_arg3 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3)
Definition: tunnel_functor.h:160
deduce_result_type< T_arg1 >::type sun_forte_workaround(T_arg1 _A_arg1)
Definition: tunnel_functor.h:120
sigc::adapts< T_functor >::adaptor_type adaptor_type
Definition: tunnel_functor.h:294
Definition: tunnel_functor.h:292
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
Definition: tunnel_functor.h:240
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
Definition: tunnel_functor.h:420
A hint to the compiler that the functor is a tunnel_functor.
Definition: tunnel_base.h:39
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
Definition: tunnel_functor.h:430
tunnel_functor< SYNC, SIGX_DISPATCH_WITH_FUNCTOR(T_functor)> open_sync_tunnel_with(const T_functor &_A_func, const shared_dispatchable &d)
Opens a synchronous tunnel on the specified functor with the dispatcher of the specified dispatchable...
Definition: tunnel_functor.h:579
tunnel_functor(typename sigc::type_trait< T_functor >::take _A_func)
Constructs an adaptor that wraps the passed functor.
Definition: tunnel_functor.h:259
tunnel_functor(typename sigc::type_trait< T_functor >::take _A_func)
Constructs an adaptor that wraps the passed functor.
Definition: tunnel_functor.h:469
void activate_validity_tracking() const
Activates validity tracking for sigc::trackableS and tracking of a dispatcher change (e...
Definition: tunnel_functor.h:489
result_type sun_forte_workaround()
Definition: tunnel_functor.h:102
deduce_result_type< T_arg1, T_arg2 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2)
Definition: tunnel_functor.h:340
adaptor_type::template deduce_result_type< typename sigc::type_trait< T_arg1 >::pass, typename sigc::type_trait< T_arg2 >::pass, typename sigc::type_trait< T_arg3 >::pass, typename sigc::type_trait< T_arg4 >::pass, typename sigc::type_trait< T_arg5 >::pass, typename sigc::type_trait< T_arg6 >::pass, typename sigc::type_trait< T_arg7 >::pass >::type type
Definition: tunnel_functor.h:92
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
Definition: tunnel_functor.h:440
tunnel_functor< ASYNC, T_functor > open_tunnel(const T_functor &_A_func)
Opens an asynchronous tunnel on the specified functor.
Definition: tunnel_functor.h:529
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5)
Definition: tunnel_functor.h:400
#define SIGX_DISPATCH_WITH_FUNCTOR(T_functor)
Definition: internal_types.h:41
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4)
Definition: tunnel_functor.h:390
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4)
Definition: tunnel_functor.h:380
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5)
Definition: tunnel_functor.h:410
sigc::reference_wrapper< T_type > ref(T_type &v)
Definition: ref.h:38
void visit_each(const T_action &, const sigx::tunnel_functor< I_sync, T_functor > &)
visit_each overload for tunnel functors, completely turning off the visit_each mechanism and thus tur...
Definition: tunnel_functor.h:597
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
Definition: tunnel_functor.h:220
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5)
Definition: tunnel_functor.h:190
void activate_validity_tracking() const
Activates validity tracking for sigc::trackableS and tracking of a dispatcher change (e...
Definition: tunnel_functor.h:279
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4)
Definition: tunnel_functor.h:170
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5)
Definition: tunnel_functor.h:200
deduce_result_type< T_arg1, T_arg2, T_arg3 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3)
Definition: tunnel_functor.h:150
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6)
Definition: tunnel_functor.h:210
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4)
Definition: tunnel_functor.h:180
thread safe dispatcher reference that can be passed around.
Definition: shared_dispatchable.h:50
deduce_result_type< T_arg1, T_arg2 >::type operator()(T_arg1 _A_arg1, T_arg2 _A_arg2)
Definition: tunnel_functor.h:130
deduce_result_type< T_arg1 >::type operator()(T_arg1 _A_arg1)
Definition: tunnel_functor.h:110
deduce_result_type< T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::type sun_forte_workaround(T_arg1 _A_arg1, T_arg2 _A_arg2, T_arg3 _A_arg3, T_arg4 _A_arg4, T_arg5 _A_arg5, T_arg6 _A_arg6, T_arg7 _A_arg7)
Definition: tunnel_functor.h:450
deduce_result_type< T_arg1 >::type sun_forte_workaround(T_arg1 _A_arg1)
Definition: tunnel_functor.h:330