2 /* Do not edit! -- generated file */
3 #ifndef _SIGC_ADAPTORS_RETYPE_H_
4 #define _SIGC_ADAPTORS_RETYPE_H_
5 #include <sigc++/adaptors/adaptor_trait.h>
6 #include <sigc++/functors/ptr_fun.h>
7 #include <sigc++/functors/mem_fun.h>
8 #include <sigc++/functors/slot.h>
10 //TODO: See comment in functor_trait.h.
11 #if defined(nil) && defined(SIGC_PRAGMA_PUSH_POP_MACRO)
12 #define SIGC_NIL_HAS_BEEN_PUSHED 1
13 #pragma push_macro("nil")
19 /** @defgroup retype retype(), retype_return()
20 * sigc::retype() alters a sigc::pointer_functor, a sigc::mem_functor or a sigc::slot
21 * in that it makes C-style casts to the functor's parameter types
22 * of all parameters passed through operator()().
24 * Use this adaptor for inline conversion between numeric or other simple types.
28 * sigc::retype(sigc::ptr_fun(&foo))(5.7F); // calls foo(5)
31 * The functor that sigc::retype() returns can be passed directly into
32 * sigc::signal::connect().
36 * sigc::signal<void,float> some_signal;
38 * some_signal.connect(sigc::retype(sigc::ptr_fun(&foo)));
41 * This adaptor builds an exception in that it only works on sig::pointer_functor,
42 * sigc::mem_functor and sigc::slot because it needs sophisticated information about
43 * the parameter types that cannot be deduced from arbitrary functor types.
45 * sigc::retype_return() alters the return type of an arbitrary functor.
46 * Like in sigc::retype() a C-style cast is performed. Usage sigc::retype_return() is
47 * not restricted to libsigc++ functor types but you need to
48 * specify the new return type as a template parameter.
53 * std::cout << sigc::retype_return<int>(&foo)(); // converts foo's return value to an integer
59 /** Adaptor that performs C-style casts on the parameters passed on to the functor.
60 * Use the convenience function sigc::retype() to create an instance of retype_functor.
62 * The following template arguments are used:
63 * - @e T_functor Type of the functor to wrap.
64 * - @e T_type1 Type of @e T_functor's 1th argument.
65 * - @e T_type2 Type of @e T_functor's 2th argument.
66 * - @e T_type3 Type of @e T_functor's 3th argument.
67 * - @e T_type4 Type of @e T_functor's 4th argument.
68 * - @e T_type5 Type of @e T_functor's 5th argument.
69 * - @e T_type6 Type of @e T_functor's 6th argument.
70 * - @e T_type7 Type of @e T_functor's 7th argument.
74 template <class T_functor, class T_type1=nil, class T_type2=nil, class T_type3=nil, class T_type4=nil, class T_type5=nil, class T_type6=nil, class T_type7=nil>
76 : public adapts<T_functor>
78 typedef typename adapts<T_functor>::adaptor_type adaptor_type;
80 #ifndef DOXYGEN_SHOULD_SKIP_THIS
81 template <class T_arg1=void, class T_arg2=void, class T_arg3=void, class T_arg4=void, class T_arg5=void, class T_arg6=void, class T_arg7=void>
82 struct deduce_result_type
83 { typedef typename adaptor_type::template deduce_result_type<type_trait_pass_t<T_arg1>, type_trait_pass_t<T_arg2>, type_trait_pass_t<T_arg3>, type_trait_pass_t<T_arg4>, type_trait_pass_t<T_arg5>, type_trait_pass_t<T_arg6>, type_trait_pass_t<T_arg7>>::type type; };
85 typedef typename adapts<T_functor>::result_type result_type;
87 result_type operator()();
89 template <class T_arg1>
90 typename deduce_result_type<T_arg1>::type
91 operator()(T_arg1 _A_a1)
92 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>>
93 (static_cast<T_type1>(_A_a1));
96 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
97 template <class T_arg1>
98 typename deduce_result_type<T_arg1>::type
99 sun_forte_workaround(T_arg1 _A_a1)
100 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>>
101 (static_cast<T_type1>(_A_a1));
105 template <class T_arg1, class T_arg2>
106 typename deduce_result_type<T_arg1, T_arg2>::type
107 operator()(T_arg1 _A_a1, T_arg2 _A_a2)
108 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>>
109 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2));
112 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
113 template <class T_arg1, class T_arg2>
114 typename deduce_result_type<T_arg1, T_arg2>::type
115 sun_forte_workaround(T_arg1 _A_a1, T_arg2 _A_a2)
116 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>>
117 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2));
121 template <class T_arg1, class T_arg2, class T_arg3>
122 typename deduce_result_type<T_arg1, T_arg2, T_arg3>::type
123 operator()(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3)
124 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>>
125 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3));
128 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
129 template <class T_arg1, class T_arg2, class T_arg3>
130 typename deduce_result_type<T_arg1, T_arg2, T_arg3>::type
131 sun_forte_workaround(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3)
132 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>>
133 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3));
137 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4>
138 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type
139 operator()(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3, T_arg4 _A_a4)
140 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>, type_trait_take_t<T_type4>>
141 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3), static_cast<T_type4>(_A_a4));
144 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
145 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4>
146 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4>::type
147 sun_forte_workaround(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3, T_arg4 _A_a4)
148 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>, type_trait_take_t<T_type4>>
149 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3), static_cast<T_type4>(_A_a4));
153 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
154 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type
155 operator()(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3, T_arg4 _A_a4, T_arg5 _A_a5)
156 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>, type_trait_take_t<T_type4>, type_trait_take_t<T_type5>>
157 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3), static_cast<T_type4>(_A_a4), static_cast<T_type5>(_A_a5));
160 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
161 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
162 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>::type
163 sun_forte_workaround(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3, T_arg4 _A_a4, T_arg5 _A_a5)
164 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>, type_trait_take_t<T_type4>, type_trait_take_t<T_type5>>
165 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3), static_cast<T_type4>(_A_a4), static_cast<T_type5>(_A_a5));
169 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
170 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type
171 operator()(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3, T_arg4 _A_a4, T_arg5 _A_a5, T_arg6 _A_a6)
172 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>, type_trait_take_t<T_type4>, type_trait_take_t<T_type5>, type_trait_take_t<T_type6>>
173 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3), static_cast<T_type4>(_A_a4), static_cast<T_type5>(_A_a5), static_cast<T_type6>(_A_a6));
176 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
177 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
178 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>::type
179 sun_forte_workaround(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3, T_arg4 _A_a4, T_arg5 _A_a5, T_arg6 _A_a6)
180 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>, type_trait_take_t<T_type4>, type_trait_take_t<T_type5>, type_trait_take_t<T_type6>>
181 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3), static_cast<T_type4>(_A_a4), static_cast<T_type5>(_A_a5), static_cast<T_type6>(_A_a6));
185 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
186 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type
187 operator()(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3, T_arg4 _A_a4, T_arg5 _A_a5, T_arg6 _A_a6, T_arg7 _A_a7)
188 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>, type_trait_take_t<T_type4>, type_trait_take_t<T_type5>, type_trait_take_t<T_type6>, type_trait_take_t<T_type7>>
189 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3), static_cast<T_type4>(_A_a4), static_cast<T_type5>(_A_a5), static_cast<T_type6>(_A_a6), static_cast<T_type7>(_A_a7));
192 #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
193 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
194 typename deduce_result_type<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::type
195 sun_forte_workaround(T_arg1 _A_a1, T_arg2 _A_a2, T_arg3 _A_a3, T_arg4 _A_a4, T_arg5 _A_a5, T_arg6 _A_a6, T_arg7 _A_a7)
196 { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<type_trait_take_t<T_type1>, type_trait_take_t<T_type2>, type_trait_take_t<T_type3>, type_trait_take_t<T_type4>, type_trait_take_t<T_type5>, type_trait_take_t<T_type6>, type_trait_take_t<T_type7>>
197 (static_cast<T_type1>(_A_a1), static_cast<T_type2>(_A_a2), static_cast<T_type3>(_A_a3), static_cast<T_type4>(_A_a4), static_cast<T_type5>(_A_a5), static_cast<T_type6>(_A_a6), static_cast<T_type7>(_A_a7));
202 /** Constructs a retype_functor object that performs C-style casts on the parameters passed on to the functor.
203 * @param _A_functor Functor to invoke from operator()().
205 explicit retype_functor(type_trait_take_t<T_functor> _A_functor)
206 : adapts<T_functor>(_A_functor)
210 template <class T_functor, class T_type1, class T_type2, class T_type3, class T_type4, class T_type5, class T_type6, class T_type7>
211 typename retype_functor<T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7>::result_type
212 retype_functor<T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7>::operator()()
213 { return this->functor_(); }
215 #ifndef DOXYGEN_SHOULD_SKIP_THIS
216 //template specialization of visitor<>::do_visit_each<>(action, functor):
217 /** Performs a functor on each of the targets of a functor.
218 * The function overload for sigc::retype_functor performs a functor on the
219 * functor stored in the sigc::retype_functor object.
223 template <class T_functor, class T_type1, class T_type2, class T_type3, class T_type4, class T_type5, class T_type6, class T_type7>
224 struct visitor<retype_functor<T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7> >
226 template <typename T_action>
227 static void do_visit_each(const T_action& _A_action,
228 const retype_functor<T_functor, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7>& _A_target)
230 sigc::visit_each(_A_action, _A_target.functor_);
233 #endif // DOXYGEN_SHOULD_SKIP_THIS
235 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
236 * This function template specialization works on sigc::slot.
238 * @param _A_functor Functor that should be wrapped.
239 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
243 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
244 inline retype_functor<slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
245 retype(const slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
246 { return retype_functor<slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
250 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
251 * This function template specialization works on sigc::pointer_functor.
253 * @param _A_functor Functor that should be wrapped.
254 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
258 template <class T_return>
259 inline retype_functor<pointer_functor0<T_return> >
260 retype(const pointer_functor0<T_return>& _A_functor)
261 { return retype_functor<pointer_functor0<T_return> >
264 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
265 * This function template specialization works on sigc::pointer_functor.
267 * @param _A_functor Functor that should be wrapped.
268 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
272 template <class T_arg1, class T_return>
273 inline retype_functor<pointer_functor1<T_arg1, T_return>, T_arg1 >
274 retype(const pointer_functor1<T_arg1, T_return>& _A_functor)
275 { return retype_functor<pointer_functor1<T_arg1, T_return>, T_arg1 >
278 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
279 * This function template specialization works on sigc::pointer_functor.
281 * @param _A_functor Functor that should be wrapped.
282 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
286 template <class T_arg1, class T_arg2, class T_return>
287 inline retype_functor<pointer_functor2<T_arg1, T_arg2, T_return>, T_arg1, T_arg2 >
288 retype(const pointer_functor2<T_arg1, T_arg2, T_return>& _A_functor)
289 { return retype_functor<pointer_functor2<T_arg1, T_arg2, T_return>, T_arg1, T_arg2 >
292 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
293 * This function template specialization works on sigc::pointer_functor.
295 * @param _A_functor Functor that should be wrapped.
296 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
300 template <class T_arg1, class T_arg2, class T_arg3, class T_return>
301 inline retype_functor<pointer_functor3<T_arg1, T_arg2, T_arg3, T_return>, T_arg1, T_arg2, T_arg3 >
302 retype(const pointer_functor3<T_arg1, T_arg2, T_arg3, T_return>& _A_functor)
303 { return retype_functor<pointer_functor3<T_arg1, T_arg2, T_arg3, T_return>, T_arg1, T_arg2, T_arg3 >
306 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
307 * This function template specialization works on sigc::pointer_functor.
309 * @param _A_functor Functor that should be wrapped.
310 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
314 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return>
315 inline retype_functor<pointer_functor4<T_arg1, T_arg2, T_arg3, T_arg4, T_return>, T_arg1, T_arg2, T_arg3, T_arg4 >
316 retype(const pointer_functor4<T_arg1, T_arg2, T_arg3, T_arg4, T_return>& _A_functor)
317 { return retype_functor<pointer_functor4<T_arg1, T_arg2, T_arg3, T_arg4, T_return>, T_arg1, T_arg2, T_arg3, T_arg4 >
320 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
321 * This function template specialization works on sigc::pointer_functor.
323 * @param _A_functor Functor that should be wrapped.
324 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
328 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return>
329 inline retype_functor<pointer_functor5<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_return>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
330 retype(const pointer_functor5<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_return>& _A_functor)
331 { return retype_functor<pointer_functor5<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_return>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
334 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
335 * This function template specialization works on sigc::pointer_functor.
337 * @param _A_functor Functor that should be wrapped.
338 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
342 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return>
343 inline retype_functor<pointer_functor6<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_return>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
344 retype(const pointer_functor6<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_return>& _A_functor)
345 { return retype_functor<pointer_functor6<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_return>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
348 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
349 * This function template specialization works on sigc::pointer_functor.
351 * @param _A_functor Functor that should be wrapped.
352 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
356 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7, class T_return>
357 inline retype_functor<pointer_functor7<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_return>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
358 retype(const pointer_functor7<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_return>& _A_functor)
359 { return retype_functor<pointer_functor7<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_return>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
363 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
364 * This function template specialization works on sigc::mem_functor.
366 * @param _A_functor Functor that should be wrapped.
367 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
371 template <class T_return, class T_obj>
372 inline retype_functor<mem_functor0<T_return, T_obj> >
373 retype(const mem_functor0<T_return, T_obj>& _A_functor)
374 { return retype_functor<mem_functor0<T_return, T_obj> >
377 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
378 * This function template specialization works on sigc::mem_functor.
380 * @param _A_functor Functor that should be wrapped.
381 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
385 template <class T_return, class T_obj, class T_arg1>
386 inline retype_functor<mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
387 retype(const mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
388 { return retype_functor<mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
391 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
392 * This function template specialization works on sigc::mem_functor.
394 * @param _A_functor Functor that should be wrapped.
395 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
399 template <class T_return, class T_obj, class T_arg1, class T_arg2>
400 inline retype_functor<mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
401 retype(const mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_functor)
402 { return retype_functor<mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
405 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
406 * This function template specialization works on sigc::mem_functor.
408 * @param _A_functor Functor that should be wrapped.
409 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
413 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
414 inline retype_functor<mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
415 retype(const mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_functor)
416 { return retype_functor<mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
419 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
420 * This function template specialization works on sigc::mem_functor.
422 * @param _A_functor Functor that should be wrapped.
423 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
427 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
428 inline retype_functor<mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
429 retype(const mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_functor)
430 { return retype_functor<mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
433 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
434 * This function template specialization works on sigc::mem_functor.
436 * @param _A_functor Functor that should be wrapped.
437 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
441 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
442 inline retype_functor<mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
443 retype(const mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_functor)
444 { return retype_functor<mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
447 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
448 * This function template specialization works on sigc::mem_functor.
450 * @param _A_functor Functor that should be wrapped.
451 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
455 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
456 inline retype_functor<mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
457 retype(const mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_functor)
458 { return retype_functor<mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
461 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
462 * This function template specialization works on sigc::mem_functor.
464 * @param _A_functor Functor that should be wrapped.
465 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
469 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
470 inline retype_functor<mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
471 retype(const mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
472 { return retype_functor<mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
475 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
476 * This function template specialization works on sigc::const_mem_functor.
478 * @param _A_functor Functor that should be wrapped.
479 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
483 template <class T_return, class T_obj>
484 inline retype_functor<const_mem_functor0<T_return, T_obj> >
485 retype(const const_mem_functor0<T_return, T_obj>& _A_functor)
486 { return retype_functor<const_mem_functor0<T_return, T_obj> >
489 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
490 * This function template specialization works on sigc::const_mem_functor.
492 * @param _A_functor Functor that should be wrapped.
493 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
497 template <class T_return, class T_obj, class T_arg1>
498 inline retype_functor<const_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
499 retype(const const_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
500 { return retype_functor<const_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
503 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
504 * This function template specialization works on sigc::const_mem_functor.
506 * @param _A_functor Functor that should be wrapped.
507 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
511 template <class T_return, class T_obj, class T_arg1, class T_arg2>
512 inline retype_functor<const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
513 retype(const const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_functor)
514 { return retype_functor<const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
517 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
518 * This function template specialization works on sigc::const_mem_functor.
520 * @param _A_functor Functor that should be wrapped.
521 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
525 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
526 inline retype_functor<const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
527 retype(const const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_functor)
528 { return retype_functor<const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
531 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
532 * This function template specialization works on sigc::const_mem_functor.
534 * @param _A_functor Functor that should be wrapped.
535 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
539 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
540 inline retype_functor<const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
541 retype(const const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_functor)
542 { return retype_functor<const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
545 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
546 * This function template specialization works on sigc::const_mem_functor.
548 * @param _A_functor Functor that should be wrapped.
549 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
553 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
554 inline retype_functor<const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
555 retype(const const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_functor)
556 { return retype_functor<const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
559 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
560 * This function template specialization works on sigc::const_mem_functor.
562 * @param _A_functor Functor that should be wrapped.
563 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
567 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
568 inline retype_functor<const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
569 retype(const const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_functor)
570 { return retype_functor<const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
573 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
574 * This function template specialization works on sigc::const_mem_functor.
576 * @param _A_functor Functor that should be wrapped.
577 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
581 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
582 inline retype_functor<const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
583 retype(const const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
584 { return retype_functor<const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
587 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
588 * This function template specialization works on sigc::volatile_mem_functor.
590 * @param _A_functor Functor that should be wrapped.
591 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
595 template <class T_return, class T_obj>
596 inline retype_functor<volatile_mem_functor0<T_return, T_obj> >
597 retype(const volatile_mem_functor0<T_return, T_obj>& _A_functor)
598 { return retype_functor<volatile_mem_functor0<T_return, T_obj> >
601 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
602 * This function template specialization works on sigc::volatile_mem_functor.
604 * @param _A_functor Functor that should be wrapped.
605 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
609 template <class T_return, class T_obj, class T_arg1>
610 inline retype_functor<volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
611 retype(const volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
612 { return retype_functor<volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
615 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
616 * This function template specialization works on sigc::volatile_mem_functor.
618 * @param _A_functor Functor that should be wrapped.
619 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
623 template <class T_return, class T_obj, class T_arg1, class T_arg2>
624 inline retype_functor<volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
625 retype(const volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_functor)
626 { return retype_functor<volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
629 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
630 * This function template specialization works on sigc::volatile_mem_functor.
632 * @param _A_functor Functor that should be wrapped.
633 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
637 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
638 inline retype_functor<volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
639 retype(const volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_functor)
640 { return retype_functor<volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
643 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
644 * This function template specialization works on sigc::volatile_mem_functor.
646 * @param _A_functor Functor that should be wrapped.
647 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
651 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
652 inline retype_functor<volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
653 retype(const volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_functor)
654 { return retype_functor<volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
657 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
658 * This function template specialization works on sigc::volatile_mem_functor.
660 * @param _A_functor Functor that should be wrapped.
661 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
665 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
666 inline retype_functor<volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
667 retype(const volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_functor)
668 { return retype_functor<volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
671 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
672 * This function template specialization works on sigc::volatile_mem_functor.
674 * @param _A_functor Functor that should be wrapped.
675 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
679 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
680 inline retype_functor<volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
681 retype(const volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_functor)
682 { return retype_functor<volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
685 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
686 * This function template specialization works on sigc::volatile_mem_functor.
688 * @param _A_functor Functor that should be wrapped.
689 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
693 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
694 inline retype_functor<volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
695 retype(const volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
696 { return retype_functor<volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
699 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
700 * This function template specialization works on sigc::const_volatile_mem_functor.
702 * @param _A_functor Functor that should be wrapped.
703 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
707 template <class T_return, class T_obj>
708 inline retype_functor<const_volatile_mem_functor0<T_return, T_obj> >
709 retype(const const_volatile_mem_functor0<T_return, T_obj>& _A_functor)
710 { return retype_functor<const_volatile_mem_functor0<T_return, T_obj> >
713 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
714 * This function template specialization works on sigc::const_volatile_mem_functor.
716 * @param _A_functor Functor that should be wrapped.
717 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
721 template <class T_return, class T_obj, class T_arg1>
722 inline retype_functor<const_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
723 retype(const const_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
724 { return retype_functor<const_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
727 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
728 * This function template specialization works on sigc::const_volatile_mem_functor.
730 * @param _A_functor Functor that should be wrapped.
731 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
735 template <class T_return, class T_obj, class T_arg1, class T_arg2>
736 inline retype_functor<const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
737 retype(const const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_functor)
738 { return retype_functor<const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
741 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
742 * This function template specialization works on sigc::const_volatile_mem_functor.
744 * @param _A_functor Functor that should be wrapped.
745 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
749 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
750 inline retype_functor<const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
751 retype(const const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_functor)
752 { return retype_functor<const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
755 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
756 * This function template specialization works on sigc::const_volatile_mem_functor.
758 * @param _A_functor Functor that should be wrapped.
759 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
763 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
764 inline retype_functor<const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
765 retype(const const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_functor)
766 { return retype_functor<const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
769 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
770 * This function template specialization works on sigc::const_volatile_mem_functor.
772 * @param _A_functor Functor that should be wrapped.
773 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
777 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
778 inline retype_functor<const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
779 retype(const const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_functor)
780 { return retype_functor<const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
783 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
784 * This function template specialization works on sigc::const_volatile_mem_functor.
786 * @param _A_functor Functor that should be wrapped.
787 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
791 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
792 inline retype_functor<const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
793 retype(const const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_functor)
794 { return retype_functor<const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
797 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
798 * This function template specialization works on sigc::const_volatile_mem_functor.
800 * @param _A_functor Functor that should be wrapped.
801 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
805 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
806 inline retype_functor<const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
807 retype(const const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
808 { return retype_functor<const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
811 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
812 * This function template specialization works on sigc::bound_mem_functor.
814 * @param _A_functor Functor that should be wrapped.
815 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
819 template <class T_return, class T_obj>
820 inline retype_functor<bound_mem_functor0<T_return, T_obj> >
821 retype(const bound_mem_functor0<T_return, T_obj>& _A_functor)
822 { return retype_functor<bound_mem_functor0<T_return, T_obj> >
825 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
826 * This function template specialization works on sigc::bound_mem_functor.
828 * @param _A_functor Functor that should be wrapped.
829 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
833 template <class T_return, class T_obj, class T_arg1>
834 inline retype_functor<bound_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
835 retype(const bound_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
836 { return retype_functor<bound_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
839 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
840 * This function template specialization works on sigc::bound_mem_functor.
842 * @param _A_functor Functor that should be wrapped.
843 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
847 template <class T_return, class T_obj, class T_arg1, class T_arg2>
848 inline retype_functor<bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
849 retype(const bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_functor)
850 { return retype_functor<bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
853 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
854 * This function template specialization works on sigc::bound_mem_functor.
856 * @param _A_functor Functor that should be wrapped.
857 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
861 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
862 inline retype_functor<bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
863 retype(const bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_functor)
864 { return retype_functor<bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
867 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
868 * This function template specialization works on sigc::bound_mem_functor.
870 * @param _A_functor Functor that should be wrapped.
871 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
875 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
876 inline retype_functor<bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
877 retype(const bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_functor)
878 { return retype_functor<bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
881 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
882 * This function template specialization works on sigc::bound_mem_functor.
884 * @param _A_functor Functor that should be wrapped.
885 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
889 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
890 inline retype_functor<bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
891 retype(const bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_functor)
892 { return retype_functor<bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
895 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
896 * This function template specialization works on sigc::bound_mem_functor.
898 * @param _A_functor Functor that should be wrapped.
899 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
903 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
904 inline retype_functor<bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
905 retype(const bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_functor)
906 { return retype_functor<bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
909 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
910 * This function template specialization works on sigc::bound_mem_functor.
912 * @param _A_functor Functor that should be wrapped.
913 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
917 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
918 inline retype_functor<bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
919 retype(const bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
920 { return retype_functor<bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
923 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
924 * This function template specialization works on sigc::bound_const_mem_functor.
926 * @param _A_functor Functor that should be wrapped.
927 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
931 template <class T_return, class T_obj>
932 inline retype_functor<bound_const_mem_functor0<T_return, T_obj> >
933 retype(const bound_const_mem_functor0<T_return, T_obj>& _A_functor)
934 { return retype_functor<bound_const_mem_functor0<T_return, T_obj> >
937 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
938 * This function template specialization works on sigc::bound_const_mem_functor.
940 * @param _A_functor Functor that should be wrapped.
941 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
945 template <class T_return, class T_obj, class T_arg1>
946 inline retype_functor<bound_const_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
947 retype(const bound_const_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
948 { return retype_functor<bound_const_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
951 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
952 * This function template specialization works on sigc::bound_const_mem_functor.
954 * @param _A_functor Functor that should be wrapped.
955 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
959 template <class T_return, class T_obj, class T_arg1, class T_arg2>
960 inline retype_functor<bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
961 retype(const bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_functor)
962 { return retype_functor<bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
965 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
966 * This function template specialization works on sigc::bound_const_mem_functor.
968 * @param _A_functor Functor that should be wrapped.
969 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
973 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
974 inline retype_functor<bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
975 retype(const bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_functor)
976 { return retype_functor<bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
979 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
980 * This function template specialization works on sigc::bound_const_mem_functor.
982 * @param _A_functor Functor that should be wrapped.
983 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
987 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
988 inline retype_functor<bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
989 retype(const bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_functor)
990 { return retype_functor<bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
993 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
994 * This function template specialization works on sigc::bound_const_mem_functor.
996 * @param _A_functor Functor that should be wrapped.
997 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1001 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
1002 inline retype_functor<bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
1003 retype(const bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_functor)
1004 { return retype_functor<bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
1007 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1008 * This function template specialization works on sigc::bound_const_mem_functor.
1010 * @param _A_functor Functor that should be wrapped.
1011 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1015 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
1016 inline retype_functor<bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
1017 retype(const bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_functor)
1018 { return retype_functor<bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
1021 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1022 * This function template specialization works on sigc::bound_const_mem_functor.
1024 * @param _A_functor Functor that should be wrapped.
1025 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1029 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
1030 inline retype_functor<bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
1031 retype(const bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
1032 { return retype_functor<bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
1035 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1036 * This function template specialization works on sigc::bound_volatile_mem_functor.
1038 * @param _A_functor Functor that should be wrapped.
1039 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1043 template <class T_return, class T_obj>
1044 inline retype_functor<bound_volatile_mem_functor0<T_return, T_obj> >
1045 retype(const bound_volatile_mem_functor0<T_return, T_obj>& _A_functor)
1046 { return retype_functor<bound_volatile_mem_functor0<T_return, T_obj> >
1049 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1050 * This function template specialization works on sigc::bound_volatile_mem_functor.
1052 * @param _A_functor Functor that should be wrapped.
1053 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1057 template <class T_return, class T_obj, class T_arg1>
1058 inline retype_functor<bound_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
1059 retype(const bound_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
1060 { return retype_functor<bound_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
1063 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1064 * This function template specialization works on sigc::bound_volatile_mem_functor.
1066 * @param _A_functor Functor that should be wrapped.
1067 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1071 template <class T_return, class T_obj, class T_arg1, class T_arg2>
1072 inline retype_functor<bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
1073 retype(const bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_functor)
1074 { return retype_functor<bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
1077 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1078 * This function template specialization works on sigc::bound_volatile_mem_functor.
1080 * @param _A_functor Functor that should be wrapped.
1081 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1085 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
1086 inline retype_functor<bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
1087 retype(const bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_functor)
1088 { return retype_functor<bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
1091 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1092 * This function template specialization works on sigc::bound_volatile_mem_functor.
1094 * @param _A_functor Functor that should be wrapped.
1095 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1099 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
1100 inline retype_functor<bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
1101 retype(const bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_functor)
1102 { return retype_functor<bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
1105 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1106 * This function template specialization works on sigc::bound_volatile_mem_functor.
1108 * @param _A_functor Functor that should be wrapped.
1109 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1113 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
1114 inline retype_functor<bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
1115 retype(const bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_functor)
1116 { return retype_functor<bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
1119 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1120 * This function template specialization works on sigc::bound_volatile_mem_functor.
1122 * @param _A_functor Functor that should be wrapped.
1123 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1127 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
1128 inline retype_functor<bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
1129 retype(const bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_functor)
1130 { return retype_functor<bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
1133 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1134 * This function template specialization works on sigc::bound_volatile_mem_functor.
1136 * @param _A_functor Functor that should be wrapped.
1137 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1141 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
1142 inline retype_functor<bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
1143 retype(const bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
1144 { return retype_functor<bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
1147 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1148 * This function template specialization works on sigc::bound_const_volatile_mem_functor.
1150 * @param _A_functor Functor that should be wrapped.
1151 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1155 template <class T_return, class T_obj>
1156 inline retype_functor<bound_const_volatile_mem_functor0<T_return, T_obj> >
1157 retype(const bound_const_volatile_mem_functor0<T_return, T_obj>& _A_functor)
1158 { return retype_functor<bound_const_volatile_mem_functor0<T_return, T_obj> >
1161 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1162 * This function template specialization works on sigc::bound_const_volatile_mem_functor.
1164 * @param _A_functor Functor that should be wrapped.
1165 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1169 template <class T_return, class T_obj, class T_arg1>
1170 inline retype_functor<bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
1171 retype(const bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
1172 { return retype_functor<bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
1175 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1176 * This function template specialization works on sigc::bound_const_volatile_mem_functor.
1178 * @param _A_functor Functor that should be wrapped.
1179 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1183 template <class T_return, class T_obj, class T_arg1, class T_arg2>
1184 inline retype_functor<bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
1185 retype(const bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_functor)
1186 { return retype_functor<bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1, T_arg2 >
1189 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1190 * This function template specialization works on sigc::bound_const_volatile_mem_functor.
1192 * @param _A_functor Functor that should be wrapped.
1193 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1197 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
1198 inline retype_functor<bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
1199 retype(const bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_functor)
1200 { return retype_functor<bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1, T_arg2, T_arg3 >
1203 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1204 * This function template specialization works on sigc::bound_const_volatile_mem_functor.
1206 * @param _A_functor Functor that should be wrapped.
1207 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1211 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
1212 inline retype_functor<bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
1213 retype(const bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_functor)
1214 { return retype_functor<bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1, T_arg2, T_arg3, T_arg4 >
1217 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1218 * This function template specialization works on sigc::bound_const_volatile_mem_functor.
1220 * @param _A_functor Functor that should be wrapped.
1221 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1225 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
1226 inline retype_functor<bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
1227 retype(const bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_functor)
1228 { return retype_functor<bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >
1231 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1232 * This function template specialization works on sigc::bound_const_volatile_mem_functor.
1234 * @param _A_functor Functor that should be wrapped.
1235 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1239 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6>
1240 inline retype_functor<bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
1241 retype(const bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_functor)
1242 { return retype_functor<bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >
1245 /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
1246 * This function template specialization works on sigc::bound_const_volatile_mem_functor.
1248 * @param _A_functor Functor that should be wrapped.
1249 * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
1253 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
1254 inline retype_functor<bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
1255 retype(const bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_functor)
1256 { return retype_functor<bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
1260 } /* namespace sigc */
1262 #ifdef SIGC_NIL_HAS_BEEN_PUSHED
1263 #undef SIGC_NIL_HAS_BEEN_PUSHED
1264 #pragma pop_macro("nil")
1266 #endif /* _SIGC_ADAPTORS_RETYPE_H_ */