2 /* Do not edit! -- generated file */
5 // implementation notes:
6 // - we do not use bind here, because it would introduce
7 // an extra copy and complicate the header include order if bind is
8 // to have automatic conversion for member pointers.
9 #ifndef _SIGC_FUNCTORS_MEM_FUN_H_
10 #define _SIGC_FUNCTORS_MEM_FUN_H_
11 #include <sigc++/type_traits.h>
12 #include <sigc++/functors/functor_trait.h>
13 #include <sigc++/limit_reference.h>
17 /** @defgroup mem_fun mem_fun()
18 * mem_fun() Creates a functor from a pointer to a method.
20 * Optionally, a reference or pointer to an object can be bound to the functor.
22 * @note If the object type inherits from sigc::trackable, and the
23 * functor returned from mem_fun() is assigned to a sigc::slot, the functor
24 * will be automatically cleared when the object goes out of scope. Invoking
25 * that slot will then have no effect and will not try to use the destroyed
28 * If the member function pointer is to an overloaded type, you must specify
29 * the types using template arguments starting with the first argument.
30 * It is not necessary to supply the return type.
34 * struct foo : public sigc::trackable
39 * sigc::slot<void, int> sl = sigc::mem_fun(my_foo, &foo::bar);
40 * // Note: f is not a slot. It will not be invalidated when my_foo is deleted.
41 * auto f = sigc::mem_fun(my_foo, &foo::bar); // Usually not what you want.
44 * For const methods mem_fun() takes a const reference or pointer to an object.
48 * struct foo : public sigc::trackable
50 * void bar(int) const {}
53 * sigc::slot<void, int> sl = sigc::mem_fun(my_foo, &foo::bar);
56 * Use mem_fun#() if there is an ambiguity as to the number of arguments.
60 * struct foo : public sigc::trackable
64 * void bar(int, int) {}
67 * sigc::slot<void, int> sl = sigc::mem_fun1<int>(my_foo, &foo::bar);
70 * @ingroup sigcfunctors
73 /** mem_functor0 wraps methods with 0 argument(s).
74 * Use the convenience function mem_fun() to create an instance of mem_functor0.
76 * The following template arguments are used:
77 * - @e T_return The return type of operator()().
78 * - @e T_obj The object type.
82 template <class T_return, class T_obj>
83 class mem_functor0 : public functor_base
86 typedef T_return (T_obj::*function_type)() ;
87 typedef T_return result_type;
89 /// Constructs an invalid functor.
90 mem_functor0() : func_ptr_(nullptr) {}
92 /** Constructs a mem_functor0 object that wraps the passed method.
93 * @param _A_func Pointer to method will be invoked from operator()().
95 explicit mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
97 #ifndef SIGCXX_DISABLE_DEPRECATED
98 /** Execute the wrapped method operating on the passed instance.
100 * @deprecated Please use the constructor that takes the object by reference
103 * @param _A_obj Pointer to instance the method should operate on.
104 * @return The return value of the method invocation.
106 T_return operator()(T_obj* _A_obj) const
107 { return (_A_obj->*(this->func_ptr_))(); }
108 #endif //SIGCXX_DISABLE_DEPRECATED
110 /** Execute the wrapped method operating on the passed instance.
111 * @param _A_obj Reference to instance the method should operate on.
112 * @return The return value of the method invocation.
114 T_return operator()(T_obj& _A_obj) const
115 { return (_A_obj.*func_ptr_)(); }
118 function_type func_ptr_;
121 /** mem_functor1 wraps methods with 1 argument(s).
122 * Use the convenience function mem_fun() to create an instance of mem_functor1.
124 * The following template arguments are used:
125 * - @e T_arg1 Argument type used in the definition of operator()().
126 * - @e T_return The return type of operator()().
127 * - @e T_obj The object type.
131 template <class T_return, class T_obj, class T_arg1>
132 class mem_functor1 : public functor_base
135 typedef T_return (T_obj::*function_type)(T_arg1) ;
136 typedef T_return result_type;
138 /// Constructs an invalid functor.
139 mem_functor1() : func_ptr_(nullptr) {}
141 /** Constructs a mem_functor1 object that wraps the passed method.
142 * @param _A_func Pointer to method will be invoked from operator()().
144 explicit mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
146 #ifndef SIGCXX_DISABLE_DEPRECATED
147 /** Execute the wrapped method operating on the passed instance.
149 * @deprecated Please use the constructor that takes the object by reference
152 * @param _A_obj Pointer to instance the method should operate on.
153 * @param _A_a1 Argument to be passed on to the method.
154 * @return The return value of the method invocation.
156 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1) const
157 { return (_A_obj->*(this->func_ptr_))(_A_a1); }
158 #endif //SIGCXX_DISABLE_DEPRECATED
160 /** Execute the wrapped method operating on the passed instance.
161 * @param _A_obj Reference to instance the method should operate on.
162 * @param _A_a1 Argument to be passed on to the method.
163 * @return The return value of the method invocation.
165 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1) const
166 { return (_A_obj.*func_ptr_)(_A_a1); }
169 function_type func_ptr_;
172 /** mem_functor2 wraps methods with 2 argument(s).
173 * Use the convenience function mem_fun() to create an instance of mem_functor2.
175 * The following template arguments are used:
176 * - @e T_arg1 Argument type used in the definition of operator()().
177 * - @e T_arg2 Argument type used in the definition of operator()().
178 * - @e T_return The return type of operator()().
179 * - @e T_obj The object type.
183 template <class T_return, class T_obj, class T_arg1, class T_arg2>
184 class mem_functor2 : public functor_base
187 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2) ;
188 typedef T_return result_type;
190 /// Constructs an invalid functor.
191 mem_functor2() : func_ptr_(nullptr) {}
193 /** Constructs a mem_functor2 object that wraps the passed method.
194 * @param _A_func Pointer to method will be invoked from operator()().
196 explicit mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
198 #ifndef SIGCXX_DISABLE_DEPRECATED
199 /** Execute the wrapped method operating on the passed instance.
201 * @deprecated Please use the constructor that takes the object by reference
204 * @param _A_obj Pointer to instance the method should operate on.
205 * @param _A_a1 Argument to be passed on to the method.
206 * @param _A_a2 Argument to be passed on to the method.
207 * @return The return value of the method invocation.
209 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
210 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2); }
211 #endif //SIGCXX_DISABLE_DEPRECATED
213 /** Execute the wrapped method operating on the passed instance.
214 * @param _A_obj Reference to instance the method should operate on.
215 * @param _A_a1 Argument to be passed on to the method.
216 * @param _A_a2 Argument to be passed on to the method.
217 * @return The return value of the method invocation.
219 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
220 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2); }
223 function_type func_ptr_;
226 /** mem_functor3 wraps methods with 3 argument(s).
227 * Use the convenience function mem_fun() to create an instance of mem_functor3.
229 * The following template arguments are used:
230 * - @e T_arg1 Argument type used in the definition of operator()().
231 * - @e T_arg2 Argument type used in the definition of operator()().
232 * - @e T_arg3 Argument type used in the definition of operator()().
233 * - @e T_return The return type of operator()().
234 * - @e T_obj The object type.
238 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
239 class mem_functor3 : public functor_base
242 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3) ;
243 typedef T_return result_type;
245 /// Constructs an invalid functor.
246 mem_functor3() : func_ptr_(nullptr) {}
248 /** Constructs a mem_functor3 object that wraps the passed method.
249 * @param _A_func Pointer to method will be invoked from operator()().
251 explicit mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
253 #ifndef SIGCXX_DISABLE_DEPRECATED
254 /** Execute the wrapped method operating on the passed instance.
256 * @deprecated Please use the constructor that takes the object by reference
259 * @param _A_obj Pointer to instance the method should operate on.
260 * @param _A_a1 Argument to be passed on to the method.
261 * @param _A_a2 Argument to be passed on to the method.
262 * @param _A_a3 Argument to be passed on to the method.
263 * @return The return value of the method invocation.
265 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
266 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3); }
267 #endif //SIGCXX_DISABLE_DEPRECATED
269 /** Execute the wrapped method operating on the passed instance.
270 * @param _A_obj Reference to instance the method should operate on.
271 * @param _A_a1 Argument to be passed on to the method.
272 * @param _A_a2 Argument to be passed on to the method.
273 * @param _A_a3 Argument to be passed on to the method.
274 * @return The return value of the method invocation.
276 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
277 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3); }
280 function_type func_ptr_;
283 /** mem_functor4 wraps methods with 4 argument(s).
284 * Use the convenience function mem_fun() to create an instance of mem_functor4.
286 * The following template arguments are used:
287 * - @e T_arg1 Argument type used in the definition of operator()().
288 * - @e T_arg2 Argument type used in the definition of operator()().
289 * - @e T_arg3 Argument type used in the definition of operator()().
290 * - @e T_arg4 Argument type used in the definition of operator()().
291 * - @e T_return The return type of operator()().
292 * - @e T_obj The object type.
296 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
297 class mem_functor4 : public functor_base
300 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4) ;
301 typedef T_return result_type;
303 /// Constructs an invalid functor.
304 mem_functor4() : func_ptr_(nullptr) {}
306 /** Constructs a mem_functor4 object that wraps the passed method.
307 * @param _A_func Pointer to method will be invoked from operator()().
309 explicit mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
311 #ifndef SIGCXX_DISABLE_DEPRECATED
312 /** Execute the wrapped method operating on the passed instance.
314 * @deprecated Please use the constructor that takes the object by reference
317 * @param _A_obj Pointer to instance the method should operate on.
318 * @param _A_a1 Argument to be passed on to the method.
319 * @param _A_a2 Argument to be passed on to the method.
320 * @param _A_a3 Argument to be passed on to the method.
321 * @param _A_a4 Argument to be passed on to the method.
322 * @return The return value of the method invocation.
324 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
325 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4); }
326 #endif //SIGCXX_DISABLE_DEPRECATED
328 /** Execute the wrapped method operating on the passed instance.
329 * @param _A_obj Reference to instance the method should operate on.
330 * @param _A_a1 Argument to be passed on to the method.
331 * @param _A_a2 Argument to be passed on to the method.
332 * @param _A_a3 Argument to be passed on to the method.
333 * @param _A_a4 Argument to be passed on to the method.
334 * @return The return value of the method invocation.
336 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
337 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4); }
340 function_type func_ptr_;
343 /** mem_functor5 wraps methods with 5 argument(s).
344 * Use the convenience function mem_fun() to create an instance of mem_functor5.
346 * The following template arguments are used:
347 * - @e T_arg1 Argument type used in the definition of operator()().
348 * - @e T_arg2 Argument type used in the definition of operator()().
349 * - @e T_arg3 Argument type used in the definition of operator()().
350 * - @e T_arg4 Argument type used in the definition of operator()().
351 * - @e T_arg5 Argument type used in the definition of operator()().
352 * - @e T_return The return type of operator()().
353 * - @e T_obj The object type.
357 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
358 class mem_functor5 : public functor_base
361 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) ;
362 typedef T_return result_type;
364 /// Constructs an invalid functor.
365 mem_functor5() : func_ptr_(nullptr) {}
367 /** Constructs a mem_functor5 object that wraps the passed method.
368 * @param _A_func Pointer to method will be invoked from operator()().
370 explicit mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
372 #ifndef SIGCXX_DISABLE_DEPRECATED
373 /** Execute the wrapped method operating on the passed instance.
375 * @deprecated Please use the constructor that takes the object by reference
378 * @param _A_obj Pointer to instance the method should operate on.
379 * @param _A_a1 Argument to be passed on to the method.
380 * @param _A_a2 Argument to be passed on to the method.
381 * @param _A_a3 Argument to be passed on to the method.
382 * @param _A_a4 Argument to be passed on to the method.
383 * @param _A_a5 Argument to be passed on to the method.
384 * @return The return value of the method invocation.
386 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
387 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
388 #endif //SIGCXX_DISABLE_DEPRECATED
390 /** Execute the wrapped method operating on the passed instance.
391 * @param _A_obj Reference to instance the method should operate on.
392 * @param _A_a1 Argument to be passed on to the method.
393 * @param _A_a2 Argument to be passed on to the method.
394 * @param _A_a3 Argument to be passed on to the method.
395 * @param _A_a4 Argument to be passed on to the method.
396 * @param _A_a5 Argument to be passed on to the method.
397 * @return The return value of the method invocation.
399 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
400 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
403 function_type func_ptr_;
406 /** mem_functor6 wraps methods with 6 argument(s).
407 * Use the convenience function mem_fun() to create an instance of mem_functor6.
409 * The following template arguments are used:
410 * - @e T_arg1 Argument type used in the definition of operator()().
411 * - @e T_arg2 Argument type used in the definition of operator()().
412 * - @e T_arg3 Argument type used in the definition of operator()().
413 * - @e T_arg4 Argument type used in the definition of operator()().
414 * - @e T_arg5 Argument type used in the definition of operator()().
415 * - @e T_arg6 Argument type used in the definition of operator()().
416 * - @e T_return The return type of operator()().
417 * - @e T_obj The object type.
421 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>
422 class mem_functor6 : public functor_base
425 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) ;
426 typedef T_return result_type;
428 /// Constructs an invalid functor.
429 mem_functor6() : func_ptr_(nullptr) {}
431 /** Constructs a mem_functor6 object that wraps the passed method.
432 * @param _A_func Pointer to method will be invoked from operator()().
434 explicit mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
436 #ifndef SIGCXX_DISABLE_DEPRECATED
437 /** Execute the wrapped method operating on the passed instance.
439 * @deprecated Please use the constructor that takes the object by reference
442 * @param _A_obj Pointer to instance the method should operate on.
443 * @param _A_a1 Argument to be passed on to the method.
444 * @param _A_a2 Argument to be passed on to the method.
445 * @param _A_a3 Argument to be passed on to the method.
446 * @param _A_a4 Argument to be passed on to the method.
447 * @param _A_a5 Argument to be passed on to the method.
448 * @param _A_a6 Argument to be passed on to the method.
449 * @return The return value of the method invocation.
451 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
452 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
453 #endif //SIGCXX_DISABLE_DEPRECATED
455 /** Execute the wrapped method operating on the passed instance.
456 * @param _A_obj Reference to instance the method should operate on.
457 * @param _A_a1 Argument to be passed on to the method.
458 * @param _A_a2 Argument to be passed on to the method.
459 * @param _A_a3 Argument to be passed on to the method.
460 * @param _A_a4 Argument to be passed on to the method.
461 * @param _A_a5 Argument to be passed on to the method.
462 * @param _A_a6 Argument to be passed on to the method.
463 * @return The return value of the method invocation.
465 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
466 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
469 function_type func_ptr_;
472 /** mem_functor7 wraps methods with 7 argument(s).
473 * Use the convenience function mem_fun() to create an instance of mem_functor7.
475 * The following template arguments are used:
476 * - @e T_arg1 Argument type used in the definition of operator()().
477 * - @e T_arg2 Argument type used in the definition of operator()().
478 * - @e T_arg3 Argument type used in the definition of operator()().
479 * - @e T_arg4 Argument type used in the definition of operator()().
480 * - @e T_arg5 Argument type used in the definition of operator()().
481 * - @e T_arg6 Argument type used in the definition of operator()().
482 * - @e T_arg7 Argument type used in the definition of operator()().
483 * - @e T_return The return type of operator()().
484 * - @e T_obj The object type.
488 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>
489 class mem_functor7 : public functor_base
492 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) ;
493 typedef T_return result_type;
495 /// Constructs an invalid functor.
496 mem_functor7() : func_ptr_(nullptr) {}
498 /** Constructs a mem_functor7 object that wraps the passed method.
499 * @param _A_func Pointer to method will be invoked from operator()().
501 explicit mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
503 #ifndef SIGCXX_DISABLE_DEPRECATED
504 /** Execute the wrapped method operating on the passed instance.
506 * @deprecated Please use the constructor that takes the object by reference
509 * @param _A_obj Pointer to instance the method should operate on.
510 * @param _A_a1 Argument to be passed on to the method.
511 * @param _A_a2 Argument to be passed on to the method.
512 * @param _A_a3 Argument to be passed on to the method.
513 * @param _A_a4 Argument to be passed on to the method.
514 * @param _A_a5 Argument to be passed on to the method.
515 * @param _A_a6 Argument to be passed on to the method.
516 * @param _A_a7 Argument to be passed on to the method.
517 * @return The return value of the method invocation.
519 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
520 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
521 #endif //SIGCXX_DISABLE_DEPRECATED
523 /** Execute the wrapped method operating on the passed instance.
524 * @param _A_obj Reference to instance the method should operate on.
525 * @param _A_a1 Argument to be passed on to the method.
526 * @param _A_a2 Argument to be passed on to the method.
527 * @param _A_a3 Argument to be passed on to the method.
528 * @param _A_a4 Argument to be passed on to the method.
529 * @param _A_a5 Argument to be passed on to the method.
530 * @param _A_a6 Argument to be passed on to the method.
531 * @param _A_a7 Argument to be passed on to the method.
532 * @return The return value of the method invocation.
534 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
535 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
538 function_type func_ptr_;
541 /** const_mem_functor0 wraps const methods with 0 argument(s).
542 * Use the convenience function mem_fun() to create an instance of const_mem_functor0.
544 * The following template arguments are used:
545 * - @e T_return The return type of operator()().
546 * - @e T_obj The object type.
550 template <class T_return, class T_obj>
551 class const_mem_functor0 : public functor_base
554 typedef T_return (T_obj::*function_type)() const;
555 typedef T_return result_type;
557 /// Constructs an invalid functor.
558 const_mem_functor0() : func_ptr_(nullptr) {}
560 /** Constructs a const_mem_functor0 object that wraps the passed method.
561 * @param _A_func Pointer to method will be invoked from operator()().
563 explicit const_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
565 #ifndef SIGCXX_DISABLE_DEPRECATED
566 /** Execute the wrapped method operating on the passed instance.
568 * @deprecated Please use the constructor that takes the object by reference
571 * @param _A_obj Pointer to instance the method should operate on.
572 * @return The return value of the method invocation.
574 T_return operator()(const T_obj* _A_obj) const
575 { return (_A_obj->*(this->func_ptr_))(); }
576 #endif //SIGCXX_DISABLE_DEPRECATED
578 /** Execute the wrapped method operating on the passed instance.
579 * @param _A_obj Reference to instance the method should operate on.
580 * @return The return value of the method invocation.
582 T_return operator()(const T_obj& _A_obj) const
583 { return (_A_obj.*func_ptr_)(); }
586 function_type func_ptr_;
589 /** const_mem_functor1 wraps const methods with 1 argument(s).
590 * Use the convenience function mem_fun() to create an instance of const_mem_functor1.
592 * The following template arguments are used:
593 * - @e T_arg1 Argument type used in the definition of operator()().
594 * - @e T_return The return type of operator()().
595 * - @e T_obj The object type.
599 template <class T_return, class T_obj, class T_arg1>
600 class const_mem_functor1 : public functor_base
603 typedef T_return (T_obj::*function_type)(T_arg1) const;
604 typedef T_return result_type;
606 /// Constructs an invalid functor.
607 const_mem_functor1() : func_ptr_(nullptr) {}
609 /** Constructs a const_mem_functor1 object that wraps the passed method.
610 * @param _A_func Pointer to method will be invoked from operator()().
612 explicit const_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
614 #ifndef SIGCXX_DISABLE_DEPRECATED
615 /** Execute the wrapped method operating on the passed instance.
617 * @deprecated Please use the constructor that takes the object by reference
620 * @param _A_obj Pointer to instance the method should operate on.
621 * @param _A_a1 Argument to be passed on to the method.
622 * @return The return value of the method invocation.
624 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1) const
625 { return (_A_obj->*(this->func_ptr_))(_A_a1); }
626 #endif //SIGCXX_DISABLE_DEPRECATED
628 /** Execute the wrapped method operating on the passed instance.
629 * @param _A_obj Reference to instance the method should operate on.
630 * @param _A_a1 Argument to be passed on to the method.
631 * @return The return value of the method invocation.
633 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1) const
634 { return (_A_obj.*func_ptr_)(_A_a1); }
637 function_type func_ptr_;
640 /** const_mem_functor2 wraps const methods with 2 argument(s).
641 * Use the convenience function mem_fun() to create an instance of const_mem_functor2.
643 * The following template arguments are used:
644 * - @e T_arg1 Argument type used in the definition of operator()().
645 * - @e T_arg2 Argument type used in the definition of operator()().
646 * - @e T_return The return type of operator()().
647 * - @e T_obj The object type.
651 template <class T_return, class T_obj, class T_arg1, class T_arg2>
652 class const_mem_functor2 : public functor_base
655 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2) const;
656 typedef T_return result_type;
658 /// Constructs an invalid functor.
659 const_mem_functor2() : func_ptr_(nullptr) {}
661 /** Constructs a const_mem_functor2 object that wraps the passed method.
662 * @param _A_func Pointer to method will be invoked from operator()().
664 explicit const_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
666 #ifndef SIGCXX_DISABLE_DEPRECATED
667 /** Execute the wrapped method operating on the passed instance.
669 * @deprecated Please use the constructor that takes the object by reference
672 * @param _A_obj Pointer to instance the method should operate on.
673 * @param _A_a1 Argument to be passed on to the method.
674 * @param _A_a2 Argument to be passed on to the method.
675 * @return The return value of the method invocation.
677 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
678 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2); }
679 #endif //SIGCXX_DISABLE_DEPRECATED
681 /** Execute the wrapped method operating on the passed instance.
682 * @param _A_obj Reference to instance the method should operate on.
683 * @param _A_a1 Argument to be passed on to the method.
684 * @param _A_a2 Argument to be passed on to the method.
685 * @return The return value of the method invocation.
687 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
688 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2); }
691 function_type func_ptr_;
694 /** const_mem_functor3 wraps const methods with 3 argument(s).
695 * Use the convenience function mem_fun() to create an instance of const_mem_functor3.
697 * The following template arguments are used:
698 * - @e T_arg1 Argument type used in the definition of operator()().
699 * - @e T_arg2 Argument type used in the definition of operator()().
700 * - @e T_arg3 Argument type used in the definition of operator()().
701 * - @e T_return The return type of operator()().
702 * - @e T_obj The object type.
706 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
707 class const_mem_functor3 : public functor_base
710 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3) const;
711 typedef T_return result_type;
713 /// Constructs an invalid functor.
714 const_mem_functor3() : func_ptr_(nullptr) {}
716 /** Constructs a const_mem_functor3 object that wraps the passed method.
717 * @param _A_func Pointer to method will be invoked from operator()().
719 explicit const_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
721 #ifndef SIGCXX_DISABLE_DEPRECATED
722 /** Execute the wrapped method operating on the passed instance.
724 * @deprecated Please use the constructor that takes the object by reference
727 * @param _A_obj Pointer to instance the method should operate on.
728 * @param _A_a1 Argument to be passed on to the method.
729 * @param _A_a2 Argument to be passed on to the method.
730 * @param _A_a3 Argument to be passed on to the method.
731 * @return The return value of the method invocation.
733 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
734 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3); }
735 #endif //SIGCXX_DISABLE_DEPRECATED
737 /** Execute the wrapped method operating on the passed instance.
738 * @param _A_obj Reference to instance the method should operate on.
739 * @param _A_a1 Argument to be passed on to the method.
740 * @param _A_a2 Argument to be passed on to the method.
741 * @param _A_a3 Argument to be passed on to the method.
742 * @return The return value of the method invocation.
744 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
745 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3); }
748 function_type func_ptr_;
751 /** const_mem_functor4 wraps const methods with 4 argument(s).
752 * Use the convenience function mem_fun() to create an instance of const_mem_functor4.
754 * The following template arguments are used:
755 * - @e T_arg1 Argument type used in the definition of operator()().
756 * - @e T_arg2 Argument type used in the definition of operator()().
757 * - @e T_arg3 Argument type used in the definition of operator()().
758 * - @e T_arg4 Argument type used in the definition of operator()().
759 * - @e T_return The return type of operator()().
760 * - @e T_obj The object type.
764 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
765 class const_mem_functor4 : public functor_base
768 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4) const;
769 typedef T_return result_type;
771 /// Constructs an invalid functor.
772 const_mem_functor4() : func_ptr_(nullptr) {}
774 /** Constructs a const_mem_functor4 object that wraps the passed method.
775 * @param _A_func Pointer to method will be invoked from operator()().
777 explicit const_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
779 #ifndef SIGCXX_DISABLE_DEPRECATED
780 /** Execute the wrapped method operating on the passed instance.
782 * @deprecated Please use the constructor that takes the object by reference
785 * @param _A_obj Pointer to instance the method should operate on.
786 * @param _A_a1 Argument to be passed on to the method.
787 * @param _A_a2 Argument to be passed on to the method.
788 * @param _A_a3 Argument to be passed on to the method.
789 * @param _A_a4 Argument to be passed on to the method.
790 * @return The return value of the method invocation.
792 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
793 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4); }
794 #endif //SIGCXX_DISABLE_DEPRECATED
796 /** Execute the wrapped method operating on the passed instance.
797 * @param _A_obj Reference to instance the method should operate on.
798 * @param _A_a1 Argument to be passed on to the method.
799 * @param _A_a2 Argument to be passed on to the method.
800 * @param _A_a3 Argument to be passed on to the method.
801 * @param _A_a4 Argument to be passed on to the method.
802 * @return The return value of the method invocation.
804 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
805 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4); }
808 function_type func_ptr_;
811 /** const_mem_functor5 wraps const methods with 5 argument(s).
812 * Use the convenience function mem_fun() to create an instance of const_mem_functor5.
814 * The following template arguments are used:
815 * - @e T_arg1 Argument type used in the definition of operator()().
816 * - @e T_arg2 Argument type used in the definition of operator()().
817 * - @e T_arg3 Argument type used in the definition of operator()().
818 * - @e T_arg4 Argument type used in the definition of operator()().
819 * - @e T_arg5 Argument type used in the definition of operator()().
820 * - @e T_return The return type of operator()().
821 * - @e T_obj The object type.
825 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
826 class const_mem_functor5 : public functor_base
829 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const;
830 typedef T_return result_type;
832 /// Constructs an invalid functor.
833 const_mem_functor5() : func_ptr_(nullptr) {}
835 /** Constructs a const_mem_functor5 object that wraps the passed method.
836 * @param _A_func Pointer to method will be invoked from operator()().
838 explicit const_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
840 #ifndef SIGCXX_DISABLE_DEPRECATED
841 /** Execute the wrapped method operating on the passed instance.
843 * @deprecated Please use the constructor that takes the object by reference
846 * @param _A_obj Pointer to instance the method should operate on.
847 * @param _A_a1 Argument to be passed on to the method.
848 * @param _A_a2 Argument to be passed on to the method.
849 * @param _A_a3 Argument to be passed on to the method.
850 * @param _A_a4 Argument to be passed on to the method.
851 * @param _A_a5 Argument to be passed on to the method.
852 * @return The return value of the method invocation.
854 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
855 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
856 #endif //SIGCXX_DISABLE_DEPRECATED
858 /** Execute the wrapped method operating on the passed instance.
859 * @param _A_obj Reference to instance the method should operate on.
860 * @param _A_a1 Argument to be passed on to the method.
861 * @param _A_a2 Argument to be passed on to the method.
862 * @param _A_a3 Argument to be passed on to the method.
863 * @param _A_a4 Argument to be passed on to the method.
864 * @param _A_a5 Argument to be passed on to the method.
865 * @return The return value of the method invocation.
867 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
868 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
871 function_type func_ptr_;
874 /** const_mem_functor6 wraps const methods with 6 argument(s).
875 * Use the convenience function mem_fun() to create an instance of const_mem_functor6.
877 * The following template arguments are used:
878 * - @e T_arg1 Argument type used in the definition of operator()().
879 * - @e T_arg2 Argument type used in the definition of operator()().
880 * - @e T_arg3 Argument type used in the definition of operator()().
881 * - @e T_arg4 Argument type used in the definition of operator()().
882 * - @e T_arg5 Argument type used in the definition of operator()().
883 * - @e T_arg6 Argument type used in the definition of operator()().
884 * - @e T_return The return type of operator()().
885 * - @e T_obj The object type.
889 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>
890 class const_mem_functor6 : public functor_base
893 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const;
894 typedef T_return result_type;
896 /// Constructs an invalid functor.
897 const_mem_functor6() : func_ptr_(nullptr) {}
899 /** Constructs a const_mem_functor6 object that wraps the passed method.
900 * @param _A_func Pointer to method will be invoked from operator()().
902 explicit const_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
904 #ifndef SIGCXX_DISABLE_DEPRECATED
905 /** Execute the wrapped method operating on the passed instance.
907 * @deprecated Please use the constructor that takes the object by reference
910 * @param _A_obj Pointer to instance the method should operate on.
911 * @param _A_a1 Argument to be passed on to the method.
912 * @param _A_a2 Argument to be passed on to the method.
913 * @param _A_a3 Argument to be passed on to the method.
914 * @param _A_a4 Argument to be passed on to the method.
915 * @param _A_a5 Argument to be passed on to the method.
916 * @param _A_a6 Argument to be passed on to the method.
917 * @return The return value of the method invocation.
919 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
920 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
921 #endif //SIGCXX_DISABLE_DEPRECATED
923 /** Execute the wrapped method operating on the passed instance.
924 * @param _A_obj Reference to instance the method should operate on.
925 * @param _A_a1 Argument to be passed on to the method.
926 * @param _A_a2 Argument to be passed on to the method.
927 * @param _A_a3 Argument to be passed on to the method.
928 * @param _A_a4 Argument to be passed on to the method.
929 * @param _A_a5 Argument to be passed on to the method.
930 * @param _A_a6 Argument to be passed on to the method.
931 * @return The return value of the method invocation.
933 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
934 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
937 function_type func_ptr_;
940 /** const_mem_functor7 wraps const methods with 7 argument(s).
941 * Use the convenience function mem_fun() to create an instance of const_mem_functor7.
943 * The following template arguments are used:
944 * - @e T_arg1 Argument type used in the definition of operator()().
945 * - @e T_arg2 Argument type used in the definition of operator()().
946 * - @e T_arg3 Argument type used in the definition of operator()().
947 * - @e T_arg4 Argument type used in the definition of operator()().
948 * - @e T_arg5 Argument type used in the definition of operator()().
949 * - @e T_arg6 Argument type used in the definition of operator()().
950 * - @e T_arg7 Argument type used in the definition of operator()().
951 * - @e T_return The return type of operator()().
952 * - @e T_obj The object type.
956 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>
957 class const_mem_functor7 : public functor_base
960 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const;
961 typedef T_return result_type;
963 /// Constructs an invalid functor.
964 const_mem_functor7() : func_ptr_(nullptr) {}
966 /** Constructs a const_mem_functor7 object that wraps the passed method.
967 * @param _A_func Pointer to method will be invoked from operator()().
969 explicit const_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
971 #ifndef SIGCXX_DISABLE_DEPRECATED
972 /** Execute the wrapped method operating on the passed instance.
974 * @deprecated Please use the constructor that takes the object by reference
977 * @param _A_obj Pointer to instance the method should operate on.
978 * @param _A_a1 Argument to be passed on to the method.
979 * @param _A_a2 Argument to be passed on to the method.
980 * @param _A_a3 Argument to be passed on to the method.
981 * @param _A_a4 Argument to be passed on to the method.
982 * @param _A_a5 Argument to be passed on to the method.
983 * @param _A_a6 Argument to be passed on to the method.
984 * @param _A_a7 Argument to be passed on to the method.
985 * @return The return value of the method invocation.
987 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
988 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
989 #endif //SIGCXX_DISABLE_DEPRECATED
991 /** Execute the wrapped method operating on the passed instance.
992 * @param _A_obj Reference to instance the method should operate on.
993 * @param _A_a1 Argument to be passed on to the method.
994 * @param _A_a2 Argument to be passed on to the method.
995 * @param _A_a3 Argument to be passed on to the method.
996 * @param _A_a4 Argument to be passed on to the method.
997 * @param _A_a5 Argument to be passed on to the method.
998 * @param _A_a6 Argument to be passed on to the method.
999 * @param _A_a7 Argument to be passed on to the method.
1000 * @return The return value of the method invocation.
1002 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
1003 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
1006 function_type func_ptr_;
1009 /** volatile_mem_functor0 wraps volatile methods with 0 argument(s).
1010 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor0.
1012 * The following template arguments are used:
1013 * - @e T_return The return type of operator()().
1014 * - @e T_obj The object type.
1018 template <class T_return, class T_obj>
1019 class volatile_mem_functor0 : public functor_base
1022 typedef T_return (T_obj::*function_type)() volatile;
1023 typedef T_return result_type;
1025 /// Constructs an invalid functor.
1026 volatile_mem_functor0() : func_ptr_(nullptr) {}
1028 /** Constructs a volatile_mem_functor0 object that wraps the passed method.
1029 * @param _A_func Pointer to method will be invoked from operator()().
1031 explicit volatile_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
1033 #ifndef SIGCXX_DISABLE_DEPRECATED
1034 /** Execute the wrapped method operating on the passed instance.
1036 * @deprecated Please use the constructor that takes the object by reference
1039 * @param _A_obj Pointer to instance the method should operate on.
1040 * @return The return value of the method invocation.
1042 T_return operator()(T_obj* _A_obj) const
1043 { return (_A_obj->*(this->func_ptr_))(); }
1044 #endif //SIGCXX_DISABLE_DEPRECATED
1046 /** Execute the wrapped method operating on the passed instance.
1047 * @param _A_obj Reference to instance the method should operate on.
1048 * @return The return value of the method invocation.
1050 T_return operator()(T_obj& _A_obj) const
1051 { return (_A_obj.*func_ptr_)(); }
1054 function_type func_ptr_;
1057 /** volatile_mem_functor1 wraps volatile methods with 1 argument(s).
1058 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor1.
1060 * The following template arguments are used:
1061 * - @e T_arg1 Argument type used in the definition of operator()().
1062 * - @e T_return The return type of operator()().
1063 * - @e T_obj The object type.
1067 template <class T_return, class T_obj, class T_arg1>
1068 class volatile_mem_functor1 : public functor_base
1071 typedef T_return (T_obj::*function_type)(T_arg1) volatile;
1072 typedef T_return result_type;
1074 /// Constructs an invalid functor.
1075 volatile_mem_functor1() : func_ptr_(nullptr) {}
1077 /** Constructs a volatile_mem_functor1 object that wraps the passed method.
1078 * @param _A_func Pointer to method will be invoked from operator()().
1080 explicit volatile_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
1082 #ifndef SIGCXX_DISABLE_DEPRECATED
1083 /** Execute the wrapped method operating on the passed instance.
1085 * @deprecated Please use the constructor that takes the object by reference
1088 * @param _A_obj Pointer to instance the method should operate on.
1089 * @param _A_a1 Argument to be passed on to the method.
1090 * @return The return value of the method invocation.
1092 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1) const
1093 { return (_A_obj->*(this->func_ptr_))(_A_a1); }
1094 #endif //SIGCXX_DISABLE_DEPRECATED
1096 /** Execute the wrapped method operating on the passed instance.
1097 * @param _A_obj Reference to instance the method should operate on.
1098 * @param _A_a1 Argument to be passed on to the method.
1099 * @return The return value of the method invocation.
1101 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1) const
1102 { return (_A_obj.*func_ptr_)(_A_a1); }
1105 function_type func_ptr_;
1108 /** volatile_mem_functor2 wraps volatile methods with 2 argument(s).
1109 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor2.
1111 * The following template arguments are used:
1112 * - @e T_arg1 Argument type used in the definition of operator()().
1113 * - @e T_arg2 Argument type used in the definition of operator()().
1114 * - @e T_return The return type of operator()().
1115 * - @e T_obj The object type.
1119 template <class T_return, class T_obj, class T_arg1, class T_arg2>
1120 class volatile_mem_functor2 : public functor_base
1123 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2) volatile;
1124 typedef T_return result_type;
1126 /// Constructs an invalid functor.
1127 volatile_mem_functor2() : func_ptr_(nullptr) {}
1129 /** Constructs a volatile_mem_functor2 object that wraps the passed method.
1130 * @param _A_func Pointer to method will be invoked from operator()().
1132 explicit volatile_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
1134 #ifndef SIGCXX_DISABLE_DEPRECATED
1135 /** Execute the wrapped method operating on the passed instance.
1137 * @deprecated Please use the constructor that takes the object by reference
1140 * @param _A_obj Pointer to instance the method should operate on.
1141 * @param _A_a1 Argument to be passed on to the method.
1142 * @param _A_a2 Argument to be passed on to the method.
1143 * @return The return value of the method invocation.
1145 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
1146 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2); }
1147 #endif //SIGCXX_DISABLE_DEPRECATED
1149 /** Execute the wrapped method operating on the passed instance.
1150 * @param _A_obj Reference to instance the method should operate on.
1151 * @param _A_a1 Argument to be passed on to the method.
1152 * @param _A_a2 Argument to be passed on to the method.
1153 * @return The return value of the method invocation.
1155 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
1156 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2); }
1159 function_type func_ptr_;
1162 /** volatile_mem_functor3 wraps volatile methods with 3 argument(s).
1163 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor3.
1165 * The following template arguments are used:
1166 * - @e T_arg1 Argument type used in the definition of operator()().
1167 * - @e T_arg2 Argument type used in the definition of operator()().
1168 * - @e T_arg3 Argument type used in the definition of operator()().
1169 * - @e T_return The return type of operator()().
1170 * - @e T_obj The object type.
1174 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
1175 class volatile_mem_functor3 : public functor_base
1178 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3) volatile;
1179 typedef T_return result_type;
1181 /// Constructs an invalid functor.
1182 volatile_mem_functor3() : func_ptr_(nullptr) {}
1184 /** Constructs a volatile_mem_functor3 object that wraps the passed method.
1185 * @param _A_func Pointer to method will be invoked from operator()().
1187 explicit volatile_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
1189 #ifndef SIGCXX_DISABLE_DEPRECATED
1190 /** Execute the wrapped method operating on the passed instance.
1192 * @deprecated Please use the constructor that takes the object by reference
1195 * @param _A_obj Pointer to instance the method should operate on.
1196 * @param _A_a1 Argument to be passed on to the method.
1197 * @param _A_a2 Argument to be passed on to the method.
1198 * @param _A_a3 Argument to be passed on to the method.
1199 * @return The return value of the method invocation.
1201 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
1202 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3); }
1203 #endif //SIGCXX_DISABLE_DEPRECATED
1205 /** Execute the wrapped method operating on the passed instance.
1206 * @param _A_obj Reference to instance the method should operate on.
1207 * @param _A_a1 Argument to be passed on to the method.
1208 * @param _A_a2 Argument to be passed on to the method.
1209 * @param _A_a3 Argument to be passed on to the method.
1210 * @return The return value of the method invocation.
1212 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
1213 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3); }
1216 function_type func_ptr_;
1219 /** volatile_mem_functor4 wraps volatile methods with 4 argument(s).
1220 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor4.
1222 * The following template arguments are used:
1223 * - @e T_arg1 Argument type used in the definition of operator()().
1224 * - @e T_arg2 Argument type used in the definition of operator()().
1225 * - @e T_arg3 Argument type used in the definition of operator()().
1226 * - @e T_arg4 Argument type used in the definition of operator()().
1227 * - @e T_return The return type of operator()().
1228 * - @e T_obj The object type.
1232 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
1233 class volatile_mem_functor4 : public functor_base
1236 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4) volatile;
1237 typedef T_return result_type;
1239 /// Constructs an invalid functor.
1240 volatile_mem_functor4() : func_ptr_(nullptr) {}
1242 /** Constructs a volatile_mem_functor4 object that wraps the passed method.
1243 * @param _A_func Pointer to method will be invoked from operator()().
1245 explicit volatile_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
1247 #ifndef SIGCXX_DISABLE_DEPRECATED
1248 /** Execute the wrapped method operating on the passed instance.
1250 * @deprecated Please use the constructor that takes the object by reference
1253 * @param _A_obj Pointer to instance the method should operate on.
1254 * @param _A_a1 Argument to be passed on to the method.
1255 * @param _A_a2 Argument to be passed on to the method.
1256 * @param _A_a3 Argument to be passed on to the method.
1257 * @param _A_a4 Argument to be passed on to the method.
1258 * @return The return value of the method invocation.
1260 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
1261 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4); }
1262 #endif //SIGCXX_DISABLE_DEPRECATED
1264 /** Execute the wrapped method operating on the passed instance.
1265 * @param _A_obj Reference to instance the method should operate on.
1266 * @param _A_a1 Argument to be passed on to the method.
1267 * @param _A_a2 Argument to be passed on to the method.
1268 * @param _A_a3 Argument to be passed on to the method.
1269 * @param _A_a4 Argument to be passed on to the method.
1270 * @return The return value of the method invocation.
1272 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
1273 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4); }
1276 function_type func_ptr_;
1279 /** volatile_mem_functor5 wraps volatile methods with 5 argument(s).
1280 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor5.
1282 * The following template arguments are used:
1283 * - @e T_arg1 Argument type used in the definition of operator()().
1284 * - @e T_arg2 Argument type used in the definition of operator()().
1285 * - @e T_arg3 Argument type used in the definition of operator()().
1286 * - @e T_arg4 Argument type used in the definition of operator()().
1287 * - @e T_arg5 Argument type used in the definition of operator()().
1288 * - @e T_return The return type of operator()().
1289 * - @e T_obj The object type.
1293 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
1294 class volatile_mem_functor5 : public functor_base
1297 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) volatile;
1298 typedef T_return result_type;
1300 /// Constructs an invalid functor.
1301 volatile_mem_functor5() : func_ptr_(nullptr) {}
1303 /** Constructs a volatile_mem_functor5 object that wraps the passed method.
1304 * @param _A_func Pointer to method will be invoked from operator()().
1306 explicit volatile_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
1308 #ifndef SIGCXX_DISABLE_DEPRECATED
1309 /** Execute the wrapped method operating on the passed instance.
1311 * @deprecated Please use the constructor that takes the object by reference
1314 * @param _A_obj Pointer to instance the method should operate on.
1315 * @param _A_a1 Argument to be passed on to the method.
1316 * @param _A_a2 Argument to be passed on to the method.
1317 * @param _A_a3 Argument to be passed on to the method.
1318 * @param _A_a4 Argument to be passed on to the method.
1319 * @param _A_a5 Argument to be passed on to the method.
1320 * @return The return value of the method invocation.
1322 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
1323 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
1324 #endif //SIGCXX_DISABLE_DEPRECATED
1326 /** Execute the wrapped method operating on the passed instance.
1327 * @param _A_obj Reference to instance the method should operate on.
1328 * @param _A_a1 Argument to be passed on to the method.
1329 * @param _A_a2 Argument to be passed on to the method.
1330 * @param _A_a3 Argument to be passed on to the method.
1331 * @param _A_a4 Argument to be passed on to the method.
1332 * @param _A_a5 Argument to be passed on to the method.
1333 * @return The return value of the method invocation.
1335 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
1336 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
1339 function_type func_ptr_;
1342 /** volatile_mem_functor6 wraps volatile methods with 6 argument(s).
1343 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor6.
1345 * The following template arguments are used:
1346 * - @e T_arg1 Argument type used in the definition of operator()().
1347 * - @e T_arg2 Argument type used in the definition of operator()().
1348 * - @e T_arg3 Argument type used in the definition of operator()().
1349 * - @e T_arg4 Argument type used in the definition of operator()().
1350 * - @e T_arg5 Argument type used in the definition of operator()().
1351 * - @e T_arg6 Argument type used in the definition of operator()().
1352 * - @e T_return The return type of operator()().
1353 * - @e T_obj The object type.
1357 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>
1358 class volatile_mem_functor6 : public functor_base
1361 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) volatile;
1362 typedef T_return result_type;
1364 /// Constructs an invalid functor.
1365 volatile_mem_functor6() : func_ptr_(nullptr) {}
1367 /** Constructs a volatile_mem_functor6 object that wraps the passed method.
1368 * @param _A_func Pointer to method will be invoked from operator()().
1370 explicit volatile_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
1372 #ifndef SIGCXX_DISABLE_DEPRECATED
1373 /** Execute the wrapped method operating on the passed instance.
1375 * @deprecated Please use the constructor that takes the object by reference
1378 * @param _A_obj Pointer to instance the method should operate on.
1379 * @param _A_a1 Argument to be passed on to the method.
1380 * @param _A_a2 Argument to be passed on to the method.
1381 * @param _A_a3 Argument to be passed on to the method.
1382 * @param _A_a4 Argument to be passed on to the method.
1383 * @param _A_a5 Argument to be passed on to the method.
1384 * @param _A_a6 Argument to be passed on to the method.
1385 * @return The return value of the method invocation.
1387 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
1388 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
1389 #endif //SIGCXX_DISABLE_DEPRECATED
1391 /** Execute the wrapped method operating on the passed instance.
1392 * @param _A_obj Reference to instance the method should operate on.
1393 * @param _A_a1 Argument to be passed on to the method.
1394 * @param _A_a2 Argument to be passed on to the method.
1395 * @param _A_a3 Argument to be passed on to the method.
1396 * @param _A_a4 Argument to be passed on to the method.
1397 * @param _A_a5 Argument to be passed on to the method.
1398 * @param _A_a6 Argument to be passed on to the method.
1399 * @return The return value of the method invocation.
1401 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
1402 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
1405 function_type func_ptr_;
1408 /** volatile_mem_functor7 wraps volatile methods with 7 argument(s).
1409 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor7.
1411 * The following template arguments are used:
1412 * - @e T_arg1 Argument type used in the definition of operator()().
1413 * - @e T_arg2 Argument type used in the definition of operator()().
1414 * - @e T_arg3 Argument type used in the definition of operator()().
1415 * - @e T_arg4 Argument type used in the definition of operator()().
1416 * - @e T_arg5 Argument type used in the definition of operator()().
1417 * - @e T_arg6 Argument type used in the definition of operator()().
1418 * - @e T_arg7 Argument type used in the definition of operator()().
1419 * - @e T_return The return type of operator()().
1420 * - @e T_obj The object type.
1424 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>
1425 class volatile_mem_functor7 : public functor_base
1428 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) volatile;
1429 typedef T_return result_type;
1431 /// Constructs an invalid functor.
1432 volatile_mem_functor7() : func_ptr_(nullptr) {}
1434 /** Constructs a volatile_mem_functor7 object that wraps the passed method.
1435 * @param _A_func Pointer to method will be invoked from operator()().
1437 explicit volatile_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
1439 #ifndef SIGCXX_DISABLE_DEPRECATED
1440 /** Execute the wrapped method operating on the passed instance.
1442 * @deprecated Please use the constructor that takes the object by reference
1445 * @param _A_obj Pointer to instance the method should operate on.
1446 * @param _A_a1 Argument to be passed on to the method.
1447 * @param _A_a2 Argument to be passed on to the method.
1448 * @param _A_a3 Argument to be passed on to the method.
1449 * @param _A_a4 Argument to be passed on to the method.
1450 * @param _A_a5 Argument to be passed on to the method.
1451 * @param _A_a6 Argument to be passed on to the method.
1452 * @param _A_a7 Argument to be passed on to the method.
1453 * @return The return value of the method invocation.
1455 T_return operator()(T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
1456 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
1457 #endif //SIGCXX_DISABLE_DEPRECATED
1459 /** Execute the wrapped method operating on the passed instance.
1460 * @param _A_obj Reference to instance the method should operate on.
1461 * @param _A_a1 Argument to be passed on to the method.
1462 * @param _A_a2 Argument to be passed on to the method.
1463 * @param _A_a3 Argument to be passed on to the method.
1464 * @param _A_a4 Argument to be passed on to the method.
1465 * @param _A_a5 Argument to be passed on to the method.
1466 * @param _A_a6 Argument to be passed on to the method.
1467 * @param _A_a7 Argument to be passed on to the method.
1468 * @return The return value of the method invocation.
1470 T_return operator()(T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
1471 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
1474 function_type func_ptr_;
1477 /** const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s).
1478 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor0.
1480 * The following template arguments are used:
1481 * - @e T_return The return type of operator()().
1482 * - @e T_obj The object type.
1486 template <class T_return, class T_obj>
1487 class const_volatile_mem_functor0 : public functor_base
1490 typedef T_return (T_obj::*function_type)() const volatile;
1491 typedef T_return result_type;
1493 /// Constructs an invalid functor.
1494 const_volatile_mem_functor0() : func_ptr_(nullptr) {}
1496 /** Constructs a const_volatile_mem_functor0 object that wraps the passed method.
1497 * @param _A_func Pointer to method will be invoked from operator()().
1499 explicit const_volatile_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
1501 #ifndef SIGCXX_DISABLE_DEPRECATED
1502 /** Execute the wrapped method operating on the passed instance.
1504 * @deprecated Please use the constructor that takes the object by reference
1507 * @param _A_obj Pointer to instance the method should operate on.
1508 * @return The return value of the method invocation.
1510 T_return operator()(const T_obj* _A_obj) const
1511 { return (_A_obj->*(this->func_ptr_))(); }
1512 #endif //SIGCXX_DISABLE_DEPRECATED
1514 /** Execute the wrapped method operating on the passed instance.
1515 * @param _A_obj Reference to instance the method should operate on.
1516 * @return The return value of the method invocation.
1518 T_return operator()(const T_obj& _A_obj) const
1519 { return (_A_obj.*func_ptr_)(); }
1522 function_type func_ptr_;
1525 /** const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s).
1526 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor1.
1528 * The following template arguments are used:
1529 * - @e T_arg1 Argument type used in the definition of operator()().
1530 * - @e T_return The return type of operator()().
1531 * - @e T_obj The object type.
1535 template <class T_return, class T_obj, class T_arg1>
1536 class const_volatile_mem_functor1 : public functor_base
1539 typedef T_return (T_obj::*function_type)(T_arg1) const volatile;
1540 typedef T_return result_type;
1542 /// Constructs an invalid functor.
1543 const_volatile_mem_functor1() : func_ptr_(nullptr) {}
1545 /** Constructs a const_volatile_mem_functor1 object that wraps the passed method.
1546 * @param _A_func Pointer to method will be invoked from operator()().
1548 explicit const_volatile_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
1550 #ifndef SIGCXX_DISABLE_DEPRECATED
1551 /** Execute the wrapped method operating on the passed instance.
1553 * @deprecated Please use the constructor that takes the object by reference
1556 * @param _A_obj Pointer to instance the method should operate on.
1557 * @param _A_a1 Argument to be passed on to the method.
1558 * @return The return value of the method invocation.
1560 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1) const
1561 { return (_A_obj->*(this->func_ptr_))(_A_a1); }
1562 #endif //SIGCXX_DISABLE_DEPRECATED
1564 /** Execute the wrapped method operating on the passed instance.
1565 * @param _A_obj Reference to instance the method should operate on.
1566 * @param _A_a1 Argument to be passed on to the method.
1567 * @return The return value of the method invocation.
1569 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1) const
1570 { return (_A_obj.*func_ptr_)(_A_a1); }
1573 function_type func_ptr_;
1576 /** const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s).
1577 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor2.
1579 * The following template arguments are used:
1580 * - @e T_arg1 Argument type used in the definition of operator()().
1581 * - @e T_arg2 Argument type used in the definition of operator()().
1582 * - @e T_return The return type of operator()().
1583 * - @e T_obj The object type.
1587 template <class T_return, class T_obj, class T_arg1, class T_arg2>
1588 class const_volatile_mem_functor2 : public functor_base
1591 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2) const volatile;
1592 typedef T_return result_type;
1594 /// Constructs an invalid functor.
1595 const_volatile_mem_functor2() : func_ptr_(nullptr) {}
1597 /** Constructs a const_volatile_mem_functor2 object that wraps the passed method.
1598 * @param _A_func Pointer to method will be invoked from operator()().
1600 explicit const_volatile_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
1602 #ifndef SIGCXX_DISABLE_DEPRECATED
1603 /** Execute the wrapped method operating on the passed instance.
1605 * @deprecated Please use the constructor that takes the object by reference
1608 * @param _A_obj Pointer to instance the method should operate on.
1609 * @param _A_a1 Argument to be passed on to the method.
1610 * @param _A_a2 Argument to be passed on to the method.
1611 * @return The return value of the method invocation.
1613 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
1614 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2); }
1615 #endif //SIGCXX_DISABLE_DEPRECATED
1617 /** Execute the wrapped method operating on the passed instance.
1618 * @param _A_obj Reference to instance the method should operate on.
1619 * @param _A_a1 Argument to be passed on to the method.
1620 * @param _A_a2 Argument to be passed on to the method.
1621 * @return The return value of the method invocation.
1623 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
1624 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2); }
1627 function_type func_ptr_;
1630 /** const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s).
1631 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor3.
1633 * The following template arguments are used:
1634 * - @e T_arg1 Argument type used in the definition of operator()().
1635 * - @e T_arg2 Argument type used in the definition of operator()().
1636 * - @e T_arg3 Argument type used in the definition of operator()().
1637 * - @e T_return The return type of operator()().
1638 * - @e T_obj The object type.
1642 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
1643 class const_volatile_mem_functor3 : public functor_base
1646 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3) const volatile;
1647 typedef T_return result_type;
1649 /// Constructs an invalid functor.
1650 const_volatile_mem_functor3() : func_ptr_(nullptr) {}
1652 /** Constructs a const_volatile_mem_functor3 object that wraps the passed method.
1653 * @param _A_func Pointer to method will be invoked from operator()().
1655 explicit const_volatile_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
1657 #ifndef SIGCXX_DISABLE_DEPRECATED
1658 /** Execute the wrapped method operating on the passed instance.
1660 * @deprecated Please use the constructor that takes the object by reference
1663 * @param _A_obj Pointer to instance the method should operate on.
1664 * @param _A_a1 Argument to be passed on to the method.
1665 * @param _A_a2 Argument to be passed on to the method.
1666 * @param _A_a3 Argument to be passed on to the method.
1667 * @return The return value of the method invocation.
1669 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
1670 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3); }
1671 #endif //SIGCXX_DISABLE_DEPRECATED
1673 /** Execute the wrapped method operating on the passed instance.
1674 * @param _A_obj Reference to instance the method should operate on.
1675 * @param _A_a1 Argument to be passed on to the method.
1676 * @param _A_a2 Argument to be passed on to the method.
1677 * @param _A_a3 Argument to be passed on to the method.
1678 * @return The return value of the method invocation.
1680 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
1681 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3); }
1684 function_type func_ptr_;
1687 /** const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s).
1688 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor4.
1690 * The following template arguments are used:
1691 * - @e T_arg1 Argument type used in the definition of operator()().
1692 * - @e T_arg2 Argument type used in the definition of operator()().
1693 * - @e T_arg3 Argument type used in the definition of operator()().
1694 * - @e T_arg4 Argument type used in the definition of operator()().
1695 * - @e T_return The return type of operator()().
1696 * - @e T_obj The object type.
1700 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
1701 class const_volatile_mem_functor4 : public functor_base
1704 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4) const volatile;
1705 typedef T_return result_type;
1707 /// Constructs an invalid functor.
1708 const_volatile_mem_functor4() : func_ptr_(nullptr) {}
1710 /** Constructs a const_volatile_mem_functor4 object that wraps the passed method.
1711 * @param _A_func Pointer to method will be invoked from operator()().
1713 explicit const_volatile_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
1715 #ifndef SIGCXX_DISABLE_DEPRECATED
1716 /** Execute the wrapped method operating on the passed instance.
1718 * @deprecated Please use the constructor that takes the object by reference
1721 * @param _A_obj Pointer to instance the method should operate on.
1722 * @param _A_a1 Argument to be passed on to the method.
1723 * @param _A_a2 Argument to be passed on to the method.
1724 * @param _A_a3 Argument to be passed on to the method.
1725 * @param _A_a4 Argument to be passed on to the method.
1726 * @return The return value of the method invocation.
1728 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
1729 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4); }
1730 #endif //SIGCXX_DISABLE_DEPRECATED
1732 /** Execute the wrapped method operating on the passed instance.
1733 * @param _A_obj Reference to instance the method should operate on.
1734 * @param _A_a1 Argument to be passed on to the method.
1735 * @param _A_a2 Argument to be passed on to the method.
1736 * @param _A_a3 Argument to be passed on to the method.
1737 * @param _A_a4 Argument to be passed on to the method.
1738 * @return The return value of the method invocation.
1740 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
1741 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4); }
1744 function_type func_ptr_;
1747 /** const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s).
1748 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor5.
1750 * The following template arguments are used:
1751 * - @e T_arg1 Argument type used in the definition of operator()().
1752 * - @e T_arg2 Argument type used in the definition of operator()().
1753 * - @e T_arg3 Argument type used in the definition of operator()().
1754 * - @e T_arg4 Argument type used in the definition of operator()().
1755 * - @e T_arg5 Argument type used in the definition of operator()().
1756 * - @e T_return The return type of operator()().
1757 * - @e T_obj The object type.
1761 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
1762 class const_volatile_mem_functor5 : public functor_base
1765 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const volatile;
1766 typedef T_return result_type;
1768 /// Constructs an invalid functor.
1769 const_volatile_mem_functor5() : func_ptr_(nullptr) {}
1771 /** Constructs a const_volatile_mem_functor5 object that wraps the passed method.
1772 * @param _A_func Pointer to method will be invoked from operator()().
1774 explicit const_volatile_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
1776 #ifndef SIGCXX_DISABLE_DEPRECATED
1777 /** Execute the wrapped method operating on the passed instance.
1779 * @deprecated Please use the constructor that takes the object by reference
1782 * @param _A_obj Pointer to instance the method should operate on.
1783 * @param _A_a1 Argument to be passed on to the method.
1784 * @param _A_a2 Argument to be passed on to the method.
1785 * @param _A_a3 Argument to be passed on to the method.
1786 * @param _A_a4 Argument to be passed on to the method.
1787 * @param _A_a5 Argument to be passed on to the method.
1788 * @return The return value of the method invocation.
1790 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
1791 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
1792 #endif //SIGCXX_DISABLE_DEPRECATED
1794 /** Execute the wrapped method operating on the passed instance.
1795 * @param _A_obj Reference to instance the method should operate on.
1796 * @param _A_a1 Argument to be passed on to the method.
1797 * @param _A_a2 Argument to be passed on to the method.
1798 * @param _A_a3 Argument to be passed on to the method.
1799 * @param _A_a4 Argument to be passed on to the method.
1800 * @param _A_a5 Argument to be passed on to the method.
1801 * @return The return value of the method invocation.
1803 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
1804 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
1807 function_type func_ptr_;
1810 /** const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s).
1811 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor6.
1813 * The following template arguments are used:
1814 * - @e T_arg1 Argument type used in the definition of operator()().
1815 * - @e T_arg2 Argument type used in the definition of operator()().
1816 * - @e T_arg3 Argument type used in the definition of operator()().
1817 * - @e T_arg4 Argument type used in the definition of operator()().
1818 * - @e T_arg5 Argument type used in the definition of operator()().
1819 * - @e T_arg6 Argument type used in the definition of operator()().
1820 * - @e T_return The return type of operator()().
1821 * - @e T_obj The object type.
1825 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>
1826 class const_volatile_mem_functor6 : public functor_base
1829 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const volatile;
1830 typedef T_return result_type;
1832 /// Constructs an invalid functor.
1833 const_volatile_mem_functor6() : func_ptr_(nullptr) {}
1835 /** Constructs a const_volatile_mem_functor6 object that wraps the passed method.
1836 * @param _A_func Pointer to method will be invoked from operator()().
1838 explicit const_volatile_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
1840 #ifndef SIGCXX_DISABLE_DEPRECATED
1841 /** Execute the wrapped method operating on the passed instance.
1843 * @deprecated Please use the constructor that takes the object by reference
1846 * @param _A_obj Pointer to instance the method should operate on.
1847 * @param _A_a1 Argument to be passed on to the method.
1848 * @param _A_a2 Argument to be passed on to the method.
1849 * @param _A_a3 Argument to be passed on to the method.
1850 * @param _A_a4 Argument to be passed on to the method.
1851 * @param _A_a5 Argument to be passed on to the method.
1852 * @param _A_a6 Argument to be passed on to the method.
1853 * @return The return value of the method invocation.
1855 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
1856 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
1857 #endif //SIGCXX_DISABLE_DEPRECATED
1859 /** Execute the wrapped method operating on the passed instance.
1860 * @param _A_obj Reference to instance the method should operate on.
1861 * @param _A_a1 Argument to be passed on to the method.
1862 * @param _A_a2 Argument to be passed on to the method.
1863 * @param _A_a3 Argument to be passed on to the method.
1864 * @param _A_a4 Argument to be passed on to the method.
1865 * @param _A_a5 Argument to be passed on to the method.
1866 * @param _A_a6 Argument to be passed on to the method.
1867 * @return The return value of the method invocation.
1869 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
1870 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
1873 function_type func_ptr_;
1876 /** const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s).
1877 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor7.
1879 * The following template arguments are used:
1880 * - @e T_arg1 Argument type used in the definition of operator()().
1881 * - @e T_arg2 Argument type used in the definition of operator()().
1882 * - @e T_arg3 Argument type used in the definition of operator()().
1883 * - @e T_arg4 Argument type used in the definition of operator()().
1884 * - @e T_arg5 Argument type used in the definition of operator()().
1885 * - @e T_arg6 Argument type used in the definition of operator()().
1886 * - @e T_arg7 Argument type used in the definition of operator()().
1887 * - @e T_return The return type of operator()().
1888 * - @e T_obj The object type.
1892 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>
1893 class const_volatile_mem_functor7 : public functor_base
1896 typedef T_return (T_obj::*function_type)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const volatile;
1897 typedef T_return result_type;
1899 /// Constructs an invalid functor.
1900 const_volatile_mem_functor7() : func_ptr_(nullptr) {}
1902 /** Constructs a const_volatile_mem_functor7 object that wraps the passed method.
1903 * @param _A_func Pointer to method will be invoked from operator()().
1905 explicit const_volatile_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
1907 #ifndef SIGCXX_DISABLE_DEPRECATED
1908 /** Execute the wrapped method operating on the passed instance.
1910 * @deprecated Please use the constructor that takes the object by reference
1913 * @param _A_obj Pointer to instance the method should operate on.
1914 * @param _A_a1 Argument to be passed on to the method.
1915 * @param _A_a2 Argument to be passed on to the method.
1916 * @param _A_a3 Argument to be passed on to the method.
1917 * @param _A_a4 Argument to be passed on to the method.
1918 * @param _A_a5 Argument to be passed on to the method.
1919 * @param _A_a6 Argument to be passed on to the method.
1920 * @param _A_a7 Argument to be passed on to the method.
1921 * @return The return value of the method invocation.
1923 T_return operator()(const T_obj* _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
1924 { return (_A_obj->*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
1925 #endif //SIGCXX_DISABLE_DEPRECATED
1927 /** Execute the wrapped method operating on the passed instance.
1928 * @param _A_obj Reference to instance the method should operate on.
1929 * @param _A_a1 Argument to be passed on to the method.
1930 * @param _A_a2 Argument to be passed on to the method.
1931 * @param _A_a3 Argument to be passed on to the method.
1932 * @param _A_a4 Argument to be passed on to the method.
1933 * @param _A_a5 Argument to be passed on to the method.
1934 * @param _A_a6 Argument to be passed on to the method.
1935 * @param _A_a7 Argument to be passed on to the method.
1936 * @return The return value of the method invocation.
1938 T_return operator()(const T_obj& _A_obj, type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
1939 { return (_A_obj.*func_ptr_)(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
1942 function_type func_ptr_;
1946 /** bound_mem_functor0 encapsulates a method with 0 arguments and an object instance.
1947 * Use the convenience function mem_fun() to create an instance of bound_mem_functor0.
1949 * The following template arguments are used:
1950 * - @e T_return The return type of operator()().
1951 * - @e T_obj The object type.
1955 template <class T_return, class T_obj>
1956 class bound_mem_functor0
1957 : public mem_functor0<T_return, T_obj>
1959 typedef mem_functor0<T_return, T_obj> base_type_;
1961 typedef typename base_type_::function_type function_type;
1963 #ifndef SIGCXX_DISABLE_DEPRECATED
1964 /** Constructs a bound_mem_functor0 object that wraps the passed method.
1966 * @deprecated Please use the constructor that takes the object by reference
1969 * @param _A_obj Pointer to instance the method will operate on.
1970 * @param _A_func Pointer to method will be invoked from operator()().
1972 bound_mem_functor0( T_obj* _A_obj, function_type _A_func)
1973 : base_type_(_A_func),
1976 #endif // SIGCXX_DISABLE_DEPRECATED
1978 /** Constructs a bound_mem_functor0 object that wraps the passed method.
1979 * @param _A_obj Reference to instance the method will operate on.
1980 * @param _A_func Pointer to method will be invoked from operator()().
1982 bound_mem_functor0( T_obj& _A_obj, function_type _A_func)
1983 : base_type_(_A_func),
1987 /** Execute the wrapped method operating on the stored instance.
1988 * @return The return value of the method invocation.
1990 T_return operator()() const
1991 { return (obj_.invoke().*(this->func_ptr_))(); }
1994 // Reference to stored object instance.
1995 // This is the handler object, such as TheObject in void TheObject::signal_handler().
1996 limit_reference<T_obj> obj_;
1999 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2000 //template specialization of visitor<>::do_visit_each<>(action, functor):
2001 /** Performs a functor on each of the targets of a functor.
2002 * The function overload for sigc::bound_mem_functor performs a functor
2003 * on the object instance stored in the sigc::bound_mem_functor object.
2007 template <class T_return, class T_obj>
2008 struct visitor<bound_mem_functor0<T_return, T_obj> >
2010 template <class T_action>
2011 static void do_visit_each(const T_action& _A_action,
2012 const bound_mem_functor0<T_return, T_obj>& _A_target)
2014 sigc::visit_each(_A_action, _A_target.obj_);
2017 #endif // DOXYGEN_SHOULD_SKIP_THIS
2019 /** bound_mem_functor1 encapsulates a method with 1 arguments and an object instance.
2020 * Use the convenience function mem_fun() to create an instance of bound_mem_functor1.
2022 * The following template arguments are used:
2023 * - @e T_arg1 Argument type used in the definition of operator()().
2024 * - @e T_return The return type of operator()().
2025 * - @e T_obj The object type.
2029 template <class T_return, class T_obj, class T_arg1>
2030 class bound_mem_functor1
2031 : public mem_functor1<T_return, T_obj, T_arg1>
2033 typedef mem_functor1<T_return, T_obj, T_arg1> base_type_;
2035 typedef typename base_type_::function_type function_type;
2037 #ifndef SIGCXX_DISABLE_DEPRECATED
2038 /** Constructs a bound_mem_functor1 object that wraps the passed method.
2040 * @deprecated Please use the constructor that takes the object by reference
2043 * @param _A_obj Pointer to instance the method will operate on.
2044 * @param _A_func Pointer to method will be invoked from operator()().
2046 bound_mem_functor1( T_obj* _A_obj, function_type _A_func)
2047 : base_type_(_A_func),
2050 #endif // SIGCXX_DISABLE_DEPRECATED
2052 /** Constructs a bound_mem_functor1 object that wraps the passed method.
2053 * @param _A_obj Reference to instance the method will operate on.
2054 * @param _A_func Pointer to method will be invoked from operator()().
2056 bound_mem_functor1( T_obj& _A_obj, function_type _A_func)
2057 : base_type_(_A_func),
2061 /** Execute the wrapped method operating on the stored instance.
2062 * @param _A_a1 Argument to be passed on to the method.
2063 * @return The return value of the method invocation.
2065 T_return operator()(type_trait_take_t<T_arg1> _A_a1) const
2066 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); }
2069 // Reference to stored object instance.
2070 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2071 limit_reference<T_obj> obj_;
2074 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2075 //template specialization of visitor<>::do_visit_each<>(action, functor):
2076 /** Performs a functor on each of the targets of a functor.
2077 * The function overload for sigc::bound_mem_functor performs a functor
2078 * on the object instance stored in the sigc::bound_mem_functor object.
2082 template <class T_return, class T_obj, class T_arg1>
2083 struct visitor<bound_mem_functor1<T_return, T_obj, T_arg1> >
2085 template <class T_action>
2086 static void do_visit_each(const T_action& _A_action,
2087 const bound_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
2089 sigc::visit_each(_A_action, _A_target.obj_);
2092 #endif // DOXYGEN_SHOULD_SKIP_THIS
2094 /** bound_mem_functor2 encapsulates a method with 2 arguments and an object instance.
2095 * Use the convenience function mem_fun() to create an instance of bound_mem_functor2.
2097 * The following template arguments are used:
2098 * - @e T_arg1 Argument type used in the definition of operator()().
2099 * - @e T_arg2 Argument type used in the definition of operator()().
2100 * - @e T_return The return type of operator()().
2101 * - @e T_obj The object type.
2105 template <class T_return, class T_obj, class T_arg1, class T_arg2>
2106 class bound_mem_functor2
2107 : public mem_functor2<T_return, T_obj, T_arg1, T_arg2>
2109 typedef mem_functor2<T_return, T_obj, T_arg1, T_arg2> base_type_;
2111 typedef typename base_type_::function_type function_type;
2113 #ifndef SIGCXX_DISABLE_DEPRECATED
2114 /** Constructs a bound_mem_functor2 object that wraps the passed method.
2116 * @deprecated Please use the constructor that takes the object by reference
2119 * @param _A_obj Pointer to instance the method will operate on.
2120 * @param _A_func Pointer to method will be invoked from operator()().
2122 bound_mem_functor2( T_obj* _A_obj, function_type _A_func)
2123 : base_type_(_A_func),
2126 #endif // SIGCXX_DISABLE_DEPRECATED
2128 /** Constructs a bound_mem_functor2 object that wraps the passed method.
2129 * @param _A_obj Reference to instance the method will operate on.
2130 * @param _A_func Pointer to method will be invoked from operator()().
2132 bound_mem_functor2( T_obj& _A_obj, function_type _A_func)
2133 : base_type_(_A_func),
2137 /** Execute the wrapped method operating on the stored instance.
2138 * @param _A_a1 Argument to be passed on to the method.
2139 * @param _A_a2 Argument to be passed on to the method.
2140 * @return The return value of the method invocation.
2142 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
2143 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2); }
2146 // Reference to stored object instance.
2147 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2148 limit_reference<T_obj> obj_;
2151 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2152 //template specialization of visitor<>::do_visit_each<>(action, functor):
2153 /** Performs a functor on each of the targets of a functor.
2154 * The function overload for sigc::bound_mem_functor performs a functor
2155 * on the object instance stored in the sigc::bound_mem_functor object.
2159 template <class T_return, class T_obj, class T_arg1, class T_arg2>
2160 struct visitor<bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2> >
2162 template <class T_action>
2163 static void do_visit_each(const T_action& _A_action,
2164 const bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_target)
2166 sigc::visit_each(_A_action, _A_target.obj_);
2169 #endif // DOXYGEN_SHOULD_SKIP_THIS
2171 /** bound_mem_functor3 encapsulates a method with 3 arguments and an object instance.
2172 * Use the convenience function mem_fun() to create an instance of bound_mem_functor3.
2174 * The following template arguments are used:
2175 * - @e T_arg1 Argument type used in the definition of operator()().
2176 * - @e T_arg2 Argument type used in the definition of operator()().
2177 * - @e T_arg3 Argument type used in the definition of operator()().
2178 * - @e T_return The return type of operator()().
2179 * - @e T_obj The object type.
2183 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
2184 class bound_mem_functor3
2185 : public mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
2187 typedef mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3> base_type_;
2189 typedef typename base_type_::function_type function_type;
2191 #ifndef SIGCXX_DISABLE_DEPRECATED
2192 /** Constructs a bound_mem_functor3 object that wraps the passed method.
2194 * @deprecated Please use the constructor that takes the object by reference
2197 * @param _A_obj Pointer to instance the method will operate on.
2198 * @param _A_func Pointer to method will be invoked from operator()().
2200 bound_mem_functor3( T_obj* _A_obj, function_type _A_func)
2201 : base_type_(_A_func),
2204 #endif // SIGCXX_DISABLE_DEPRECATED
2206 /** Constructs a bound_mem_functor3 object that wraps the passed method.
2207 * @param _A_obj Reference to instance the method will operate on.
2208 * @param _A_func Pointer to method will be invoked from operator()().
2210 bound_mem_functor3( T_obj& _A_obj, function_type _A_func)
2211 : base_type_(_A_func),
2215 /** Execute the wrapped method operating on the stored instance.
2216 * @param _A_a1 Argument to be passed on to the method.
2217 * @param _A_a2 Argument to be passed on to the method.
2218 * @param _A_a3 Argument to be passed on to the method.
2219 * @return The return value of the method invocation.
2221 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
2222 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3); }
2225 // Reference to stored object instance.
2226 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2227 limit_reference<T_obj> obj_;
2230 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2231 //template specialization of visitor<>::do_visit_each<>(action, functor):
2232 /** Performs a functor on each of the targets of a functor.
2233 * The function overload for sigc::bound_mem_functor performs a functor
2234 * on the object instance stored in the sigc::bound_mem_functor object.
2238 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
2239 struct visitor<bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3> >
2241 template <class T_action>
2242 static void do_visit_each(const T_action& _A_action,
2243 const bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_target)
2245 sigc::visit_each(_A_action, _A_target.obj_);
2248 #endif // DOXYGEN_SHOULD_SKIP_THIS
2250 /** bound_mem_functor4 encapsulates a method with 4 arguments and an object instance.
2251 * Use the convenience function mem_fun() to create an instance of bound_mem_functor4.
2253 * The following template arguments are used:
2254 * - @e T_arg1 Argument type used in the definition of operator()().
2255 * - @e T_arg2 Argument type used in the definition of operator()().
2256 * - @e T_arg3 Argument type used in the definition of operator()().
2257 * - @e T_arg4 Argument type used in the definition of operator()().
2258 * - @e T_return The return type of operator()().
2259 * - @e T_obj The object type.
2263 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
2264 class bound_mem_functor4
2265 : public mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
2267 typedef mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4> base_type_;
2269 typedef typename base_type_::function_type function_type;
2271 #ifndef SIGCXX_DISABLE_DEPRECATED
2272 /** Constructs a bound_mem_functor4 object that wraps the passed method.
2274 * @deprecated Please use the constructor that takes the object by reference
2277 * @param _A_obj Pointer to instance the method will operate on.
2278 * @param _A_func Pointer to method will be invoked from operator()().
2280 bound_mem_functor4( T_obj* _A_obj, function_type _A_func)
2281 : base_type_(_A_func),
2284 #endif // SIGCXX_DISABLE_DEPRECATED
2286 /** Constructs a bound_mem_functor4 object that wraps the passed method.
2287 * @param _A_obj Reference to instance the method will operate on.
2288 * @param _A_func Pointer to method will be invoked from operator()().
2290 bound_mem_functor4( T_obj& _A_obj, function_type _A_func)
2291 : base_type_(_A_func),
2295 /** Execute the wrapped method operating on the stored instance.
2296 * @param _A_a1 Argument to be passed on to the method.
2297 * @param _A_a2 Argument to be passed on to the method.
2298 * @param _A_a3 Argument to be passed on to the method.
2299 * @param _A_a4 Argument to be passed on to the method.
2300 * @return The return value of the method invocation.
2302 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
2303 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4); }
2306 // Reference to stored object instance.
2307 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2308 limit_reference<T_obj> obj_;
2311 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2312 //template specialization of visitor<>::do_visit_each<>(action, functor):
2313 /** Performs a functor on each of the targets of a functor.
2314 * The function overload for sigc::bound_mem_functor performs a functor
2315 * on the object instance stored in the sigc::bound_mem_functor object.
2319 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
2320 struct visitor<bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4> >
2322 template <class T_action>
2323 static void do_visit_each(const T_action& _A_action,
2324 const bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_target)
2326 sigc::visit_each(_A_action, _A_target.obj_);
2329 #endif // DOXYGEN_SHOULD_SKIP_THIS
2331 /** bound_mem_functor5 encapsulates a method with 5 arguments and an object instance.
2332 * Use the convenience function mem_fun() to create an instance of bound_mem_functor5.
2334 * The following template arguments are used:
2335 * - @e T_arg1 Argument type used in the definition of operator()().
2336 * - @e T_arg2 Argument type used in the definition of operator()().
2337 * - @e T_arg3 Argument type used in the definition of operator()().
2338 * - @e T_arg4 Argument type used in the definition of operator()().
2339 * - @e T_arg5 Argument type used in the definition of operator()().
2340 * - @e T_return The return type of operator()().
2341 * - @e T_obj The object type.
2345 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
2346 class bound_mem_functor5
2347 : public mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
2349 typedef mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> base_type_;
2351 typedef typename base_type_::function_type function_type;
2353 #ifndef SIGCXX_DISABLE_DEPRECATED
2354 /** Constructs a bound_mem_functor5 object that wraps the passed method.
2356 * @deprecated Please use the constructor that takes the object by reference
2359 * @param _A_obj Pointer to instance the method will operate on.
2360 * @param _A_func Pointer to method will be invoked from operator()().
2362 bound_mem_functor5( T_obj* _A_obj, function_type _A_func)
2363 : base_type_(_A_func),
2366 #endif // SIGCXX_DISABLE_DEPRECATED
2368 /** Constructs a bound_mem_functor5 object that wraps the passed method.
2369 * @param _A_obj Reference to instance the method will operate on.
2370 * @param _A_func Pointer to method will be invoked from operator()().
2372 bound_mem_functor5( T_obj& _A_obj, function_type _A_func)
2373 : base_type_(_A_func),
2377 /** Execute the wrapped method operating on the stored instance.
2378 * @param _A_a1 Argument to be passed on to the method.
2379 * @param _A_a2 Argument to be passed on to the method.
2380 * @param _A_a3 Argument to be passed on to the method.
2381 * @param _A_a4 Argument to be passed on to the method.
2382 * @param _A_a5 Argument to be passed on to the method.
2383 * @return The return value of the method invocation.
2385 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
2386 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
2389 // Reference to stored object instance.
2390 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2391 limit_reference<T_obj> obj_;
2394 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2395 //template specialization of visitor<>::do_visit_each<>(action, functor):
2396 /** Performs a functor on each of the targets of a functor.
2397 * The function overload for sigc::bound_mem_functor performs a functor
2398 * on the object instance stored in the sigc::bound_mem_functor object.
2402 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
2403 struct visitor<bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> >
2405 template <class T_action>
2406 static void do_visit_each(const T_action& _A_action,
2407 const bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_target)
2409 sigc::visit_each(_A_action, _A_target.obj_);
2412 #endif // DOXYGEN_SHOULD_SKIP_THIS
2414 /** bound_mem_functor6 encapsulates a method with 6 arguments and an object instance.
2415 * Use the convenience function mem_fun() to create an instance of bound_mem_functor6.
2417 * The following template arguments are used:
2418 * - @e T_arg1 Argument type used in the definition of operator()().
2419 * - @e T_arg2 Argument type used in the definition of operator()().
2420 * - @e T_arg3 Argument type used in the definition of operator()().
2421 * - @e T_arg4 Argument type used in the definition of operator()().
2422 * - @e T_arg5 Argument type used in the definition of operator()().
2423 * - @e T_arg6 Argument type used in the definition of operator()().
2424 * - @e T_return The return type of operator()().
2425 * - @e T_obj The object type.
2429 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>
2430 class bound_mem_functor6
2431 : public mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
2433 typedef mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> base_type_;
2435 typedef typename base_type_::function_type function_type;
2437 #ifndef SIGCXX_DISABLE_DEPRECATED
2438 /** Constructs a bound_mem_functor6 object that wraps the passed method.
2440 * @deprecated Please use the constructor that takes the object by reference
2443 * @param _A_obj Pointer to instance the method will operate on.
2444 * @param _A_func Pointer to method will be invoked from operator()().
2446 bound_mem_functor6( T_obj* _A_obj, function_type _A_func)
2447 : base_type_(_A_func),
2450 #endif // SIGCXX_DISABLE_DEPRECATED
2452 /** Constructs a bound_mem_functor6 object that wraps the passed method.
2453 * @param _A_obj Reference to instance the method will operate on.
2454 * @param _A_func Pointer to method will be invoked from operator()().
2456 bound_mem_functor6( T_obj& _A_obj, function_type _A_func)
2457 : base_type_(_A_func),
2461 /** Execute the wrapped method operating on the stored instance.
2462 * @param _A_a1 Argument to be passed on to the method.
2463 * @param _A_a2 Argument to be passed on to the method.
2464 * @param _A_a3 Argument to be passed on to the method.
2465 * @param _A_a4 Argument to be passed on to the method.
2466 * @param _A_a5 Argument to be passed on to the method.
2467 * @param _A_a6 Argument to be passed on to the method.
2468 * @return The return value of the method invocation.
2470 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
2471 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
2474 // Reference to stored object instance.
2475 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2476 limit_reference<T_obj> obj_;
2479 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2480 //template specialization of visitor<>::do_visit_each<>(action, functor):
2481 /** Performs a functor on each of the targets of a functor.
2482 * The function overload for sigc::bound_mem_functor performs a functor
2483 * on the object instance stored in the sigc::bound_mem_functor object.
2487 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>
2488 struct visitor<bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> >
2490 template <class T_action>
2491 static void do_visit_each(const T_action& _A_action,
2492 const bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_target)
2494 sigc::visit_each(_A_action, _A_target.obj_);
2497 #endif // DOXYGEN_SHOULD_SKIP_THIS
2499 /** bound_mem_functor7 encapsulates a method with 7 arguments and an object instance.
2500 * Use the convenience function mem_fun() to create an instance of bound_mem_functor7.
2502 * The following template arguments are used:
2503 * - @e T_arg1 Argument type used in the definition of operator()().
2504 * - @e T_arg2 Argument type used in the definition of operator()().
2505 * - @e T_arg3 Argument type used in the definition of operator()().
2506 * - @e T_arg4 Argument type used in the definition of operator()().
2507 * - @e T_arg5 Argument type used in the definition of operator()().
2508 * - @e T_arg6 Argument type used in the definition of operator()().
2509 * - @e T_arg7 Argument type used in the definition of operator()().
2510 * - @e T_return The return type of operator()().
2511 * - @e T_obj The object type.
2515 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>
2516 class bound_mem_functor7
2517 : public mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
2519 typedef mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> base_type_;
2521 typedef typename base_type_::function_type function_type;
2523 #ifndef SIGCXX_DISABLE_DEPRECATED
2524 /** Constructs a bound_mem_functor7 object that wraps the passed method.
2526 * @deprecated Please use the constructor that takes the object by reference
2529 * @param _A_obj Pointer to instance the method will operate on.
2530 * @param _A_func Pointer to method will be invoked from operator()().
2532 bound_mem_functor7( T_obj* _A_obj, function_type _A_func)
2533 : base_type_(_A_func),
2536 #endif // SIGCXX_DISABLE_DEPRECATED
2538 /** Constructs a bound_mem_functor7 object that wraps the passed method.
2539 * @param _A_obj Reference to instance the method will operate on.
2540 * @param _A_func Pointer to method will be invoked from operator()().
2542 bound_mem_functor7( T_obj& _A_obj, function_type _A_func)
2543 : base_type_(_A_func),
2547 /** Execute the wrapped method operating on the stored instance.
2548 * @param _A_a1 Argument to be passed on to the method.
2549 * @param _A_a2 Argument to be passed on to the method.
2550 * @param _A_a3 Argument to be passed on to the method.
2551 * @param _A_a4 Argument to be passed on to the method.
2552 * @param _A_a5 Argument to be passed on to the method.
2553 * @param _A_a6 Argument to be passed on to the method.
2554 * @param _A_a7 Argument to be passed on to the method.
2555 * @return The return value of the method invocation.
2557 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
2558 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
2561 // Reference to stored object instance.
2562 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2563 limit_reference<T_obj> obj_;
2566 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2567 //template specialization of visitor<>::do_visit_each<>(action, functor):
2568 /** Performs a functor on each of the targets of a functor.
2569 * The function overload for sigc::bound_mem_functor performs a functor
2570 * on the object instance stored in the sigc::bound_mem_functor object.
2574 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>
2575 struct visitor<bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> >
2577 template <class T_action>
2578 static void do_visit_each(const T_action& _A_action,
2579 const bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_target)
2581 sigc::visit_each(_A_action, _A_target.obj_);
2584 #endif // DOXYGEN_SHOULD_SKIP_THIS
2586 /** bound_const_mem_functor0 encapsulates a const method with 0 arguments and an object instance.
2587 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor0.
2589 * The following template arguments are used:
2590 * - @e T_return The return type of operator()().
2591 * - @e T_obj The object type.
2595 template <class T_return, class T_obj>
2596 class bound_const_mem_functor0
2597 : public const_mem_functor0<T_return, T_obj>
2599 typedef const_mem_functor0<T_return, T_obj> base_type_;
2601 typedef typename base_type_::function_type function_type;
2603 #ifndef SIGCXX_DISABLE_DEPRECATED
2604 /** Constructs a bound_const_mem_functor0 object that wraps the passed method.
2606 * @deprecated Please use the constructor that takes the object by reference
2609 * @param _A_obj Pointer to instance the method will operate on.
2610 * @param _A_func Pointer to method will be invoked from operator()().
2612 bound_const_mem_functor0(const T_obj* _A_obj, function_type _A_func)
2613 : base_type_(_A_func),
2616 #endif // SIGCXX_DISABLE_DEPRECATED
2618 /** Constructs a bound_const_mem_functor0 object that wraps the passed method.
2619 * @param _A_obj Reference to instance the method will operate on.
2620 * @param _A_func Pointer to method will be invoked from operator()().
2622 bound_const_mem_functor0(const T_obj& _A_obj, function_type _A_func)
2623 : base_type_(_A_func),
2627 /** Execute the wrapped method operating on the stored instance.
2628 * @return The return value of the method invocation.
2630 T_return operator()() const
2631 { return (obj_.invoke().*(this->func_ptr_))(); }
2634 // Reference to stored object instance.
2635 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2636 const_limit_reference<T_obj> obj_;
2639 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2640 //template specialization of visitor<>::do_visit_each<>(action, functor):
2641 /** Performs a functor on each of the targets of a functor.
2642 * The function overload for sigc::bound_const_mem_functor performs a functor
2643 * on the object instance stored in the sigc::bound_const_mem_functor object.
2647 template <class T_return, class T_obj>
2648 struct visitor<bound_const_mem_functor0<T_return, T_obj> >
2650 template <class T_action>
2651 static void do_visit_each(const T_action& _A_action,
2652 const bound_const_mem_functor0<T_return, T_obj>& _A_target)
2654 sigc::visit_each(_A_action, _A_target.obj_);
2657 #endif // DOXYGEN_SHOULD_SKIP_THIS
2659 /** bound_const_mem_functor1 encapsulates a const method with 1 arguments and an object instance.
2660 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor1.
2662 * The following template arguments are used:
2663 * - @e T_arg1 Argument type used in the definition of operator()().
2664 * - @e T_return The return type of operator()().
2665 * - @e T_obj The object type.
2669 template <class T_return, class T_obj, class T_arg1>
2670 class bound_const_mem_functor1
2671 : public const_mem_functor1<T_return, T_obj, T_arg1>
2673 typedef const_mem_functor1<T_return, T_obj, T_arg1> base_type_;
2675 typedef typename base_type_::function_type function_type;
2677 #ifndef SIGCXX_DISABLE_DEPRECATED
2678 /** Constructs a bound_const_mem_functor1 object that wraps the passed method.
2680 * @deprecated Please use the constructor that takes the object by reference
2683 * @param _A_obj Pointer to instance the method will operate on.
2684 * @param _A_func Pointer to method will be invoked from operator()().
2686 bound_const_mem_functor1(const T_obj* _A_obj, function_type _A_func)
2687 : base_type_(_A_func),
2690 #endif // SIGCXX_DISABLE_DEPRECATED
2692 /** Constructs a bound_const_mem_functor1 object that wraps the passed method.
2693 * @param _A_obj Reference to instance the method will operate on.
2694 * @param _A_func Pointer to method will be invoked from operator()().
2696 bound_const_mem_functor1(const T_obj& _A_obj, function_type _A_func)
2697 : base_type_(_A_func),
2701 /** Execute the wrapped method operating on the stored instance.
2702 * @param _A_a1 Argument to be passed on to the method.
2703 * @return The return value of the method invocation.
2705 T_return operator()(type_trait_take_t<T_arg1> _A_a1) const
2706 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); }
2709 // Reference to stored object instance.
2710 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2711 const_limit_reference<T_obj> obj_;
2714 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2715 //template specialization of visitor<>::do_visit_each<>(action, functor):
2716 /** Performs a functor on each of the targets of a functor.
2717 * The function overload for sigc::bound_const_mem_functor performs a functor
2718 * on the object instance stored in the sigc::bound_const_mem_functor object.
2722 template <class T_return, class T_obj, class T_arg1>
2723 struct visitor<bound_const_mem_functor1<T_return, T_obj, T_arg1> >
2725 template <class T_action>
2726 static void do_visit_each(const T_action& _A_action,
2727 const bound_const_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
2729 sigc::visit_each(_A_action, _A_target.obj_);
2732 #endif // DOXYGEN_SHOULD_SKIP_THIS
2734 /** bound_const_mem_functor2 encapsulates a const method with 2 arguments and an object instance.
2735 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor2.
2737 * The following template arguments are used:
2738 * - @e T_arg1 Argument type used in the definition of operator()().
2739 * - @e T_arg2 Argument type used in the definition of operator()().
2740 * - @e T_return The return type of operator()().
2741 * - @e T_obj The object type.
2745 template <class T_return, class T_obj, class T_arg1, class T_arg2>
2746 class bound_const_mem_functor2
2747 : public const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
2749 typedef const_mem_functor2<T_return, T_obj, T_arg1, T_arg2> base_type_;
2751 typedef typename base_type_::function_type function_type;
2753 #ifndef SIGCXX_DISABLE_DEPRECATED
2754 /** Constructs a bound_const_mem_functor2 object that wraps the passed method.
2756 * @deprecated Please use the constructor that takes the object by reference
2759 * @param _A_obj Pointer to instance the method will operate on.
2760 * @param _A_func Pointer to method will be invoked from operator()().
2762 bound_const_mem_functor2(const T_obj* _A_obj, function_type _A_func)
2763 : base_type_(_A_func),
2766 #endif // SIGCXX_DISABLE_DEPRECATED
2768 /** Constructs a bound_const_mem_functor2 object that wraps the passed method.
2769 * @param _A_obj Reference to instance the method will operate on.
2770 * @param _A_func Pointer to method will be invoked from operator()().
2772 bound_const_mem_functor2(const T_obj& _A_obj, function_type _A_func)
2773 : base_type_(_A_func),
2777 /** Execute the wrapped method operating on the stored instance.
2778 * @param _A_a1 Argument to be passed on to the method.
2779 * @param _A_a2 Argument to be passed on to the method.
2780 * @return The return value of the method invocation.
2782 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
2783 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2); }
2786 // Reference to stored object instance.
2787 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2788 const_limit_reference<T_obj> obj_;
2791 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2792 //template specialization of visitor<>::do_visit_each<>(action, functor):
2793 /** Performs a functor on each of the targets of a functor.
2794 * The function overload for sigc::bound_const_mem_functor performs a functor
2795 * on the object instance stored in the sigc::bound_const_mem_functor object.
2799 template <class T_return, class T_obj, class T_arg1, class T_arg2>
2800 struct visitor<bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2> >
2802 template <class T_action>
2803 static void do_visit_each(const T_action& _A_action,
2804 const bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_target)
2806 sigc::visit_each(_A_action, _A_target.obj_);
2809 #endif // DOXYGEN_SHOULD_SKIP_THIS
2811 /** bound_const_mem_functor3 encapsulates a const method with 3 arguments and an object instance.
2812 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor3.
2814 * The following template arguments are used:
2815 * - @e T_arg1 Argument type used in the definition of operator()().
2816 * - @e T_arg2 Argument type used in the definition of operator()().
2817 * - @e T_arg3 Argument type used in the definition of operator()().
2818 * - @e T_return The return type of operator()().
2819 * - @e T_obj The object type.
2823 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
2824 class bound_const_mem_functor3
2825 : public const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
2827 typedef const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3> base_type_;
2829 typedef typename base_type_::function_type function_type;
2831 #ifndef SIGCXX_DISABLE_DEPRECATED
2832 /** Constructs a bound_const_mem_functor3 object that wraps the passed method.
2834 * @deprecated Please use the constructor that takes the object by reference
2837 * @param _A_obj Pointer to instance the method will operate on.
2838 * @param _A_func Pointer to method will be invoked from operator()().
2840 bound_const_mem_functor3(const T_obj* _A_obj, function_type _A_func)
2841 : base_type_(_A_func),
2844 #endif // SIGCXX_DISABLE_DEPRECATED
2846 /** Constructs a bound_const_mem_functor3 object that wraps the passed method.
2847 * @param _A_obj Reference to instance the method will operate on.
2848 * @param _A_func Pointer to method will be invoked from operator()().
2850 bound_const_mem_functor3(const T_obj& _A_obj, function_type _A_func)
2851 : base_type_(_A_func),
2855 /** Execute the wrapped method operating on the stored instance.
2856 * @param _A_a1 Argument to be passed on to the method.
2857 * @param _A_a2 Argument to be passed on to the method.
2858 * @param _A_a3 Argument to be passed on to the method.
2859 * @return The return value of the method invocation.
2861 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
2862 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3); }
2865 // Reference to stored object instance.
2866 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2867 const_limit_reference<T_obj> obj_;
2870 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2871 //template specialization of visitor<>::do_visit_each<>(action, functor):
2872 /** Performs a functor on each of the targets of a functor.
2873 * The function overload for sigc::bound_const_mem_functor performs a functor
2874 * on the object instance stored in the sigc::bound_const_mem_functor object.
2878 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
2879 struct visitor<bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3> >
2881 template <class T_action>
2882 static void do_visit_each(const T_action& _A_action,
2883 const bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_target)
2885 sigc::visit_each(_A_action, _A_target.obj_);
2888 #endif // DOXYGEN_SHOULD_SKIP_THIS
2890 /** bound_const_mem_functor4 encapsulates a const method with 4 arguments and an object instance.
2891 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor4.
2893 * The following template arguments are used:
2894 * - @e T_arg1 Argument type used in the definition of operator()().
2895 * - @e T_arg2 Argument type used in the definition of operator()().
2896 * - @e T_arg3 Argument type used in the definition of operator()().
2897 * - @e T_arg4 Argument type used in the definition of operator()().
2898 * - @e T_return The return type of operator()().
2899 * - @e T_obj The object type.
2903 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
2904 class bound_const_mem_functor4
2905 : public const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
2907 typedef const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4> base_type_;
2909 typedef typename base_type_::function_type function_type;
2911 #ifndef SIGCXX_DISABLE_DEPRECATED
2912 /** Constructs a bound_const_mem_functor4 object that wraps the passed method.
2914 * @deprecated Please use the constructor that takes the object by reference
2917 * @param _A_obj Pointer to instance the method will operate on.
2918 * @param _A_func Pointer to method will be invoked from operator()().
2920 bound_const_mem_functor4(const T_obj* _A_obj, function_type _A_func)
2921 : base_type_(_A_func),
2924 #endif // SIGCXX_DISABLE_DEPRECATED
2926 /** Constructs a bound_const_mem_functor4 object that wraps the passed method.
2927 * @param _A_obj Reference to instance the method will operate on.
2928 * @param _A_func Pointer to method will be invoked from operator()().
2930 bound_const_mem_functor4(const T_obj& _A_obj, function_type _A_func)
2931 : base_type_(_A_func),
2935 /** Execute the wrapped method operating on the stored instance.
2936 * @param _A_a1 Argument to be passed on to the method.
2937 * @param _A_a2 Argument to be passed on to the method.
2938 * @param _A_a3 Argument to be passed on to the method.
2939 * @param _A_a4 Argument to be passed on to the method.
2940 * @return The return value of the method invocation.
2942 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
2943 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4); }
2946 // Reference to stored object instance.
2947 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2948 const_limit_reference<T_obj> obj_;
2951 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2952 //template specialization of visitor<>::do_visit_each<>(action, functor):
2953 /** Performs a functor on each of the targets of a functor.
2954 * The function overload for sigc::bound_const_mem_functor performs a functor
2955 * on the object instance stored in the sigc::bound_const_mem_functor object.
2959 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
2960 struct visitor<bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4> >
2962 template <class T_action>
2963 static void do_visit_each(const T_action& _A_action,
2964 const bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_target)
2966 sigc::visit_each(_A_action, _A_target.obj_);
2969 #endif // DOXYGEN_SHOULD_SKIP_THIS
2971 /** bound_const_mem_functor5 encapsulates a const method with 5 arguments and an object instance.
2972 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor5.
2974 * The following template arguments are used:
2975 * - @e T_arg1 Argument type used in the definition of operator()().
2976 * - @e T_arg2 Argument type used in the definition of operator()().
2977 * - @e T_arg3 Argument type used in the definition of operator()().
2978 * - @e T_arg4 Argument type used in the definition of operator()().
2979 * - @e T_arg5 Argument type used in the definition of operator()().
2980 * - @e T_return The return type of operator()().
2981 * - @e T_obj The object type.
2985 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
2986 class bound_const_mem_functor5
2987 : public const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
2989 typedef const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> base_type_;
2991 typedef typename base_type_::function_type function_type;
2993 #ifndef SIGCXX_DISABLE_DEPRECATED
2994 /** Constructs a bound_const_mem_functor5 object that wraps the passed method.
2996 * @deprecated Please use the constructor that takes the object by reference
2999 * @param _A_obj Pointer to instance the method will operate on.
3000 * @param _A_func Pointer to method will be invoked from operator()().
3002 bound_const_mem_functor5(const T_obj* _A_obj, function_type _A_func)
3003 : base_type_(_A_func),
3006 #endif // SIGCXX_DISABLE_DEPRECATED
3008 /** Constructs a bound_const_mem_functor5 object that wraps the passed method.
3009 * @param _A_obj Reference to instance the method will operate on.
3010 * @param _A_func Pointer to method will be invoked from operator()().
3012 bound_const_mem_functor5(const T_obj& _A_obj, function_type _A_func)
3013 : base_type_(_A_func),
3017 /** Execute the wrapped method operating on the stored instance.
3018 * @param _A_a1 Argument to be passed on to the method.
3019 * @param _A_a2 Argument to be passed on to the method.
3020 * @param _A_a3 Argument to be passed on to the method.
3021 * @param _A_a4 Argument to be passed on to the method.
3022 * @param _A_a5 Argument to be passed on to the method.
3023 * @return The return value of the method invocation.
3025 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
3026 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
3029 // Reference to stored object instance.
3030 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3031 const_limit_reference<T_obj> obj_;
3034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3035 //template specialization of visitor<>::do_visit_each<>(action, functor):
3036 /** Performs a functor on each of the targets of a functor.
3037 * The function overload for sigc::bound_const_mem_functor performs a functor
3038 * on the object instance stored in the sigc::bound_const_mem_functor object.
3042 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
3043 struct visitor<bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> >
3045 template <class T_action>
3046 static void do_visit_each(const T_action& _A_action,
3047 const bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_target)
3049 sigc::visit_each(_A_action, _A_target.obj_);
3052 #endif // DOXYGEN_SHOULD_SKIP_THIS
3054 /** bound_const_mem_functor6 encapsulates a const method with 6 arguments and an object instance.
3055 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor6.
3057 * The following template arguments are used:
3058 * - @e T_arg1 Argument type used in the definition of operator()().
3059 * - @e T_arg2 Argument type used in the definition of operator()().
3060 * - @e T_arg3 Argument type used in the definition of operator()().
3061 * - @e T_arg4 Argument type used in the definition of operator()().
3062 * - @e T_arg5 Argument type used in the definition of operator()().
3063 * - @e T_arg6 Argument type used in the definition of operator()().
3064 * - @e T_return The return type of operator()().
3065 * - @e T_obj The object type.
3069 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>
3070 class bound_const_mem_functor6
3071 : public const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
3073 typedef const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> base_type_;
3075 typedef typename base_type_::function_type function_type;
3077 #ifndef SIGCXX_DISABLE_DEPRECATED
3078 /** Constructs a bound_const_mem_functor6 object that wraps the passed method.
3080 * @deprecated Please use the constructor that takes the object by reference
3083 * @param _A_obj Pointer to instance the method will operate on.
3084 * @param _A_func Pointer to method will be invoked from operator()().
3086 bound_const_mem_functor6(const T_obj* _A_obj, function_type _A_func)
3087 : base_type_(_A_func),
3090 #endif // SIGCXX_DISABLE_DEPRECATED
3092 /** Constructs a bound_const_mem_functor6 object that wraps the passed method.
3093 * @param _A_obj Reference to instance the method will operate on.
3094 * @param _A_func Pointer to method will be invoked from operator()().
3096 bound_const_mem_functor6(const T_obj& _A_obj, function_type _A_func)
3097 : base_type_(_A_func),
3101 /** Execute the wrapped method operating on the stored instance.
3102 * @param _A_a1 Argument to be passed on to the method.
3103 * @param _A_a2 Argument to be passed on to the method.
3104 * @param _A_a3 Argument to be passed on to the method.
3105 * @param _A_a4 Argument to be passed on to the method.
3106 * @param _A_a5 Argument to be passed on to the method.
3107 * @param _A_a6 Argument to be passed on to the method.
3108 * @return The return value of the method invocation.
3110 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
3111 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
3114 // Reference to stored object instance.
3115 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3116 const_limit_reference<T_obj> obj_;
3119 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3120 //template specialization of visitor<>::do_visit_each<>(action, functor):
3121 /** Performs a functor on each of the targets of a functor.
3122 * The function overload for sigc::bound_const_mem_functor performs a functor
3123 * on the object instance stored in the sigc::bound_const_mem_functor object.
3127 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>
3128 struct visitor<bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> >
3130 template <class T_action>
3131 static void do_visit_each(const T_action& _A_action,
3132 const bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_target)
3134 sigc::visit_each(_A_action, _A_target.obj_);
3137 #endif // DOXYGEN_SHOULD_SKIP_THIS
3139 /** bound_const_mem_functor7 encapsulates a const method with 7 arguments and an object instance.
3140 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor7.
3142 * The following template arguments are used:
3143 * - @e T_arg1 Argument type used in the definition of operator()().
3144 * - @e T_arg2 Argument type used in the definition of operator()().
3145 * - @e T_arg3 Argument type used in the definition of operator()().
3146 * - @e T_arg4 Argument type used in the definition of operator()().
3147 * - @e T_arg5 Argument type used in the definition of operator()().
3148 * - @e T_arg6 Argument type used in the definition of operator()().
3149 * - @e T_arg7 Argument type used in the definition of operator()().
3150 * - @e T_return The return type of operator()().
3151 * - @e T_obj The object type.
3155 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>
3156 class bound_const_mem_functor7
3157 : public const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
3159 typedef const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> base_type_;
3161 typedef typename base_type_::function_type function_type;
3163 #ifndef SIGCXX_DISABLE_DEPRECATED
3164 /** Constructs a bound_const_mem_functor7 object that wraps the passed method.
3166 * @deprecated Please use the constructor that takes the object by reference
3169 * @param _A_obj Pointer to instance the method will operate on.
3170 * @param _A_func Pointer to method will be invoked from operator()().
3172 bound_const_mem_functor7(const T_obj* _A_obj, function_type _A_func)
3173 : base_type_(_A_func),
3176 #endif // SIGCXX_DISABLE_DEPRECATED
3178 /** Constructs a bound_const_mem_functor7 object that wraps the passed method.
3179 * @param _A_obj Reference to instance the method will operate on.
3180 * @param _A_func Pointer to method will be invoked from operator()().
3182 bound_const_mem_functor7(const T_obj& _A_obj, function_type _A_func)
3183 : base_type_(_A_func),
3187 /** Execute the wrapped method operating on the stored instance.
3188 * @param _A_a1 Argument to be passed on to the method.
3189 * @param _A_a2 Argument to be passed on to the method.
3190 * @param _A_a3 Argument to be passed on to the method.
3191 * @param _A_a4 Argument to be passed on to the method.
3192 * @param _A_a5 Argument to be passed on to the method.
3193 * @param _A_a6 Argument to be passed on to the method.
3194 * @param _A_a7 Argument to be passed on to the method.
3195 * @return The return value of the method invocation.
3197 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
3198 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
3201 // Reference to stored object instance.
3202 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3203 const_limit_reference<T_obj> obj_;
3206 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3207 //template specialization of visitor<>::do_visit_each<>(action, functor):
3208 /** Performs a functor on each of the targets of a functor.
3209 * The function overload for sigc::bound_const_mem_functor performs a functor
3210 * on the object instance stored in the sigc::bound_const_mem_functor object.
3214 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>
3215 struct visitor<bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> >
3217 template <class T_action>
3218 static void do_visit_each(const T_action& _A_action,
3219 const bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_target)
3221 sigc::visit_each(_A_action, _A_target.obj_);
3224 #endif // DOXYGEN_SHOULD_SKIP_THIS
3226 /** bound_volatile_mem_functor0 encapsulates a volatile method with 0 arguments and an object instance.
3227 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor0.
3229 * The following template arguments are used:
3230 * - @e T_return The return type of operator()().
3231 * - @e T_obj The object type.
3235 template <class T_return, class T_obj>
3236 class bound_volatile_mem_functor0
3237 : public volatile_mem_functor0<T_return, T_obj>
3239 typedef volatile_mem_functor0<T_return, T_obj> base_type_;
3241 typedef typename base_type_::function_type function_type;
3243 #ifndef SIGCXX_DISABLE_DEPRECATED
3244 /** Constructs a bound_volatile_mem_functor0 object that wraps the passed method.
3246 * @deprecated Please use the constructor that takes the object by reference
3249 * @param _A_obj Pointer to instance the method will operate on.
3250 * @param _A_func Pointer to method will be invoked from operator()().
3252 bound_volatile_mem_functor0( T_obj* _A_obj, function_type _A_func)
3253 : base_type_(_A_func),
3256 #endif // SIGCXX_DISABLE_DEPRECATED
3258 /** Constructs a bound_volatile_mem_functor0 object that wraps the passed method.
3259 * @param _A_obj Reference to instance the method will operate on.
3260 * @param _A_func Pointer to method will be invoked from operator()().
3262 bound_volatile_mem_functor0( T_obj& _A_obj, function_type _A_func)
3263 : base_type_(_A_func),
3267 /** Execute the wrapped method operating on the stored instance.
3268 * @return The return value of the method invocation.
3270 T_return operator()() const
3271 { return (obj_.invoke().*(this->func_ptr_))(); }
3274 // Reference to stored object instance.
3275 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3276 volatile_limit_reference<T_obj> obj_;
3279 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3280 //template specialization of visitor<>::do_visit_each<>(action, functor):
3281 /** Performs a functor on each of the targets of a functor.
3282 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3283 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3287 template <class T_return, class T_obj>
3288 struct visitor<bound_volatile_mem_functor0<T_return, T_obj> >
3290 template <class T_action>
3291 static void do_visit_each(const T_action& _A_action,
3292 const bound_volatile_mem_functor0<T_return, T_obj>& _A_target)
3294 sigc::visit_each(_A_action, _A_target.obj_);
3297 #endif // DOXYGEN_SHOULD_SKIP_THIS
3299 /** bound_volatile_mem_functor1 encapsulates a volatile method with 1 arguments and an object instance.
3300 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor1.
3302 * The following template arguments are used:
3303 * - @e T_arg1 Argument type used in the definition of operator()().
3304 * - @e T_return The return type of operator()().
3305 * - @e T_obj The object type.
3309 template <class T_return, class T_obj, class T_arg1>
3310 class bound_volatile_mem_functor1
3311 : public volatile_mem_functor1<T_return, T_obj, T_arg1>
3313 typedef volatile_mem_functor1<T_return, T_obj, T_arg1> base_type_;
3315 typedef typename base_type_::function_type function_type;
3317 #ifndef SIGCXX_DISABLE_DEPRECATED
3318 /** Constructs a bound_volatile_mem_functor1 object that wraps the passed method.
3320 * @deprecated Please use the constructor that takes the object by reference
3323 * @param _A_obj Pointer to instance the method will operate on.
3324 * @param _A_func Pointer to method will be invoked from operator()().
3326 bound_volatile_mem_functor1( T_obj* _A_obj, function_type _A_func)
3327 : base_type_(_A_func),
3330 #endif // SIGCXX_DISABLE_DEPRECATED
3332 /** Constructs a bound_volatile_mem_functor1 object that wraps the passed method.
3333 * @param _A_obj Reference to instance the method will operate on.
3334 * @param _A_func Pointer to method will be invoked from operator()().
3336 bound_volatile_mem_functor1( T_obj& _A_obj, function_type _A_func)
3337 : base_type_(_A_func),
3341 /** Execute the wrapped method operating on the stored instance.
3342 * @param _A_a1 Argument to be passed on to the method.
3343 * @return The return value of the method invocation.
3345 T_return operator()(type_trait_take_t<T_arg1> _A_a1) const
3346 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); }
3349 // Reference to stored object instance.
3350 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3351 volatile_limit_reference<T_obj> obj_;
3354 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3355 //template specialization of visitor<>::do_visit_each<>(action, functor):
3356 /** Performs a functor on each of the targets of a functor.
3357 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3358 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3362 template <class T_return, class T_obj, class T_arg1>
3363 struct visitor<bound_volatile_mem_functor1<T_return, T_obj, T_arg1> >
3365 template <class T_action>
3366 static void do_visit_each(const T_action& _A_action,
3367 const bound_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
3369 sigc::visit_each(_A_action, _A_target.obj_);
3372 #endif // DOXYGEN_SHOULD_SKIP_THIS
3374 /** bound_volatile_mem_functor2 encapsulates a volatile method with 2 arguments and an object instance.
3375 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor2.
3377 * The following template arguments are used:
3378 * - @e T_arg1 Argument type used in the definition of operator()().
3379 * - @e T_arg2 Argument type used in the definition of operator()().
3380 * - @e T_return The return type of operator()().
3381 * - @e T_obj The object type.
3385 template <class T_return, class T_obj, class T_arg1, class T_arg2>
3386 class bound_volatile_mem_functor2
3387 : public volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
3389 typedef volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2> base_type_;
3391 typedef typename base_type_::function_type function_type;
3393 #ifndef SIGCXX_DISABLE_DEPRECATED
3394 /** Constructs a bound_volatile_mem_functor2 object that wraps the passed method.
3396 * @deprecated Please use the constructor that takes the object by reference
3399 * @param _A_obj Pointer to instance the method will operate on.
3400 * @param _A_func Pointer to method will be invoked from operator()().
3402 bound_volatile_mem_functor2( T_obj* _A_obj, function_type _A_func)
3403 : base_type_(_A_func),
3406 #endif // SIGCXX_DISABLE_DEPRECATED
3408 /** Constructs a bound_volatile_mem_functor2 object that wraps the passed method.
3409 * @param _A_obj Reference to instance the method will operate on.
3410 * @param _A_func Pointer to method will be invoked from operator()().
3412 bound_volatile_mem_functor2( T_obj& _A_obj, function_type _A_func)
3413 : base_type_(_A_func),
3417 /** Execute the wrapped method operating on the stored instance.
3418 * @param _A_a1 Argument to be passed on to the method.
3419 * @param _A_a2 Argument to be passed on to the method.
3420 * @return The return value of the method invocation.
3422 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
3423 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2); }
3426 // Reference to stored object instance.
3427 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3428 volatile_limit_reference<T_obj> obj_;
3431 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3432 //template specialization of visitor<>::do_visit_each<>(action, functor):
3433 /** Performs a functor on each of the targets of a functor.
3434 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3435 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3439 template <class T_return, class T_obj, class T_arg1, class T_arg2>
3440 struct visitor<bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2> >
3442 template <class T_action>
3443 static void do_visit_each(const T_action& _A_action,
3444 const bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_target)
3446 sigc::visit_each(_A_action, _A_target.obj_);
3449 #endif // DOXYGEN_SHOULD_SKIP_THIS
3451 /** bound_volatile_mem_functor3 encapsulates a volatile method with 3 arguments and an object instance.
3452 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor3.
3454 * The following template arguments are used:
3455 * - @e T_arg1 Argument type used in the definition of operator()().
3456 * - @e T_arg2 Argument type used in the definition of operator()().
3457 * - @e T_arg3 Argument type used in the definition of operator()().
3458 * - @e T_return The return type of operator()().
3459 * - @e T_obj The object type.
3463 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
3464 class bound_volatile_mem_functor3
3465 : public volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
3467 typedef volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3> base_type_;
3469 typedef typename base_type_::function_type function_type;
3471 #ifndef SIGCXX_DISABLE_DEPRECATED
3472 /** Constructs a bound_volatile_mem_functor3 object that wraps the passed method.
3474 * @deprecated Please use the constructor that takes the object by reference
3477 * @param _A_obj Pointer to instance the method will operate on.
3478 * @param _A_func Pointer to method will be invoked from operator()().
3480 bound_volatile_mem_functor3( T_obj* _A_obj, function_type _A_func)
3481 : base_type_(_A_func),
3484 #endif // SIGCXX_DISABLE_DEPRECATED
3486 /** Constructs a bound_volatile_mem_functor3 object that wraps the passed method.
3487 * @param _A_obj Reference to instance the method will operate on.
3488 * @param _A_func Pointer to method will be invoked from operator()().
3490 bound_volatile_mem_functor3( T_obj& _A_obj, function_type _A_func)
3491 : base_type_(_A_func),
3495 /** Execute the wrapped method operating on the stored instance.
3496 * @param _A_a1 Argument to be passed on to the method.
3497 * @param _A_a2 Argument to be passed on to the method.
3498 * @param _A_a3 Argument to be passed on to the method.
3499 * @return The return value of the method invocation.
3501 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
3502 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3); }
3505 // Reference to stored object instance.
3506 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3507 volatile_limit_reference<T_obj> obj_;
3510 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3511 //template specialization of visitor<>::do_visit_each<>(action, functor):
3512 /** Performs a functor on each of the targets of a functor.
3513 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3514 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3518 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
3519 struct visitor<bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3> >
3521 template <class T_action>
3522 static void do_visit_each(const T_action& _A_action,
3523 const bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_target)
3525 sigc::visit_each(_A_action, _A_target.obj_);
3528 #endif // DOXYGEN_SHOULD_SKIP_THIS
3530 /** bound_volatile_mem_functor4 encapsulates a volatile method with 4 arguments and an object instance.
3531 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor4.
3533 * The following template arguments are used:
3534 * - @e T_arg1 Argument type used in the definition of operator()().
3535 * - @e T_arg2 Argument type used in the definition of operator()().
3536 * - @e T_arg3 Argument type used in the definition of operator()().
3537 * - @e T_arg4 Argument type used in the definition of operator()().
3538 * - @e T_return The return type of operator()().
3539 * - @e T_obj The object type.
3543 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
3544 class bound_volatile_mem_functor4
3545 : public volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
3547 typedef volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4> base_type_;
3549 typedef typename base_type_::function_type function_type;
3551 #ifndef SIGCXX_DISABLE_DEPRECATED
3552 /** Constructs a bound_volatile_mem_functor4 object that wraps the passed method.
3554 * @deprecated Please use the constructor that takes the object by reference
3557 * @param _A_obj Pointer to instance the method will operate on.
3558 * @param _A_func Pointer to method will be invoked from operator()().
3560 bound_volatile_mem_functor4( T_obj* _A_obj, function_type _A_func)
3561 : base_type_(_A_func),
3564 #endif // SIGCXX_DISABLE_DEPRECATED
3566 /** Constructs a bound_volatile_mem_functor4 object that wraps the passed method.
3567 * @param _A_obj Reference to instance the method will operate on.
3568 * @param _A_func Pointer to method will be invoked from operator()().
3570 bound_volatile_mem_functor4( T_obj& _A_obj, function_type _A_func)
3571 : base_type_(_A_func),
3575 /** Execute the wrapped method operating on the stored instance.
3576 * @param _A_a1 Argument to be passed on to the method.
3577 * @param _A_a2 Argument to be passed on to the method.
3578 * @param _A_a3 Argument to be passed on to the method.
3579 * @param _A_a4 Argument to be passed on to the method.
3580 * @return The return value of the method invocation.
3582 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
3583 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4); }
3586 // Reference to stored object instance.
3587 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3588 volatile_limit_reference<T_obj> obj_;
3591 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3592 //template specialization of visitor<>::do_visit_each<>(action, functor):
3593 /** Performs a functor on each of the targets of a functor.
3594 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3595 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3599 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
3600 struct visitor<bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4> >
3602 template <class T_action>
3603 static void do_visit_each(const T_action& _A_action,
3604 const bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_target)
3606 sigc::visit_each(_A_action, _A_target.obj_);
3609 #endif // DOXYGEN_SHOULD_SKIP_THIS
3611 /** bound_volatile_mem_functor5 encapsulates a volatile method with 5 arguments and an object instance.
3612 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor5.
3614 * The following template arguments are used:
3615 * - @e T_arg1 Argument type used in the definition of operator()().
3616 * - @e T_arg2 Argument type used in the definition of operator()().
3617 * - @e T_arg3 Argument type used in the definition of operator()().
3618 * - @e T_arg4 Argument type used in the definition of operator()().
3619 * - @e T_arg5 Argument type used in the definition of operator()().
3620 * - @e T_return The return type of operator()().
3621 * - @e T_obj The object type.
3625 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
3626 class bound_volatile_mem_functor5
3627 : public volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
3629 typedef volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> base_type_;
3631 typedef typename base_type_::function_type function_type;
3633 #ifndef SIGCXX_DISABLE_DEPRECATED
3634 /** Constructs a bound_volatile_mem_functor5 object that wraps the passed method.
3636 * @deprecated Please use the constructor that takes the object by reference
3639 * @param _A_obj Pointer to instance the method will operate on.
3640 * @param _A_func Pointer to method will be invoked from operator()().
3642 bound_volatile_mem_functor5( T_obj* _A_obj, function_type _A_func)
3643 : base_type_(_A_func),
3646 #endif // SIGCXX_DISABLE_DEPRECATED
3648 /** Constructs a bound_volatile_mem_functor5 object that wraps the passed method.
3649 * @param _A_obj Reference to instance the method will operate on.
3650 * @param _A_func Pointer to method will be invoked from operator()().
3652 bound_volatile_mem_functor5( T_obj& _A_obj, function_type _A_func)
3653 : base_type_(_A_func),
3657 /** Execute the wrapped method operating on the stored instance.
3658 * @param _A_a1 Argument to be passed on to the method.
3659 * @param _A_a2 Argument to be passed on to the method.
3660 * @param _A_a3 Argument to be passed on to the method.
3661 * @param _A_a4 Argument to be passed on to the method.
3662 * @param _A_a5 Argument to be passed on to the method.
3663 * @return The return value of the method invocation.
3665 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
3666 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
3669 // Reference to stored object instance.
3670 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3671 volatile_limit_reference<T_obj> obj_;
3674 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3675 //template specialization of visitor<>::do_visit_each<>(action, functor):
3676 /** Performs a functor on each of the targets of a functor.
3677 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3678 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3682 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
3683 struct visitor<bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> >
3685 template <class T_action>
3686 static void do_visit_each(const T_action& _A_action,
3687 const bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_target)
3689 sigc::visit_each(_A_action, _A_target.obj_);
3692 #endif // DOXYGEN_SHOULD_SKIP_THIS
3694 /** bound_volatile_mem_functor6 encapsulates a volatile method with 6 arguments and an object instance.
3695 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor6.
3697 * The following template arguments are used:
3698 * - @e T_arg1 Argument type used in the definition of operator()().
3699 * - @e T_arg2 Argument type used in the definition of operator()().
3700 * - @e T_arg3 Argument type used in the definition of operator()().
3701 * - @e T_arg4 Argument type used in the definition of operator()().
3702 * - @e T_arg5 Argument type used in the definition of operator()().
3703 * - @e T_arg6 Argument type used in the definition of operator()().
3704 * - @e T_return The return type of operator()().
3705 * - @e T_obj The object type.
3709 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>
3710 class bound_volatile_mem_functor6
3711 : public volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
3713 typedef volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> base_type_;
3715 typedef typename base_type_::function_type function_type;
3717 #ifndef SIGCXX_DISABLE_DEPRECATED
3718 /** Constructs a bound_volatile_mem_functor6 object that wraps the passed method.
3720 * @deprecated Please use the constructor that takes the object by reference
3723 * @param _A_obj Pointer to instance the method will operate on.
3724 * @param _A_func Pointer to method will be invoked from operator()().
3726 bound_volatile_mem_functor6( T_obj* _A_obj, function_type _A_func)
3727 : base_type_(_A_func),
3730 #endif // SIGCXX_DISABLE_DEPRECATED
3732 /** Constructs a bound_volatile_mem_functor6 object that wraps the passed method.
3733 * @param _A_obj Reference to instance the method will operate on.
3734 * @param _A_func Pointer to method will be invoked from operator()().
3736 bound_volatile_mem_functor6( T_obj& _A_obj, function_type _A_func)
3737 : base_type_(_A_func),
3741 /** Execute the wrapped method operating on the stored instance.
3742 * @param _A_a1 Argument to be passed on to the method.
3743 * @param _A_a2 Argument to be passed on to the method.
3744 * @param _A_a3 Argument to be passed on to the method.
3745 * @param _A_a4 Argument to be passed on to the method.
3746 * @param _A_a5 Argument to be passed on to the method.
3747 * @param _A_a6 Argument to be passed on to the method.
3748 * @return The return value of the method invocation.
3750 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
3751 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
3754 // Reference to stored object instance.
3755 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3756 volatile_limit_reference<T_obj> obj_;
3759 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3760 //template specialization of visitor<>::do_visit_each<>(action, functor):
3761 /** Performs a functor on each of the targets of a functor.
3762 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3763 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3767 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>
3768 struct visitor<bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> >
3770 template <class T_action>
3771 static void do_visit_each(const T_action& _A_action,
3772 const bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_target)
3774 sigc::visit_each(_A_action, _A_target.obj_);
3777 #endif // DOXYGEN_SHOULD_SKIP_THIS
3779 /** bound_volatile_mem_functor7 encapsulates a volatile method with 7 arguments and an object instance.
3780 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor7.
3782 * The following template arguments are used:
3783 * - @e T_arg1 Argument type used in the definition of operator()().
3784 * - @e T_arg2 Argument type used in the definition of operator()().
3785 * - @e T_arg3 Argument type used in the definition of operator()().
3786 * - @e T_arg4 Argument type used in the definition of operator()().
3787 * - @e T_arg5 Argument type used in the definition of operator()().
3788 * - @e T_arg6 Argument type used in the definition of operator()().
3789 * - @e T_arg7 Argument type used in the definition of operator()().
3790 * - @e T_return The return type of operator()().
3791 * - @e T_obj The object type.
3795 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>
3796 class bound_volatile_mem_functor7
3797 : public volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
3799 typedef volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> base_type_;
3801 typedef typename base_type_::function_type function_type;
3803 #ifndef SIGCXX_DISABLE_DEPRECATED
3804 /** Constructs a bound_volatile_mem_functor7 object that wraps the passed method.
3806 * @deprecated Please use the constructor that takes the object by reference
3809 * @param _A_obj Pointer to instance the method will operate on.
3810 * @param _A_func Pointer to method will be invoked from operator()().
3812 bound_volatile_mem_functor7( T_obj* _A_obj, function_type _A_func)
3813 : base_type_(_A_func),
3816 #endif // SIGCXX_DISABLE_DEPRECATED
3818 /** Constructs a bound_volatile_mem_functor7 object that wraps the passed method.
3819 * @param _A_obj Reference to instance the method will operate on.
3820 * @param _A_func Pointer to method will be invoked from operator()().
3822 bound_volatile_mem_functor7( T_obj& _A_obj, function_type _A_func)
3823 : base_type_(_A_func),
3827 /** Execute the wrapped method operating on the stored instance.
3828 * @param _A_a1 Argument to be passed on to the method.
3829 * @param _A_a2 Argument to be passed on to the method.
3830 * @param _A_a3 Argument to be passed on to the method.
3831 * @param _A_a4 Argument to be passed on to the method.
3832 * @param _A_a5 Argument to be passed on to the method.
3833 * @param _A_a6 Argument to be passed on to the method.
3834 * @param _A_a7 Argument to be passed on to the method.
3835 * @return The return value of the method invocation.
3837 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
3838 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
3841 // Reference to stored object instance.
3842 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3843 volatile_limit_reference<T_obj> obj_;
3846 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3847 //template specialization of visitor<>::do_visit_each<>(action, functor):
3848 /** Performs a functor on each of the targets of a functor.
3849 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3850 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3854 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>
3855 struct visitor<bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> >
3857 template <class T_action>
3858 static void do_visit_each(const T_action& _A_action,
3859 const bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>& _A_target)
3861 sigc::visit_each(_A_action, _A_target.obj_);
3864 #endif // DOXYGEN_SHOULD_SKIP_THIS
3866 /** bound_const_volatile_mem_functor0 encapsulates a const volatile method with 0 arguments and an object instance.
3867 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor0.
3869 * The following template arguments are used:
3870 * - @e T_return The return type of operator()().
3871 * - @e T_obj The object type.
3875 template <class T_return, class T_obj>
3876 class bound_const_volatile_mem_functor0
3877 : public const_volatile_mem_functor0<T_return, T_obj>
3879 typedef const_volatile_mem_functor0<T_return, T_obj> base_type_;
3881 typedef typename base_type_::function_type function_type;
3883 #ifndef SIGCXX_DISABLE_DEPRECATED
3884 /** Constructs a bound_const_volatile_mem_functor0 object that wraps the passed method.
3886 * @deprecated Please use the constructor that takes the object by reference
3889 * @param _A_obj Pointer to instance the method will operate on.
3890 * @param _A_func Pointer to method will be invoked from operator()().
3892 bound_const_volatile_mem_functor0(const T_obj* _A_obj, function_type _A_func)
3893 : base_type_(_A_func),
3896 #endif // SIGCXX_DISABLE_DEPRECATED
3898 /** Constructs a bound_const_volatile_mem_functor0 object that wraps the passed method.
3899 * @param _A_obj Reference to instance the method will operate on.
3900 * @param _A_func Pointer to method will be invoked from operator()().
3902 bound_const_volatile_mem_functor0(const T_obj& _A_obj, function_type _A_func)
3903 : base_type_(_A_func),
3907 /** Execute the wrapped method operating on the stored instance.
3908 * @return The return value of the method invocation.
3910 T_return operator()() const
3911 { return (obj_.invoke().*(this->func_ptr_))(); }
3914 // Reference to stored object instance.
3915 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3916 const_volatile_limit_reference<T_obj> obj_;
3919 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3920 //template specialization of visitor<>::do_visit_each<>(action, functor):
3921 /** Performs a functor on each of the targets of a functor.
3922 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3923 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3927 template <class T_return, class T_obj>
3928 struct visitor<bound_const_volatile_mem_functor0<T_return, T_obj> >
3930 template <class T_action>
3931 static void do_visit_each(const T_action& _A_action,
3932 const bound_const_volatile_mem_functor0<T_return, T_obj>& _A_target)
3934 sigc::visit_each(_A_action, _A_target.obj_);
3937 #endif // DOXYGEN_SHOULD_SKIP_THIS
3939 /** bound_const_volatile_mem_functor1 encapsulates a const volatile method with 1 arguments and an object instance.
3940 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor1.
3942 * The following template arguments are used:
3943 * - @e T_arg1 Argument type used in the definition of operator()().
3944 * - @e T_return The return type of operator()().
3945 * - @e T_obj The object type.
3949 template <class T_return, class T_obj, class T_arg1>
3950 class bound_const_volatile_mem_functor1
3951 : public const_volatile_mem_functor1<T_return, T_obj, T_arg1>
3953 typedef const_volatile_mem_functor1<T_return, T_obj, T_arg1> base_type_;
3955 typedef typename base_type_::function_type function_type;
3957 #ifndef SIGCXX_DISABLE_DEPRECATED
3958 /** Constructs a bound_const_volatile_mem_functor1 object that wraps the passed method.
3960 * @deprecated Please use the constructor that takes the object by reference
3963 * @param _A_obj Pointer to instance the method will operate on.
3964 * @param _A_func Pointer to method will be invoked from operator()().
3966 bound_const_volatile_mem_functor1(const T_obj* _A_obj, function_type _A_func)
3967 : base_type_(_A_func),
3970 #endif // SIGCXX_DISABLE_DEPRECATED
3972 /** Constructs a bound_const_volatile_mem_functor1 object that wraps the passed method.
3973 * @param _A_obj Reference to instance the method will operate on.
3974 * @param _A_func Pointer to method will be invoked from operator()().
3976 bound_const_volatile_mem_functor1(const T_obj& _A_obj, function_type _A_func)
3977 : base_type_(_A_func),
3981 /** Execute the wrapped method operating on the stored instance.
3982 * @param _A_a1 Argument to be passed on to the method.
3983 * @return The return value of the method invocation.
3985 T_return operator()(type_trait_take_t<T_arg1> _A_a1) const
3986 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); }
3989 // Reference to stored object instance.
3990 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3991 const_volatile_limit_reference<T_obj> obj_;
3994 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3995 //template specialization of visitor<>::do_visit_each<>(action, functor):
3996 /** Performs a functor on each of the targets of a functor.
3997 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3998 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
4002 template <class T_return, class T_obj, class T_arg1>
4003 struct visitor<bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1> >
4005 template <class T_action>
4006 static void do_visit_each(const T_action& _A_action,
4007 const bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
4009 sigc::visit_each(_A_action, _A_target.obj_);
4012 #endif // DOXYGEN_SHOULD_SKIP_THIS
4014 /** bound_const_volatile_mem_functor2 encapsulates a const volatile method with 2 arguments and an object instance.
4015 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor2.
4017 * The following template arguments are used:
4018 * - @e T_arg1 Argument type used in the definition of operator()().
4019 * - @e T_arg2 Argument type used in the definition of operator()().
4020 * - @e T_return The return type of operator()().
4021 * - @e T_obj The object type.
4025 template <class T_return, class T_obj, class T_arg1, class T_arg2>
4026 class bound_const_volatile_mem_functor2
4027 : public const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
4029 typedef const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2> base_type_;
4031 typedef typename base_type_::function_type function_type;
4033 #ifndef SIGCXX_DISABLE_DEPRECATED
4034 /** Constructs a bound_const_volatile_mem_functor2 object that wraps the passed method.
4036 * @deprecated Please use the constructor that takes the object by reference
4039 * @param _A_obj Pointer to instance the method will operate on.
4040 * @param _A_func Pointer to method will be invoked from operator()().
4042 bound_const_volatile_mem_functor2(const T_obj* _A_obj, function_type _A_func)
4043 : base_type_(_A_func),
4046 #endif // SIGCXX_DISABLE_DEPRECATED
4048 /** Constructs a bound_const_volatile_mem_functor2 object that wraps the passed method.
4049 * @param _A_obj Reference to instance the method will operate on.
4050 * @param _A_func Pointer to method will be invoked from operator()().
4052 bound_const_volatile_mem_functor2(const T_obj& _A_obj, function_type _A_func)
4053 : base_type_(_A_func),
4057 /** Execute the wrapped method operating on the stored instance.
4058 * @param _A_a1 Argument to be passed on to the method.
4059 * @param _A_a2 Argument to be passed on to the method.
4060 * @return The return value of the method invocation.
4062 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2) const
4063 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2); }
4066 // Reference to stored object instance.
4067 // This is the handler object, such as TheObject in void TheObject::signal_handler().
4068 const_volatile_limit_reference<T_obj> obj_;
4071 #ifndef DOXYGEN_SHOULD_SKIP_THIS
4072 //template specialization of visitor<>::do_visit_each<>(action, functor):
4073 /** Performs a functor on each of the targets of a functor.
4074 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
4075 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
4079 template <class T_return, class T_obj, class T_arg1, class T_arg2>
4080 struct visitor<bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2> >
4082 template <class T_action>
4083 static void do_visit_each(const T_action& _A_action,
4084 const bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>& _A_target)
4086 sigc::visit_each(_A_action, _A_target.obj_);
4089 #endif // DOXYGEN_SHOULD_SKIP_THIS
4091 /** bound_const_volatile_mem_functor3 encapsulates a const volatile method with 3 arguments and an object instance.
4092 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor3.
4094 * The following template arguments are used:
4095 * - @e T_arg1 Argument type used in the definition of operator()().
4096 * - @e T_arg2 Argument type used in the definition of operator()().
4097 * - @e T_arg3 Argument type used in the definition of operator()().
4098 * - @e T_return The return type of operator()().
4099 * - @e T_obj The object type.
4103 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
4104 class bound_const_volatile_mem_functor3
4105 : public const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
4107 typedef const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3> base_type_;
4109 typedef typename base_type_::function_type function_type;
4111 #ifndef SIGCXX_DISABLE_DEPRECATED
4112 /** Constructs a bound_const_volatile_mem_functor3 object that wraps the passed method.
4114 * @deprecated Please use the constructor that takes the object by reference
4117 * @param _A_obj Pointer to instance the method will operate on.
4118 * @param _A_func Pointer to method will be invoked from operator()().
4120 bound_const_volatile_mem_functor3(const T_obj* _A_obj, function_type _A_func)
4121 : base_type_(_A_func),
4124 #endif // SIGCXX_DISABLE_DEPRECATED
4126 /** Constructs a bound_const_volatile_mem_functor3 object that wraps the passed method.
4127 * @param _A_obj Reference to instance the method will operate on.
4128 * @param _A_func Pointer to method will be invoked from operator()().
4130 bound_const_volatile_mem_functor3(const T_obj& _A_obj, function_type _A_func)
4131 : base_type_(_A_func),
4135 /** Execute the wrapped method operating on the stored instance.
4136 * @param _A_a1 Argument to be passed on to the method.
4137 * @param _A_a2 Argument to be passed on to the method.
4138 * @param _A_a3 Argument to be passed on to the method.
4139 * @return The return value of the method invocation.
4141 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3) const
4142 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3); }
4145 // Reference to stored object instance.
4146 // This is the handler object, such as TheObject in void TheObject::signal_handler().
4147 const_volatile_limit_reference<T_obj> obj_;
4150 #ifndef DOXYGEN_SHOULD_SKIP_THIS
4151 //template specialization of visitor<>::do_visit_each<>(action, functor):
4152 /** Performs a functor on each of the targets of a functor.
4153 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
4154 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
4158 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3>
4159 struct visitor<bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3> >
4161 template <class T_action>
4162 static void do_visit_each(const T_action& _A_action,
4163 const bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>& _A_target)
4165 sigc::visit_each(_A_action, _A_target.obj_);
4168 #endif // DOXYGEN_SHOULD_SKIP_THIS
4170 /** bound_const_volatile_mem_functor4 encapsulates a const volatile method with 4 arguments and an object instance.
4171 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor4.
4173 * The following template arguments are used:
4174 * - @e T_arg1 Argument type used in the definition of operator()().
4175 * - @e T_arg2 Argument type used in the definition of operator()().
4176 * - @e T_arg3 Argument type used in the definition of operator()().
4177 * - @e T_arg4 Argument type used in the definition of operator()().
4178 * - @e T_return The return type of operator()().
4179 * - @e T_obj The object type.
4183 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
4184 class bound_const_volatile_mem_functor4
4185 : public const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
4187 typedef const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4> base_type_;
4189 typedef typename base_type_::function_type function_type;
4191 #ifndef SIGCXX_DISABLE_DEPRECATED
4192 /** Constructs a bound_const_volatile_mem_functor4 object that wraps the passed method.
4194 * @deprecated Please use the constructor that takes the object by reference
4197 * @param _A_obj Pointer to instance the method will operate on.
4198 * @param _A_func Pointer to method will be invoked from operator()().
4200 bound_const_volatile_mem_functor4(const T_obj* _A_obj, function_type _A_func)
4201 : base_type_(_A_func),
4204 #endif // SIGCXX_DISABLE_DEPRECATED
4206 /** Constructs a bound_const_volatile_mem_functor4 object that wraps the passed method.
4207 * @param _A_obj Reference to instance the method will operate on.
4208 * @param _A_func Pointer to method will be invoked from operator()().
4210 bound_const_volatile_mem_functor4(const T_obj& _A_obj, function_type _A_func)
4211 : base_type_(_A_func),
4215 /** Execute the wrapped method operating on the stored instance.
4216 * @param _A_a1 Argument to be passed on to the method.
4217 * @param _A_a2 Argument to be passed on to the method.
4218 * @param _A_a3 Argument to be passed on to the method.
4219 * @param _A_a4 Argument to be passed on to the method.
4220 * @return The return value of the method invocation.
4222 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4) const
4223 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4); }
4226 // Reference to stored object instance.
4227 // This is the handler object, such as TheObject in void TheObject::signal_handler().
4228 const_volatile_limit_reference<T_obj> obj_;
4231 #ifndef DOXYGEN_SHOULD_SKIP_THIS
4232 //template specialization of visitor<>::do_visit_each<>(action, functor):
4233 /** Performs a functor on each of the targets of a functor.
4234 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
4235 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
4239 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4>
4240 struct visitor<bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4> >
4242 template <class T_action>
4243 static void do_visit_each(const T_action& _A_action,
4244 const bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>& _A_target)
4246 sigc::visit_each(_A_action, _A_target.obj_);
4249 #endif // DOXYGEN_SHOULD_SKIP_THIS
4251 /** bound_const_volatile_mem_functor5 encapsulates a const volatile method with 5 arguments and an object instance.
4252 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor5.
4254 * The following template arguments are used:
4255 * - @e T_arg1 Argument type used in the definition of operator()().
4256 * - @e T_arg2 Argument type used in the definition of operator()().
4257 * - @e T_arg3 Argument type used in the definition of operator()().
4258 * - @e T_arg4 Argument type used in the definition of operator()().
4259 * - @e T_arg5 Argument type used in the definition of operator()().
4260 * - @e T_return The return type of operator()().
4261 * - @e T_obj The object type.
4265 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
4266 class bound_const_volatile_mem_functor5
4267 : public const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
4269 typedef const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> base_type_;
4271 typedef typename base_type_::function_type function_type;
4273 #ifndef SIGCXX_DISABLE_DEPRECATED
4274 /** Constructs a bound_const_volatile_mem_functor5 object that wraps the passed method.
4276 * @deprecated Please use the constructor that takes the object by reference
4279 * @param _A_obj Pointer to instance the method will operate on.
4280 * @param _A_func Pointer to method will be invoked from operator()().
4282 bound_const_volatile_mem_functor5(const T_obj* _A_obj, function_type _A_func)
4283 : base_type_(_A_func),
4286 #endif // SIGCXX_DISABLE_DEPRECATED
4288 /** Constructs a bound_const_volatile_mem_functor5 object that wraps the passed method.
4289 * @param _A_obj Reference to instance the method will operate on.
4290 * @param _A_func Pointer to method will be invoked from operator()().
4292 bound_const_volatile_mem_functor5(const T_obj& _A_obj, function_type _A_func)
4293 : base_type_(_A_func),
4297 /** Execute the wrapped method operating on the stored instance.
4298 * @param _A_a1 Argument to be passed on to the method.
4299 * @param _A_a2 Argument to be passed on to the method.
4300 * @param _A_a3 Argument to be passed on to the method.
4301 * @param _A_a4 Argument to be passed on to the method.
4302 * @param _A_a5 Argument to be passed on to the method.
4303 * @return The return value of the method invocation.
4305 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5) const
4306 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
4309 // Reference to stored object instance.
4310 // This is the handler object, such as TheObject in void TheObject::signal_handler().
4311 const_volatile_limit_reference<T_obj> obj_;
4314 #ifndef DOXYGEN_SHOULD_SKIP_THIS
4315 //template specialization of visitor<>::do_visit_each<>(action, functor):
4316 /** Performs a functor on each of the targets of a functor.
4317 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
4318 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
4322 template <class T_return, class T_obj, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5>
4323 struct visitor<bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> >
4325 template <class T_action>
4326 static void do_visit_each(const T_action& _A_action,
4327 const bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>& _A_target)
4329 sigc::visit_each(_A_action, _A_target.obj_);
4332 #endif // DOXYGEN_SHOULD_SKIP_THIS
4334 /** bound_const_volatile_mem_functor6 encapsulates a const volatile method with 6 arguments and an object instance.
4335 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor6.
4337 * The following template arguments are used:
4338 * - @e T_arg1 Argument type used in the definition of operator()().
4339 * - @e T_arg2 Argument type used in the definition of operator()().
4340 * - @e T_arg3 Argument type used in the definition of operator()().
4341 * - @e T_arg4 Argument type used in the definition of operator()().
4342 * - @e T_arg5 Argument type used in the definition of operator()().
4343 * - @e T_arg6 Argument type used in the definition of operator()().
4344 * - @e T_return The return type of operator()().
4345 * - @e T_obj The object type.
4349 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>
4350 class bound_const_volatile_mem_functor6
4351 : public const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
4353 typedef const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> base_type_;
4355 typedef typename base_type_::function_type function_type;
4357 #ifndef SIGCXX_DISABLE_DEPRECATED
4358 /** Constructs a bound_const_volatile_mem_functor6 object that wraps the passed method.
4360 * @deprecated Please use the constructor that takes the object by reference
4363 * @param _A_obj Pointer to instance the method will operate on.
4364 * @param _A_func Pointer to method will be invoked from operator()().
4366 bound_const_volatile_mem_functor6(const T_obj* _A_obj, function_type _A_func)
4367 : base_type_(_A_func),
4370 #endif // SIGCXX_DISABLE_DEPRECATED
4372 /** Constructs a bound_const_volatile_mem_functor6 object that wraps the passed method.
4373 * @param _A_obj Reference to instance the method will operate on.
4374 * @param _A_func Pointer to method will be invoked from operator()().
4376 bound_const_volatile_mem_functor6(const T_obj& _A_obj, function_type _A_func)
4377 : base_type_(_A_func),
4381 /** Execute the wrapped method operating on the stored instance.
4382 * @param _A_a1 Argument to be passed on to the method.
4383 * @param _A_a2 Argument to be passed on to the method.
4384 * @param _A_a3 Argument to be passed on to the method.
4385 * @param _A_a4 Argument to be passed on to the method.
4386 * @param _A_a5 Argument to be passed on to the method.
4387 * @param _A_a6 Argument to be passed on to the method.
4388 * @return The return value of the method invocation.
4390 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6) const
4391 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
4394 // Reference to stored object instance.
4395 // This is the handler object, such as TheObject in void TheObject::signal_handler().
4396 const_volatile_limit_reference<T_obj> obj_;
4399 #ifndef DOXYGEN_SHOULD_SKIP_THIS
4400 //template specialization of visitor<>::do_visit_each<>(action, functor):
4401 /** Performs a functor on each of the targets of a functor.
4402 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
4403 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
4407 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>
4408 struct visitor<bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> >
4410 template <class T_action>
4411 static void do_visit_each(const T_action& _A_action,
4412 const bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>& _A_target)
4414 sigc::visit_each(_A_action, _A_target.obj_);
4417 #endif // DOXYGEN_SHOULD_SKIP_THIS
4419 /** bound_const_volatile_mem_functor7 encapsulates a const volatile method with 7 arguments and an object instance.
4420 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor7.
4422 * The following template arguments are used:
4423 * - @e T_arg1 Argument type used in the definition of operator()().
4424 * - @e T_arg2 Argument type used in the definition of operator()().
4425 * - @e T_arg3 Argument type used in the definition of operator()().
4426 * - @e T_arg4 Argument type used in the definition of operator()().
4427 * - @e T_arg5 Argument type used in the definition of operator()().
4428 * - @e T_arg6 Argument type used in the definition of operator()().
4429 * - @e T_arg7 Argument type used in the definition of operator()().
4430 * - @e T_return The return type of operator()().
4431 * - @e T_obj The object type.
4435 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>
4436 class bound_const_volatile_mem_functor7
4437 : public const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
4439 typedef const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> base_type_;
4441 typedef typename base_type_::function_type function_type;
4443 #ifndef SIGCXX_DISABLE_DEPRECATED
4444 /** Constructs a bound_const_volatile_mem_functor7 object that wraps the passed method.
4446 * @deprecated Please use the constructor that takes the object by reference
4449 * @param _A_obj Pointer to instance the method will operate on.
4450 * @param _A_func Pointer to method will be invoked from operator()().
4452 bound_const_volatile_mem_functor7(const T_obj* _A_obj, function_type _A_func)
4453 : base_type_(_A_func),
4456 #endif // SIGCXX_DISABLE_DEPRECATED
4458 /** Constructs a bound_const_volatile_mem_functor7 object that wraps the passed method.
4459 * @param _A_obj Reference to instance the method will operate on.
4460 * @param _A_func Pointer to method will be invoked from operator()().
4462 bound_const_volatile_mem_functor7(const T_obj& _A_obj, function_type _A_func)
4463 : base_type_(_A_func),
4467 /** Execute the wrapped method operating on the stored instance.
4468 * @param _A_a1 Argument to be passed on to the method.
4469 * @param _A_a2 Argument to be passed on to the method.
4470 * @param _A_a3 Argument to be passed on to the method.
4471 * @param _A_a4 Argument to be passed on to the method.
4472 * @param _A_a5 Argument to be passed on to the method.
4473 * @param _A_a6 Argument to be passed on to the method.
4474 * @param _A_a7 Argument to be passed on to the method.
4475 * @return The return value of the method invocation.
4477 T_return operator()(type_trait_take_t<T_arg1> _A_a1, type_trait_take_t<T_arg2> _A_a2, type_trait_take_t<T_arg3> _A_a3, type_trait_take_t<T_arg4> _A_a4, type_trait_take_t<T_arg5> _A_a5, type_trait_take_t<T_arg6> _A_a6, type_trait_take_t<T_arg7> _A_a7) const
4478 { return (obj_.invoke().*(this->func_ptr_))(_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
4481 // Reference to stored object instance.
4482 // This is the handler object, such as TheObject in void TheObject::signal_handler().
4483 const_volatile_limit_reference<T_obj> obj_;
4486 #ifndef DOXYGEN_SHOULD_SKIP_THIS
4487 //template specialization of visitor<>::do_visit_each<>(action, functor):
4488 /** Performs a functor on each of the targets of a functor.
4489 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
4490 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
4494 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>
4495 struct visitor<bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> >
4497 template <class T_action>
4498 static void do_visit_each(const T_action& _A_action,
4499 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_target)
4501 sigc::visit_each(_A_action, _A_target.obj_);
4504 #endif // DOXYGEN_SHOULD_SKIP_THIS
4507 /** Creates a functor of type sigc::mem_functor0 which wraps a method.
4508 * @param _A_func Pointer to method that should be wrapped.
4509 * @return Functor that executes _A_func on invokation.
4513 template <class T_return, class T_obj>
4514 inline mem_functor0<T_return, T_obj>
4515 mem_fun0(T_return (T_obj::*_A_func)() )
4516 { return mem_functor0<T_return, T_obj>(_A_func); }
4518 /** Creates a functor of type sigc::mem_functor1 which wraps a method.
4519 * @param _A_func Pointer to method that should be wrapped.
4520 * @return Functor that executes _A_func on invokation.
4524 template <class T_arg1, class T_return, class T_obj>
4525 inline mem_functor1<T_return, T_obj, T_arg1>
4526 mem_fun1(T_return (T_obj::*_A_func)(T_arg1) )
4527 { return mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
4529 /** Creates a functor of type sigc::mem_functor2 which wraps a method.
4530 * @param _A_func Pointer to method that should be wrapped.
4531 * @return Functor that executes _A_func on invokation.
4535 template <class T_arg1, class T_arg2, class T_return, class T_obj>
4536 inline mem_functor2<T_return, T_obj, T_arg1, T_arg2>
4537 mem_fun2(T_return (T_obj::*_A_func)(T_arg1, T_arg2) )
4538 { return mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_func); }
4540 /** Creates a functor of type sigc::mem_functor3 which wraps a method.
4541 * @param _A_func Pointer to method that should be wrapped.
4542 * @return Functor that executes _A_func on invokation.
4546 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj>
4547 inline mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
4548 mem_fun3(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3) )
4549 { return mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_func); }
4551 /** Creates a functor of type sigc::mem_functor4 which wraps a method.
4552 * @param _A_func Pointer to method that should be wrapped.
4553 * @return Functor that executes _A_func on invokation.
4557 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj>
4558 inline mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
4559 mem_fun4(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) )
4560 { return mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_func); }
4562 /** Creates a functor of type sigc::mem_functor5 which wraps a method.
4563 * @param _A_func Pointer to method that should be wrapped.
4564 * @return Functor that executes _A_func on invokation.
4568 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj>
4569 inline mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
4570 mem_fun5(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) )
4571 { return mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_func); }
4573 /** Creates a functor of type sigc::mem_functor6 which wraps a method.
4574 * @param _A_func Pointer to method that should be wrapped.
4575 * @return Functor that executes _A_func on invokation.
4579 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj>
4580 inline mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
4581 mem_fun6(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) )
4582 { return mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_func); }
4584 /** Creates a functor of type sigc::mem_functor7 which wraps a method.
4585 * @param _A_func Pointer to method that should be wrapped.
4586 * @return Functor that executes _A_func on invokation.
4590 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, class T_obj>
4591 inline mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
4592 mem_fun7(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) )
4593 { return mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_func); }
4595 /** Creates a functor of type sigc::const_mem_functor0 which wraps a const method.
4596 * @param _A_func Pointer to method that should be wrapped.
4597 * @return Functor that executes _A_func on invokation.
4601 template <class T_return, class T_obj>
4602 inline const_mem_functor0<T_return, T_obj>
4603 mem_fun0(T_return (T_obj::*_A_func)() const)
4604 { return const_mem_functor0<T_return, T_obj>(_A_func); }
4606 /** Creates a functor of type sigc::const_mem_functor1 which wraps a const method.
4607 * @param _A_func Pointer to method that should be wrapped.
4608 * @return Functor that executes _A_func on invokation.
4612 template <class T_arg1, class T_return, class T_obj>
4613 inline const_mem_functor1<T_return, T_obj, T_arg1>
4614 mem_fun1(T_return (T_obj::*_A_func)(T_arg1) const)
4615 { return const_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
4617 /** Creates a functor of type sigc::const_mem_functor2 which wraps a const method.
4618 * @param _A_func Pointer to method that should be wrapped.
4619 * @return Functor that executes _A_func on invokation.
4623 template <class T_arg1, class T_arg2, class T_return, class T_obj>
4624 inline const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
4625 mem_fun2(T_return (T_obj::*_A_func)(T_arg1, T_arg2) const)
4626 { return const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_func); }
4628 /** Creates a functor of type sigc::const_mem_functor3 which wraps a const method.
4629 * @param _A_func Pointer to method that should be wrapped.
4630 * @return Functor that executes _A_func on invokation.
4634 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj>
4635 inline const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
4636 mem_fun3(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3) const)
4637 { return const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_func); }
4639 /** Creates a functor of type sigc::const_mem_functor4 which wraps a const method.
4640 * @param _A_func Pointer to method that should be wrapped.
4641 * @return Functor that executes _A_func on invokation.
4645 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj>
4646 inline const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
4647 mem_fun4(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const)
4648 { return const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_func); }
4650 /** Creates a functor of type sigc::const_mem_functor5 which wraps a const method.
4651 * @param _A_func Pointer to method that should be wrapped.
4652 * @return Functor that executes _A_func on invokation.
4656 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj>
4657 inline const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
4658 mem_fun5(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const)
4659 { return const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_func); }
4661 /** Creates a functor of type sigc::const_mem_functor6 which wraps a const method.
4662 * @param _A_func Pointer to method that should be wrapped.
4663 * @return Functor that executes _A_func on invokation.
4667 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj>
4668 inline const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
4669 mem_fun6(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const)
4670 { return const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_func); }
4672 /** Creates a functor of type sigc::const_mem_functor7 which wraps a const method.
4673 * @param _A_func Pointer to method that should be wrapped.
4674 * @return Functor that executes _A_func on invokation.
4678 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, class T_obj>
4679 inline const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
4680 mem_fun7(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const)
4681 { return const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_func); }
4683 /** Creates a functor of type sigc::volatile_mem_functor0 which wraps a volatile method.
4684 * @param _A_func Pointer to method that should be wrapped.
4685 * @return Functor that executes _A_func on invokation.
4689 template <class T_return, class T_obj>
4690 inline volatile_mem_functor0<T_return, T_obj>
4691 mem_fun0(T_return (T_obj::*_A_func)() volatile)
4692 { return volatile_mem_functor0<T_return, T_obj>(_A_func); }
4694 /** Creates a functor of type sigc::volatile_mem_functor1 which wraps a volatile method.
4695 * @param _A_func Pointer to method that should be wrapped.
4696 * @return Functor that executes _A_func on invokation.
4700 template <class T_arg1, class T_return, class T_obj>
4701 inline volatile_mem_functor1<T_return, T_obj, T_arg1>
4702 mem_fun1(T_return (T_obj::*_A_func)(T_arg1) volatile)
4703 { return volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
4705 /** Creates a functor of type sigc::volatile_mem_functor2 which wraps a volatile method.
4706 * @param _A_func Pointer to method that should be wrapped.
4707 * @return Functor that executes _A_func on invokation.
4711 template <class T_arg1, class T_arg2, class T_return, class T_obj>
4712 inline volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
4713 mem_fun2(T_return (T_obj::*_A_func)(T_arg1, T_arg2) volatile)
4714 { return volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_func); }
4716 /** Creates a functor of type sigc::volatile_mem_functor3 which wraps a volatile method.
4717 * @param _A_func Pointer to method that should be wrapped.
4718 * @return Functor that executes _A_func on invokation.
4722 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj>
4723 inline volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
4724 mem_fun3(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3) volatile)
4725 { return volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_func); }
4727 /** Creates a functor of type sigc::volatile_mem_functor4 which wraps a volatile method.
4728 * @param _A_func Pointer to method that should be wrapped.
4729 * @return Functor that executes _A_func on invokation.
4733 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj>
4734 inline volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
4735 mem_fun4(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) volatile)
4736 { return volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_func); }
4738 /** Creates a functor of type sigc::volatile_mem_functor5 which wraps a volatile method.
4739 * @param _A_func Pointer to method that should be wrapped.
4740 * @return Functor that executes _A_func on invokation.
4744 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj>
4745 inline volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
4746 mem_fun5(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) volatile)
4747 { return volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_func); }
4749 /** Creates a functor of type sigc::volatile_mem_functor6 which wraps a volatile method.
4750 * @param _A_func Pointer to method that should be wrapped.
4751 * @return Functor that executes _A_func on invokation.
4755 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj>
4756 inline volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
4757 mem_fun6(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) volatile)
4758 { return volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_func); }
4760 /** Creates a functor of type sigc::volatile_mem_functor7 which wraps a volatile method.
4761 * @param _A_func Pointer to method that should be wrapped.
4762 * @return Functor that executes _A_func on invokation.
4766 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, class T_obj>
4767 inline volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
4768 mem_fun7(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) volatile)
4769 { return volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_func); }
4771 /** Creates a functor of type sigc::const_volatile_mem_functor0 which wraps a const volatile method.
4772 * @param _A_func Pointer to method that should be wrapped.
4773 * @return Functor that executes _A_func on invokation.
4777 template <class T_return, class T_obj>
4778 inline const_volatile_mem_functor0<T_return, T_obj>
4779 mem_fun0(T_return (T_obj::*_A_func)() const volatile)
4780 { return const_volatile_mem_functor0<T_return, T_obj>(_A_func); }
4782 /** Creates a functor of type sigc::const_volatile_mem_functor1 which wraps a const volatile method.
4783 * @param _A_func Pointer to method that should be wrapped.
4784 * @return Functor that executes _A_func on invokation.
4788 template <class T_arg1, class T_return, class T_obj>
4789 inline const_volatile_mem_functor1<T_return, T_obj, T_arg1>
4790 mem_fun1(T_return (T_obj::*_A_func)(T_arg1) const volatile)
4791 { return const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
4793 /** Creates a functor of type sigc::const_volatile_mem_functor2 which wraps a const volatile method.
4794 * @param _A_func Pointer to method that should be wrapped.
4795 * @return Functor that executes _A_func on invokation.
4799 template <class T_arg1, class T_arg2, class T_return, class T_obj>
4800 inline const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
4801 mem_fun2(T_return (T_obj::*_A_func)(T_arg1, T_arg2) const volatile)
4802 { return const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_func); }
4804 /** Creates a functor of type sigc::const_volatile_mem_functor3 which wraps a const volatile method.
4805 * @param _A_func Pointer to method that should be wrapped.
4806 * @return Functor that executes _A_func on invokation.
4810 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj>
4811 inline const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
4812 mem_fun3(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3) const volatile)
4813 { return const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_func); }
4815 /** Creates a functor of type sigc::const_volatile_mem_functor4 which wraps a const volatile method.
4816 * @param _A_func Pointer to method that should be wrapped.
4817 * @return Functor that executes _A_func on invokation.
4821 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj>
4822 inline const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
4823 mem_fun4(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const volatile)
4824 { return const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_func); }
4826 /** Creates a functor of type sigc::const_volatile_mem_functor5 which wraps a const volatile method.
4827 * @param _A_func Pointer to method that should be wrapped.
4828 * @return Functor that executes _A_func on invokation.
4832 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj>
4833 inline const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
4834 mem_fun5(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const volatile)
4835 { return const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_func); }
4837 /** Creates a functor of type sigc::const_volatile_mem_functor6 which wraps a const volatile method.
4838 * @param _A_func Pointer to method that should be wrapped.
4839 * @return Functor that executes _A_func on invokation.
4843 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj>
4844 inline const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
4845 mem_fun6(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const volatile)
4846 { return const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_func); }
4848 /** Creates a functor of type sigc::const_volatile_mem_functor7 which wraps a const volatile method.
4849 * @param _A_func Pointer to method that should be wrapped.
4850 * @return Functor that executes _A_func on invokation.
4854 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, class T_obj>
4855 inline const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
4856 mem_fun7(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const volatile)
4857 { return const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_func); }
4859 #ifndef SIGCXX_DISABLE_DEPRECATED
4860 /** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
4862 * @deprecated Please use the version that takes the object by reference instead.
4864 * @param _A_obj Pointer to object instance the functor should operate on.
4865 * @param _A_func Pointer to method that should be wrapped.
4866 * @return Functor that executes @e _A_func on invokation.
4870 template <class T_return, class T_obj, class T_obj2>
4871 inline bound_mem_functor0<T_return, T_obj>
4872 mem_fun0(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() )
4873 { return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4874 #endif //SIGCXX_DISABLE_DEPRECATED
4876 /** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
4877 * @param _A_obj Reference to object instance the functor should operate on.
4878 * @param _A_func Pointer to method that should be wrapped.
4879 * @return Functor that executes @e _A_func on invokation.
4883 template <class T_return, class T_obj, class T_obj2>
4884 inline bound_mem_functor0<T_return, T_obj>
4885 mem_fun0(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() )
4886 { return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4888 #ifndef SIGCXX_DISABLE_DEPRECATED
4889 /** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
4891 * @deprecated Please use the version that takes the object by reference instead.
4893 * @param _A_obj Pointer to object instance the functor should operate on.
4894 * @param _A_func Pointer to method that should be wrapped.
4895 * @return Functor that executes @e _A_func on invokation.
4899 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4900 inline bound_mem_functor1<T_return, T_obj, T_arg1>
4901 mem_fun1(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
4902 { return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4903 #endif //SIGCXX_DISABLE_DEPRECATED
4905 /** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
4906 * @param _A_obj Reference to object instance the functor should operate on.
4907 * @param _A_func Pointer to method that should be wrapped.
4908 * @return Functor that executes @e _A_func on invokation.
4912 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4913 inline bound_mem_functor1<T_return, T_obj, T_arg1>
4914 mem_fun1(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
4915 { return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4917 #ifndef SIGCXX_DISABLE_DEPRECATED
4918 /** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
4920 * @deprecated Please use the version that takes the object by reference instead.
4922 * @param _A_obj Pointer to object instance the functor should operate on.
4923 * @param _A_func Pointer to method that should be wrapped.
4924 * @return Functor that executes @e _A_func on invokation.
4928 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
4929 inline bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
4930 mem_fun2(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) )
4931 { return bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
4932 #endif //SIGCXX_DISABLE_DEPRECATED
4934 /** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
4935 * @param _A_obj Reference to object instance the functor should operate on.
4936 * @param _A_func Pointer to method that should be wrapped.
4937 * @return Functor that executes @e _A_func on invokation.
4941 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
4942 inline bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
4943 mem_fun2(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) )
4944 { return bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
4946 #ifndef SIGCXX_DISABLE_DEPRECATED
4947 /** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
4949 * @deprecated Please use the version that takes the object by reference instead.
4951 * @param _A_obj Pointer to object instance the functor should operate on.
4952 * @param _A_func Pointer to method that should be wrapped.
4953 * @return Functor that executes @e _A_func on invokation.
4957 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
4958 inline bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
4959 mem_fun3(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) )
4960 { return bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
4961 #endif //SIGCXX_DISABLE_DEPRECATED
4963 /** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
4964 * @param _A_obj Reference to object instance the functor should operate on.
4965 * @param _A_func Pointer to method that should be wrapped.
4966 * @return Functor that executes @e _A_func on invokation.
4970 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
4971 inline bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
4972 mem_fun3(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) )
4973 { return bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
4975 #ifndef SIGCXX_DISABLE_DEPRECATED
4976 /** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
4978 * @deprecated Please use the version that takes the object by reference instead.
4980 * @param _A_obj Pointer to object instance the functor should operate on.
4981 * @param _A_func Pointer to method that should be wrapped.
4982 * @return Functor that executes @e _A_func on invokation.
4986 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
4987 inline bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
4988 mem_fun4(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) )
4989 { return bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
4990 #endif //SIGCXX_DISABLE_DEPRECATED
4992 /** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
4993 * @param _A_obj Reference to object instance the functor should operate on.
4994 * @param _A_func Pointer to method that should be wrapped.
4995 * @return Functor that executes @e _A_func on invokation.
4999 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
5000 inline bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5001 mem_fun4(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) )
5002 { return bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
5004 #ifndef SIGCXX_DISABLE_DEPRECATED
5005 /** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
5007 * @deprecated Please use the version that takes the object by reference instead.
5009 * @param _A_obj Pointer to object instance the functor should operate on.
5010 * @param _A_func Pointer to method that should be wrapped.
5011 * @return Functor that executes @e _A_func on invokation.
5015 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
5016 inline bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5017 mem_fun5(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) )
5018 { return bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
5019 #endif //SIGCXX_DISABLE_DEPRECATED
5021 /** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
5022 * @param _A_obj Reference to object instance the functor should operate on.
5023 * @param _A_func Pointer to method that should be wrapped.
5024 * @return Functor that executes @e _A_func on invokation.
5028 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
5029 inline bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5030 mem_fun5(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) )
5031 { return bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
5033 #ifndef SIGCXX_DISABLE_DEPRECATED
5034 /** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
5036 * @deprecated Please use the version that takes the object by reference instead.
5038 * @param _A_obj Pointer to object instance the functor should operate on.
5039 * @param _A_func Pointer to method that should be wrapped.
5040 * @return Functor that executes @e _A_func on invokation.
5044 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
5045 inline bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5046 mem_fun6(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) )
5047 { return bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
5048 #endif //SIGCXX_DISABLE_DEPRECATED
5050 /** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
5051 * @param _A_obj Reference to object instance the functor should operate on.
5052 * @param _A_func Pointer to method that should be wrapped.
5053 * @return Functor that executes @e _A_func on invokation.
5057 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
5058 inline bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5059 mem_fun6(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) )
5060 { return bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
5062 #ifndef SIGCXX_DISABLE_DEPRECATED
5063 /** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
5065 * @deprecated Please use the version that takes the object by reference instead.
5067 * @param _A_obj Pointer to object instance the functor should operate on.
5068 * @param _A_func Pointer to method that should be wrapped.
5069 * @return Functor that executes @e _A_func on invokation.
5073 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, class T_obj, class T_obj2>
5074 inline bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5075 mem_fun7(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) )
5076 { return bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
5077 #endif //SIGCXX_DISABLE_DEPRECATED
5079 /** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
5080 * @param _A_obj Reference to object instance the functor should operate on.
5081 * @param _A_func Pointer to method that should be wrapped.
5082 * @return Functor that executes @e _A_func on invokation.
5086 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, class T_obj, class T_obj2>
5087 inline bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5088 mem_fun7(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) )
5089 { return bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
5091 #ifndef SIGCXX_DISABLE_DEPRECATED
5092 /** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
5094 * @deprecated Please use the version that takes the object by reference instead.
5096 * @param _A_obj Pointer to object instance the functor should operate on.
5097 * @param _A_func Pointer to method that should be wrapped.
5098 * @return Functor that executes @e _A_func on invokation.
5102 template <class T_return, class T_obj, class T_obj2>
5103 inline bound_const_mem_functor0<T_return, T_obj>
5104 mem_fun0(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const)
5105 { return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5106 #endif //SIGCXX_DISABLE_DEPRECATED
5108 /** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
5109 * @param _A_obj Reference to object instance the functor should operate on.
5110 * @param _A_func Pointer to method that should be wrapped.
5111 * @return Functor that executes @e _A_func on invokation.
5115 template <class T_return, class T_obj, class T_obj2>
5116 inline bound_const_mem_functor0<T_return, T_obj>
5117 mem_fun0(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const)
5118 { return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5120 #ifndef SIGCXX_DISABLE_DEPRECATED
5121 /** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
5123 * @deprecated Please use the version that takes the object by reference instead.
5125 * @param _A_obj Pointer to object instance the functor should operate on.
5126 * @param _A_func Pointer to method that should be wrapped.
5127 * @return Functor that executes @e _A_func on invokation.
5131 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5132 inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
5133 mem_fun1(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
5134 { return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5135 #endif //SIGCXX_DISABLE_DEPRECATED
5137 /** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
5138 * @param _A_obj Reference to object instance the functor should operate on.
5139 * @param _A_func Pointer to method that should be wrapped.
5140 * @return Functor that executes @e _A_func on invokation.
5144 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5145 inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
5146 mem_fun1(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
5147 { return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5149 #ifndef SIGCXX_DISABLE_DEPRECATED
5150 /** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
5152 * @deprecated Please use the version that takes the object by reference instead.
5154 * @param _A_obj Pointer to object instance the functor should operate on.
5155 * @param _A_func Pointer to method that should be wrapped.
5156 * @return Functor that executes @e _A_func on invokation.
5160 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
5161 inline bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5162 mem_fun2(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) const)
5163 { return bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
5164 #endif //SIGCXX_DISABLE_DEPRECATED
5166 /** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
5167 * @param _A_obj Reference to object instance the functor should operate on.
5168 * @param _A_func Pointer to method that should be wrapped.
5169 * @return Functor that executes @e _A_func on invokation.
5173 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
5174 inline bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5175 mem_fun2(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) const)
5176 { return bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
5178 #ifndef SIGCXX_DISABLE_DEPRECATED
5179 /** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
5181 * @deprecated Please use the version that takes the object by reference instead.
5183 * @param _A_obj Pointer to object instance the functor should operate on.
5184 * @param _A_func Pointer to method that should be wrapped.
5185 * @return Functor that executes @e _A_func on invokation.
5189 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
5190 inline bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
5191 mem_fun3(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) const)
5192 { return bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
5193 #endif //SIGCXX_DISABLE_DEPRECATED
5195 /** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
5196 * @param _A_obj Reference to object instance the functor should operate on.
5197 * @param _A_func Pointer to method that should be wrapped.
5198 * @return Functor that executes @e _A_func on invokation.
5202 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
5203 inline bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
5204 mem_fun3(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) const)
5205 { return bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
5207 #ifndef SIGCXX_DISABLE_DEPRECATED
5208 /** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
5210 * @deprecated Please use the version that takes the object by reference instead.
5212 * @param _A_obj Pointer to object instance the functor should operate on.
5213 * @param _A_func Pointer to method that should be wrapped.
5214 * @return Functor that executes @e _A_func on invokation.
5218 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
5219 inline bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5220 mem_fun4(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const)
5221 { return bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
5222 #endif //SIGCXX_DISABLE_DEPRECATED
5224 /** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
5225 * @param _A_obj Reference to object instance the functor should operate on.
5226 * @param _A_func Pointer to method that should be wrapped.
5227 * @return Functor that executes @e _A_func on invokation.
5231 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
5232 inline bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5233 mem_fun4(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const)
5234 { return bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
5236 #ifndef SIGCXX_DISABLE_DEPRECATED
5237 /** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
5239 * @deprecated Please use the version that takes the object by reference instead.
5241 * @param _A_obj Pointer to object instance the functor should operate on.
5242 * @param _A_func Pointer to method that should be wrapped.
5243 * @return Functor that executes @e _A_func on invokation.
5247 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
5248 inline bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5249 mem_fun5(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const)
5250 { return bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
5251 #endif //SIGCXX_DISABLE_DEPRECATED
5253 /** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
5254 * @param _A_obj Reference to object instance the functor should operate on.
5255 * @param _A_func Pointer to method that should be wrapped.
5256 * @return Functor that executes @e _A_func on invokation.
5260 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
5261 inline bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5262 mem_fun5(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const)
5263 { return bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
5265 #ifndef SIGCXX_DISABLE_DEPRECATED
5266 /** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
5268 * @deprecated Please use the version that takes the object by reference instead.
5270 * @param _A_obj Pointer to object instance the functor should operate on.
5271 * @param _A_func Pointer to method that should be wrapped.
5272 * @return Functor that executes @e _A_func on invokation.
5276 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
5277 inline bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5278 mem_fun6(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const)
5279 { return bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
5280 #endif //SIGCXX_DISABLE_DEPRECATED
5282 /** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
5283 * @param _A_obj Reference to object instance the functor should operate on.
5284 * @param _A_func Pointer to method that should be wrapped.
5285 * @return Functor that executes @e _A_func on invokation.
5289 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
5290 inline bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5291 mem_fun6(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const)
5292 { return bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
5294 #ifndef SIGCXX_DISABLE_DEPRECATED
5295 /** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
5297 * @deprecated Please use the version that takes the object by reference instead.
5299 * @param _A_obj Pointer to object instance the functor should operate on.
5300 * @param _A_func Pointer to method that should be wrapped.
5301 * @return Functor that executes @e _A_func on invokation.
5305 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, class T_obj, class T_obj2>
5306 inline bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5307 mem_fun7(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const)
5308 { return bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
5309 #endif //SIGCXX_DISABLE_DEPRECATED
5311 /** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
5312 * @param _A_obj Reference to object instance the functor should operate on.
5313 * @param _A_func Pointer to method that should be wrapped.
5314 * @return Functor that executes @e _A_func on invokation.
5318 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, class T_obj, class T_obj2>
5319 inline bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5320 mem_fun7(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const)
5321 { return bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
5323 #ifndef SIGCXX_DISABLE_DEPRECATED
5324 /** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
5326 * @deprecated Please use the version that takes the object by reference instead.
5328 * @param _A_obj Pointer to object instance the functor should operate on.
5329 * @param _A_func Pointer to method that should be wrapped.
5330 * @return Functor that executes @e _A_func on invokation.
5334 template <class T_return, class T_obj, class T_obj2>
5335 inline bound_volatile_mem_functor0<T_return, T_obj>
5336 mem_fun0(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() volatile)
5337 { return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5338 #endif //SIGCXX_DISABLE_DEPRECATED
5340 /** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
5341 * @param _A_obj Reference to object instance the functor should operate on.
5342 * @param _A_func Pointer to method that should be wrapped.
5343 * @return Functor that executes @e _A_func on invokation.
5347 template <class T_return, class T_obj, class T_obj2>
5348 inline bound_volatile_mem_functor0<T_return, T_obj>
5349 mem_fun0(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() volatile)
5350 { return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5352 #ifndef SIGCXX_DISABLE_DEPRECATED
5353 /** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
5355 * @deprecated Please use the version that takes the object by reference instead.
5357 * @param _A_obj Pointer to object instance the functor should operate on.
5358 * @param _A_func Pointer to method that should be wrapped.
5359 * @return Functor that executes @e _A_func on invokation.
5363 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5364 inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
5365 mem_fun1(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
5366 { return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5367 #endif //SIGCXX_DISABLE_DEPRECATED
5369 /** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
5370 * @param _A_obj Reference to object instance the functor should operate on.
5371 * @param _A_func Pointer to method that should be wrapped.
5372 * @return Functor that executes @e _A_func on invokation.
5376 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5377 inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
5378 mem_fun1(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
5379 { return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5381 #ifndef SIGCXX_DISABLE_DEPRECATED
5382 /** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
5384 * @deprecated Please use the version that takes the object by reference instead.
5386 * @param _A_obj Pointer to object instance the functor should operate on.
5387 * @param _A_func Pointer to method that should be wrapped.
5388 * @return Functor that executes @e _A_func on invokation.
5392 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
5393 inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5394 mem_fun2(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) volatile)
5395 { return bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
5396 #endif //SIGCXX_DISABLE_DEPRECATED
5398 /** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
5399 * @param _A_obj Reference to object instance the functor should operate on.
5400 * @param _A_func Pointer to method that should be wrapped.
5401 * @return Functor that executes @e _A_func on invokation.
5405 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
5406 inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5407 mem_fun2(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) volatile)
5408 { return bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
5410 #ifndef SIGCXX_DISABLE_DEPRECATED
5411 /** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
5413 * @deprecated Please use the version that takes the object by reference instead.
5415 * @param _A_obj Pointer to object instance the functor should operate on.
5416 * @param _A_func Pointer to method that should be wrapped.
5417 * @return Functor that executes @e _A_func on invokation.
5421 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
5422 inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
5423 mem_fun3(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) volatile)
5424 { return bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
5425 #endif //SIGCXX_DISABLE_DEPRECATED
5427 /** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
5428 * @param _A_obj Reference to object instance the functor should operate on.
5429 * @param _A_func Pointer to method that should be wrapped.
5430 * @return Functor that executes @e _A_func on invokation.
5434 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
5435 inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
5436 mem_fun3(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) volatile)
5437 { return bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
5439 #ifndef SIGCXX_DISABLE_DEPRECATED
5440 /** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
5442 * @deprecated Please use the version that takes the object by reference instead.
5444 * @param _A_obj Pointer to object instance the functor should operate on.
5445 * @param _A_func Pointer to method that should be wrapped.
5446 * @return Functor that executes @e _A_func on invokation.
5450 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
5451 inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5452 mem_fun4(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) volatile)
5453 { return bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
5454 #endif //SIGCXX_DISABLE_DEPRECATED
5456 /** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
5457 * @param _A_obj Reference to object instance the functor should operate on.
5458 * @param _A_func Pointer to method that should be wrapped.
5459 * @return Functor that executes @e _A_func on invokation.
5463 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
5464 inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5465 mem_fun4(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) volatile)
5466 { return bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
5468 #ifndef SIGCXX_DISABLE_DEPRECATED
5469 /** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
5471 * @deprecated Please use the version that takes the object by reference instead.
5473 * @param _A_obj Pointer to object instance the functor should operate on.
5474 * @param _A_func Pointer to method that should be wrapped.
5475 * @return Functor that executes @e _A_func on invokation.
5479 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
5480 inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5481 mem_fun5(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) volatile)
5482 { return bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
5483 #endif //SIGCXX_DISABLE_DEPRECATED
5485 /** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
5486 * @param _A_obj Reference to object instance the functor should operate on.
5487 * @param _A_func Pointer to method that should be wrapped.
5488 * @return Functor that executes @e _A_func on invokation.
5492 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
5493 inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5494 mem_fun5(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) volatile)
5495 { return bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
5497 #ifndef SIGCXX_DISABLE_DEPRECATED
5498 /** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
5500 * @deprecated Please use the version that takes the object by reference instead.
5502 * @param _A_obj Pointer to object instance the functor should operate on.
5503 * @param _A_func Pointer to method that should be wrapped.
5504 * @return Functor that executes @e _A_func on invokation.
5508 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
5509 inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5510 mem_fun6(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) volatile)
5511 { return bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
5512 #endif //SIGCXX_DISABLE_DEPRECATED
5514 /** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
5515 * @param _A_obj Reference to object instance the functor should operate on.
5516 * @param _A_func Pointer to method that should be wrapped.
5517 * @return Functor that executes @e _A_func on invokation.
5521 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
5522 inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5523 mem_fun6(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) volatile)
5524 { return bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
5526 #ifndef SIGCXX_DISABLE_DEPRECATED
5527 /** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
5529 * @deprecated Please use the version that takes the object by reference instead.
5531 * @param _A_obj Pointer to object instance the functor should operate on.
5532 * @param _A_func Pointer to method that should be wrapped.
5533 * @return Functor that executes @e _A_func on invokation.
5537 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, class T_obj, class T_obj2>
5538 inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5539 mem_fun7(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) volatile)
5540 { return bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
5541 #endif //SIGCXX_DISABLE_DEPRECATED
5543 /** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
5544 * @param _A_obj Reference to object instance the functor should operate on.
5545 * @param _A_func Pointer to method that should be wrapped.
5546 * @return Functor that executes @e _A_func on invokation.
5550 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, class T_obj, class T_obj2>
5551 inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5552 mem_fun7(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) volatile)
5553 { return bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
5555 #ifndef SIGCXX_DISABLE_DEPRECATED
5556 /** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
5558 * @deprecated Please use the version that takes the object by reference instead.
5560 * @param _A_obj Pointer to object instance the functor should operate on.
5561 * @param _A_func Pointer to method that should be wrapped.
5562 * @return Functor that executes @e _A_func on invokation.
5566 template <class T_return, class T_obj, class T_obj2>
5567 inline bound_const_volatile_mem_functor0<T_return, T_obj>
5568 mem_fun0(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const volatile)
5569 { return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5570 #endif //SIGCXX_DISABLE_DEPRECATED
5572 /** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
5573 * @param _A_obj Reference to object instance the functor should operate on.
5574 * @param _A_func Pointer to method that should be wrapped.
5575 * @return Functor that executes @e _A_func on invokation.
5579 template <class T_return, class T_obj, class T_obj2>
5580 inline bound_const_volatile_mem_functor0<T_return, T_obj>
5581 mem_fun0(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const volatile)
5582 { return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5584 #ifndef SIGCXX_DISABLE_DEPRECATED
5585 /** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
5587 * @deprecated Please use the version that takes the object by reference instead.
5589 * @param _A_obj Pointer to object instance the functor should operate on.
5590 * @param _A_func Pointer to method that should be wrapped.
5591 * @return Functor that executes @e _A_func on invokation.
5595 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5596 inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
5597 mem_fun1(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
5598 { return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5599 #endif //SIGCXX_DISABLE_DEPRECATED
5601 /** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
5602 * @param _A_obj Reference to object instance the functor should operate on.
5603 * @param _A_func Pointer to method that should be wrapped.
5604 * @return Functor that executes @e _A_func on invokation.
5608 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5609 inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
5610 mem_fun1(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
5611 { return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5613 #ifndef SIGCXX_DISABLE_DEPRECATED
5614 /** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
5616 * @deprecated Please use the version that takes the object by reference instead.
5618 * @param _A_obj Pointer to object instance the functor should operate on.
5619 * @param _A_func Pointer to method that should be wrapped.
5620 * @return Functor that executes @e _A_func on invokation.
5624 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
5625 inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5626 mem_fun2(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) const volatile)
5627 { return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
5628 #endif //SIGCXX_DISABLE_DEPRECATED
5630 /** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
5631 * @param _A_obj Reference to object instance the functor should operate on.
5632 * @param _A_func Pointer to method that should be wrapped.
5633 * @return Functor that executes @e _A_func on invokation.
5637 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
5638 inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5639 mem_fun2(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) const volatile)
5640 { return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
5642 #ifndef SIGCXX_DISABLE_DEPRECATED
5643 /** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
5645 * @deprecated Please use the version that takes the object by reference instead.
5647 * @param _A_obj Pointer to object instance the functor should operate on.
5648 * @param _A_func Pointer to method that should be wrapped.
5649 * @return Functor that executes @e _A_func on invokation.
5653 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
5654 inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
5655 mem_fun3(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) const volatile)
5656 { return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
5657 #endif //SIGCXX_DISABLE_DEPRECATED
5659 /** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
5660 * @param _A_obj Reference to object instance the functor should operate on.
5661 * @param _A_func Pointer to method that should be wrapped.
5662 * @return Functor that executes @e _A_func on invokation.
5666 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
5667 inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
5668 mem_fun3(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) const volatile)
5669 { return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
5671 #ifndef SIGCXX_DISABLE_DEPRECATED
5672 /** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
5674 * @deprecated Please use the version that takes the object by reference instead.
5676 * @param _A_obj Pointer to object instance the functor should operate on.
5677 * @param _A_func Pointer to method that should be wrapped.
5678 * @return Functor that executes @e _A_func on invokation.
5682 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
5683 inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5684 mem_fun4(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const volatile)
5685 { return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
5686 #endif //SIGCXX_DISABLE_DEPRECATED
5688 /** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
5689 * @param _A_obj Reference to object instance the functor should operate on.
5690 * @param _A_func Pointer to method that should be wrapped.
5691 * @return Functor that executes @e _A_func on invokation.
5695 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
5696 inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5697 mem_fun4(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const volatile)
5698 { return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
5700 #ifndef SIGCXX_DISABLE_DEPRECATED
5701 /** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
5703 * @deprecated Please use the version that takes the object by reference instead.
5705 * @param _A_obj Pointer to object instance the functor should operate on.
5706 * @param _A_func Pointer to method that should be wrapped.
5707 * @return Functor that executes @e _A_func on invokation.
5711 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
5712 inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5713 mem_fun5(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const volatile)
5714 { return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
5715 #endif //SIGCXX_DISABLE_DEPRECATED
5717 /** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
5718 * @param _A_obj Reference to object instance the functor should operate on.
5719 * @param _A_func Pointer to method that should be wrapped.
5720 * @return Functor that executes @e _A_func on invokation.
5724 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
5725 inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5726 mem_fun5(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const volatile)
5727 { return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
5729 #ifndef SIGCXX_DISABLE_DEPRECATED
5730 /** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
5732 * @deprecated Please use the version that takes the object by reference instead.
5734 * @param _A_obj Pointer to object instance the functor should operate on.
5735 * @param _A_func Pointer to method that should be wrapped.
5736 * @return Functor that executes @e _A_func on invokation.
5740 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
5741 inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5742 mem_fun6(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const volatile)
5743 { return bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
5744 #endif //SIGCXX_DISABLE_DEPRECATED
5746 /** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
5747 * @param _A_obj Reference to object instance the functor should operate on.
5748 * @param _A_func Pointer to method that should be wrapped.
5749 * @return Functor that executes @e _A_func on invokation.
5753 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
5754 inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5755 mem_fun6(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const volatile)
5756 { return bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
5758 #ifndef SIGCXX_DISABLE_DEPRECATED
5759 /** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
5761 * @deprecated Please use the version that takes the object by reference instead.
5763 * @param _A_obj Pointer to object instance the functor should operate on.
5764 * @param _A_func Pointer to method that should be wrapped.
5765 * @return Functor that executes @e _A_func on invokation.
5769 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, class T_obj, class T_obj2>
5770 inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5771 mem_fun7(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const volatile)
5772 { return bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
5773 #endif //SIGCXX_DISABLE_DEPRECATED
5775 /** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
5776 * @param _A_obj Reference to object instance the functor should operate on.
5777 * @param _A_func Pointer to method that should be wrapped.
5778 * @return Functor that executes @e _A_func on invokation.
5782 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, class T_obj, class T_obj2>
5783 inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5784 mem_fun7(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const volatile)
5785 { return bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
5789 /** Creates a functor of type sigc::mem_functor0 which wraps a method.
5790 * @param _A_func Pointer to method that should be wrapped.
5791 * @return Functor that executes _A_func on invokation.
5795 template <class T_return, class T_obj>
5796 inline mem_functor0<T_return, T_obj>
5797 mem_fun(T_return (T_obj::*_A_func)() )
5798 { return mem_functor0<T_return, T_obj>(_A_func); }
5800 /** Creates a functor of type sigc::mem_functor1 which wraps a method.
5801 * @param _A_func Pointer to method that should be wrapped.
5802 * @return Functor that executes _A_func on invokation.
5806 template <class T_arg1, class T_return, class T_obj>
5807 inline mem_functor1<T_return, T_obj, T_arg1>
5808 mem_fun(T_return (T_obj::*_A_func)(T_arg1) )
5809 { return mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
5811 /** Creates a functor of type sigc::mem_functor2 which wraps a method.
5812 * @param _A_func Pointer to method that should be wrapped.
5813 * @return Functor that executes _A_func on invokation.
5817 template <class T_arg1, class T_arg2, class T_return, class T_obj>
5818 inline mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5819 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2) )
5820 { return mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_func); }
5822 /** Creates a functor of type sigc::mem_functor3 which wraps a method.
5823 * @param _A_func Pointer to method that should be wrapped.
5824 * @return Functor that executes _A_func on invokation.
5828 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj>
5829 inline mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
5830 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3) )
5831 { return mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_func); }
5833 /** Creates a functor of type sigc::mem_functor4 which wraps a method.
5834 * @param _A_func Pointer to method that should be wrapped.
5835 * @return Functor that executes _A_func on invokation.
5839 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj>
5840 inline mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5841 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) )
5842 { return mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_func); }
5844 /** Creates a functor of type sigc::mem_functor5 which wraps a method.
5845 * @param _A_func Pointer to method that should be wrapped.
5846 * @return Functor that executes _A_func on invokation.
5850 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj>
5851 inline mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5852 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) )
5853 { return mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_func); }
5855 /** Creates a functor of type sigc::mem_functor6 which wraps a method.
5856 * @param _A_func Pointer to method that should be wrapped.
5857 * @return Functor that executes _A_func on invokation.
5861 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj>
5862 inline mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5863 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) )
5864 { return mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_func); }
5866 /** Creates a functor of type sigc::mem_functor7 which wraps a method.
5867 * @param _A_func Pointer to method that should be wrapped.
5868 * @return Functor that executes _A_func on invokation.
5872 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, class T_obj>
5873 inline mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5874 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) )
5875 { return mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_func); }
5877 /** Creates a functor of type sigc::const_mem_functor0 which wraps a const method.
5878 * @param _A_func Pointer to method that should be wrapped.
5879 * @return Functor that executes _A_func on invokation.
5883 template <class T_return, class T_obj>
5884 inline const_mem_functor0<T_return, T_obj>
5885 mem_fun(T_return (T_obj::*_A_func)() const)
5886 { return const_mem_functor0<T_return, T_obj>(_A_func); }
5888 /** Creates a functor of type sigc::const_mem_functor1 which wraps a const method.
5889 * @param _A_func Pointer to method that should be wrapped.
5890 * @return Functor that executes _A_func on invokation.
5894 template <class T_arg1, class T_return, class T_obj>
5895 inline const_mem_functor1<T_return, T_obj, T_arg1>
5896 mem_fun(T_return (T_obj::*_A_func)(T_arg1) const)
5897 { return const_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
5899 /** Creates a functor of type sigc::const_mem_functor2 which wraps a const method.
5900 * @param _A_func Pointer to method that should be wrapped.
5901 * @return Functor that executes _A_func on invokation.
5905 template <class T_arg1, class T_arg2, class T_return, class T_obj>
5906 inline const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5907 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2) const)
5908 { return const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_func); }
5910 /** Creates a functor of type sigc::const_mem_functor3 which wraps a const method.
5911 * @param _A_func Pointer to method that should be wrapped.
5912 * @return Functor that executes _A_func on invokation.
5916 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj>
5917 inline const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
5918 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3) const)
5919 { return const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_func); }
5921 /** Creates a functor of type sigc::const_mem_functor4 which wraps a const method.
5922 * @param _A_func Pointer to method that should be wrapped.
5923 * @return Functor that executes _A_func on invokation.
5927 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj>
5928 inline const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
5929 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const)
5930 { return const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_func); }
5932 /** Creates a functor of type sigc::const_mem_functor5 which wraps a const method.
5933 * @param _A_func Pointer to method that should be wrapped.
5934 * @return Functor that executes _A_func on invokation.
5938 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj>
5939 inline const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
5940 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const)
5941 { return const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_func); }
5943 /** Creates a functor of type sigc::const_mem_functor6 which wraps a const method.
5944 * @param _A_func Pointer to method that should be wrapped.
5945 * @return Functor that executes _A_func on invokation.
5949 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj>
5950 inline const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
5951 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const)
5952 { return const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_func); }
5954 /** Creates a functor of type sigc::const_mem_functor7 which wraps a const method.
5955 * @param _A_func Pointer to method that should be wrapped.
5956 * @return Functor that executes _A_func on invokation.
5960 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, class T_obj>
5961 inline const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
5962 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const)
5963 { return const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_func); }
5965 /** Creates a functor of type sigc::volatile_mem_functor0 which wraps a volatile method.
5966 * @param _A_func Pointer to method that should be wrapped.
5967 * @return Functor that executes _A_func on invokation.
5971 template <class T_return, class T_obj>
5972 inline volatile_mem_functor0<T_return, T_obj>
5973 mem_fun(T_return (T_obj::*_A_func)() volatile)
5974 { return volatile_mem_functor0<T_return, T_obj>(_A_func); }
5976 /** Creates a functor of type sigc::volatile_mem_functor1 which wraps a volatile method.
5977 * @param _A_func Pointer to method that should be wrapped.
5978 * @return Functor that executes _A_func on invokation.
5982 template <class T_arg1, class T_return, class T_obj>
5983 inline volatile_mem_functor1<T_return, T_obj, T_arg1>
5984 mem_fun(T_return (T_obj::*_A_func)(T_arg1) volatile)
5985 { return volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
5987 /** Creates a functor of type sigc::volatile_mem_functor2 which wraps a volatile method.
5988 * @param _A_func Pointer to method that should be wrapped.
5989 * @return Functor that executes _A_func on invokation.
5993 template <class T_arg1, class T_arg2, class T_return, class T_obj>
5994 inline volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
5995 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2) volatile)
5996 { return volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_func); }
5998 /** Creates a functor of type sigc::volatile_mem_functor3 which wraps a volatile method.
5999 * @param _A_func Pointer to method that should be wrapped.
6000 * @return Functor that executes _A_func on invokation.
6004 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj>
6005 inline volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6006 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3) volatile)
6007 { return volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_func); }
6009 /** Creates a functor of type sigc::volatile_mem_functor4 which wraps a volatile method.
6010 * @param _A_func Pointer to method that should be wrapped.
6011 * @return Functor that executes _A_func on invokation.
6015 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj>
6016 inline volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6017 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) volatile)
6018 { return volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_func); }
6020 /** Creates a functor of type sigc::volatile_mem_functor5 which wraps a volatile method.
6021 * @param _A_func Pointer to method that should be wrapped.
6022 * @return Functor that executes _A_func on invokation.
6026 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj>
6027 inline volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6028 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) volatile)
6029 { return volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_func); }
6031 /** Creates a functor of type sigc::volatile_mem_functor6 which wraps a volatile method.
6032 * @param _A_func Pointer to method that should be wrapped.
6033 * @return Functor that executes _A_func on invokation.
6037 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj>
6038 inline volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
6039 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) volatile)
6040 { return volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_func); }
6042 /** Creates a functor of type sigc::volatile_mem_functor7 which wraps a volatile method.
6043 * @param _A_func Pointer to method that should be wrapped.
6044 * @return Functor that executes _A_func on invokation.
6048 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, class T_obj>
6049 inline volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
6050 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) volatile)
6051 { return volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_func); }
6053 /** Creates a functor of type sigc::const_volatile_mem_functor0 which wraps a const volatile method.
6054 * @param _A_func Pointer to method that should be wrapped.
6055 * @return Functor that executes _A_func on invokation.
6059 template <class T_return, class T_obj>
6060 inline const_volatile_mem_functor0<T_return, T_obj>
6061 mem_fun(T_return (T_obj::*_A_func)() const volatile)
6062 { return const_volatile_mem_functor0<T_return, T_obj>(_A_func); }
6064 /** Creates a functor of type sigc::const_volatile_mem_functor1 which wraps a const volatile method.
6065 * @param _A_func Pointer to method that should be wrapped.
6066 * @return Functor that executes _A_func on invokation.
6070 template <class T_arg1, class T_return, class T_obj>
6071 inline const_volatile_mem_functor1<T_return, T_obj, T_arg1>
6072 mem_fun(T_return (T_obj::*_A_func)(T_arg1) const volatile)
6073 { return const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
6075 /** Creates a functor of type sigc::const_volatile_mem_functor2 which wraps a const volatile method.
6076 * @param _A_func Pointer to method that should be wrapped.
6077 * @return Functor that executes _A_func on invokation.
6081 template <class T_arg1, class T_arg2, class T_return, class T_obj>
6082 inline const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6083 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2) const volatile)
6084 { return const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_func); }
6086 /** Creates a functor of type sigc::const_volatile_mem_functor3 which wraps a const volatile method.
6087 * @param _A_func Pointer to method that should be wrapped.
6088 * @return Functor that executes _A_func on invokation.
6092 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj>
6093 inline const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6094 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3) const volatile)
6095 { return const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_func); }
6097 /** Creates a functor of type sigc::const_volatile_mem_functor4 which wraps a const volatile method.
6098 * @param _A_func Pointer to method that should be wrapped.
6099 * @return Functor that executes _A_func on invokation.
6103 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj>
6104 inline const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6105 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const volatile)
6106 { return const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_func); }
6108 /** Creates a functor of type sigc::const_volatile_mem_functor5 which wraps a const volatile method.
6109 * @param _A_func Pointer to method that should be wrapped.
6110 * @return Functor that executes _A_func on invokation.
6114 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj>
6115 inline const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6116 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const volatile)
6117 { return const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_func); }
6119 /** Creates a functor of type sigc::const_volatile_mem_functor6 which wraps a const volatile method.
6120 * @param _A_func Pointer to method that should be wrapped.
6121 * @return Functor that executes _A_func on invokation.
6125 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj>
6126 inline const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
6127 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const volatile)
6128 { return const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_func); }
6130 /** Creates a functor of type sigc::const_volatile_mem_functor7 which wraps a const volatile method.
6131 * @param _A_func Pointer to method that should be wrapped.
6132 * @return Functor that executes _A_func on invokation.
6136 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, class T_obj>
6137 inline const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
6138 mem_fun(T_return (T_obj::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const volatile)
6139 { return const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_func); }
6141 #ifndef SIGCXX_DISABLE_DEPRECATED
6142 /** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
6144 * @deprecated Please use the version that takes the object by reference instead.
6146 * @param _A_obj Pointer to object instance the functor should operate on.
6147 * @param _A_func Pointer to method that should be wrapped.
6148 * @return Functor that executes @e _A_func on invokation.
6152 template <class T_return, class T_obj, class T_obj2>
6153 inline bound_mem_functor0<T_return, T_obj>
6154 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() )
6155 { return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6156 #endif //SIGCXX_DISABLE_DEPRECATED
6158 /** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
6159 * @param _A_obj Reference to object instance the functor should operate on.
6160 * @param _A_func Pointer to method that should be wrapped.
6161 * @return Functor that executes @e _A_func on invokation.
6165 template <class T_return, class T_obj, class T_obj2>
6166 inline bound_mem_functor0<T_return, T_obj>
6167 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() )
6168 { return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6170 #ifndef SIGCXX_DISABLE_DEPRECATED
6171 /** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
6173 * @deprecated Please use the version that takes the object by reference instead.
6175 * @param _A_obj Pointer to object instance the functor should operate on.
6176 * @param _A_func Pointer to method that should be wrapped.
6177 * @return Functor that executes @e _A_func on invokation.
6181 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6182 inline bound_mem_functor1<T_return, T_obj, T_arg1>
6183 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
6184 { return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6185 #endif //SIGCXX_DISABLE_DEPRECATED
6187 /** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
6188 * @param _A_obj Reference to object instance the functor should operate on.
6189 * @param _A_func Pointer to method that should be wrapped.
6190 * @return Functor that executes @e _A_func on invokation.
6194 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6195 inline bound_mem_functor1<T_return, T_obj, T_arg1>
6196 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
6197 { return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6199 #ifndef SIGCXX_DISABLE_DEPRECATED
6200 /** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
6202 * @deprecated Please use the version that takes the object by reference instead.
6204 * @param _A_obj Pointer to object instance the functor should operate on.
6205 * @param _A_func Pointer to method that should be wrapped.
6206 * @return Functor that executes @e _A_func on invokation.
6210 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
6211 inline bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6212 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) )
6213 { return bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
6214 #endif //SIGCXX_DISABLE_DEPRECATED
6216 /** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
6217 * @param _A_obj Reference to object instance the functor should operate on.
6218 * @param _A_func Pointer to method that should be wrapped.
6219 * @return Functor that executes @e _A_func on invokation.
6223 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
6224 inline bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6225 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) )
6226 { return bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
6228 #ifndef SIGCXX_DISABLE_DEPRECATED
6229 /** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
6231 * @deprecated Please use the version that takes the object by reference instead.
6233 * @param _A_obj Pointer to object instance the functor should operate on.
6234 * @param _A_func Pointer to method that should be wrapped.
6235 * @return Functor that executes @e _A_func on invokation.
6239 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
6240 inline bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6241 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) )
6242 { return bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
6243 #endif //SIGCXX_DISABLE_DEPRECATED
6245 /** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
6246 * @param _A_obj Reference to object instance the functor should operate on.
6247 * @param _A_func Pointer to method that should be wrapped.
6248 * @return Functor that executes @e _A_func on invokation.
6252 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
6253 inline bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6254 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) )
6255 { return bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
6257 #ifndef SIGCXX_DISABLE_DEPRECATED
6258 /** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
6260 * @deprecated Please use the version that takes the object by reference instead.
6262 * @param _A_obj Pointer to object instance the functor should operate on.
6263 * @param _A_func Pointer to method that should be wrapped.
6264 * @return Functor that executes @e _A_func on invokation.
6268 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
6269 inline bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6270 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) )
6271 { return bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
6272 #endif //SIGCXX_DISABLE_DEPRECATED
6274 /** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
6275 * @param _A_obj Reference to object instance the functor should operate on.
6276 * @param _A_func Pointer to method that should be wrapped.
6277 * @return Functor that executes @e _A_func on invokation.
6281 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
6282 inline bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6283 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) )
6284 { return bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
6286 #ifndef SIGCXX_DISABLE_DEPRECATED
6287 /** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
6289 * @deprecated Please use the version that takes the object by reference instead.
6291 * @param _A_obj Pointer to object instance the functor should operate on.
6292 * @param _A_func Pointer to method that should be wrapped.
6293 * @return Functor that executes @e _A_func on invokation.
6297 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
6298 inline bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6299 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) )
6300 { return bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
6301 #endif //SIGCXX_DISABLE_DEPRECATED
6303 /** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
6304 * @param _A_obj Reference to object instance the functor should operate on.
6305 * @param _A_func Pointer to method that should be wrapped.
6306 * @return Functor that executes @e _A_func on invokation.
6310 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
6311 inline bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6312 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) )
6313 { return bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
6315 #ifndef SIGCXX_DISABLE_DEPRECATED
6316 /** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
6318 * @deprecated Please use the version that takes the object by reference instead.
6320 * @param _A_obj Pointer to object instance the functor should operate on.
6321 * @param _A_func Pointer to method that should be wrapped.
6322 * @return Functor that executes @e _A_func on invokation.
6326 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
6327 inline bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
6328 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) )
6329 { return bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
6330 #endif //SIGCXX_DISABLE_DEPRECATED
6332 /** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
6333 * @param _A_obj Reference to object instance the functor should operate on.
6334 * @param _A_func Pointer to method that should be wrapped.
6335 * @return Functor that executes @e _A_func on invokation.
6339 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
6340 inline bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
6341 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) )
6342 { return bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
6344 #ifndef SIGCXX_DISABLE_DEPRECATED
6345 /** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
6347 * @deprecated Please use the version that takes the object by reference instead.
6349 * @param _A_obj Pointer to object instance the functor should operate on.
6350 * @param _A_func Pointer to method that should be wrapped.
6351 * @return Functor that executes @e _A_func on invokation.
6355 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, class T_obj, class T_obj2>
6356 inline bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
6357 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) )
6358 { return bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
6359 #endif //SIGCXX_DISABLE_DEPRECATED
6361 /** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
6362 * @param _A_obj Reference to object instance the functor should operate on.
6363 * @param _A_func Pointer to method that should be wrapped.
6364 * @return Functor that executes @e _A_func on invokation.
6368 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, class T_obj, class T_obj2>
6369 inline bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
6370 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) )
6371 { return bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
6373 #ifndef SIGCXX_DISABLE_DEPRECATED
6374 /** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
6376 * @deprecated Please use the version that takes the object by reference instead.
6378 * @param _A_obj Pointer to object instance the functor should operate on.
6379 * @param _A_func Pointer to method that should be wrapped.
6380 * @return Functor that executes @e _A_func on invokation.
6384 template <class T_return, class T_obj, class T_obj2>
6385 inline bound_const_mem_functor0<T_return, T_obj>
6386 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const)
6387 { return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6388 #endif //SIGCXX_DISABLE_DEPRECATED
6390 /** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
6391 * @param _A_obj Reference to object instance the functor should operate on.
6392 * @param _A_func Pointer to method that should be wrapped.
6393 * @return Functor that executes @e _A_func on invokation.
6397 template <class T_return, class T_obj, class T_obj2>
6398 inline bound_const_mem_functor0<T_return, T_obj>
6399 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const)
6400 { return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6402 #ifndef SIGCXX_DISABLE_DEPRECATED
6403 /** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
6405 * @deprecated Please use the version that takes the object by reference instead.
6407 * @param _A_obj Pointer to object instance the functor should operate on.
6408 * @param _A_func Pointer to method that should be wrapped.
6409 * @return Functor that executes @e _A_func on invokation.
6413 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6414 inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
6415 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
6416 { return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6417 #endif //SIGCXX_DISABLE_DEPRECATED
6419 /** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
6420 * @param _A_obj Reference to object instance the functor should operate on.
6421 * @param _A_func Pointer to method that should be wrapped.
6422 * @return Functor that executes @e _A_func on invokation.
6426 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6427 inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
6428 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
6429 { return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6431 #ifndef SIGCXX_DISABLE_DEPRECATED
6432 /** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
6434 * @deprecated Please use the version that takes the object by reference instead.
6436 * @param _A_obj Pointer to object instance the functor should operate on.
6437 * @param _A_func Pointer to method that should be wrapped.
6438 * @return Functor that executes @e _A_func on invokation.
6442 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
6443 inline bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6444 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) const)
6445 { return bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
6446 #endif //SIGCXX_DISABLE_DEPRECATED
6448 /** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
6449 * @param _A_obj Reference to object instance the functor should operate on.
6450 * @param _A_func Pointer to method that should be wrapped.
6451 * @return Functor that executes @e _A_func on invokation.
6455 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
6456 inline bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6457 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) const)
6458 { return bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
6460 #ifndef SIGCXX_DISABLE_DEPRECATED
6461 /** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
6463 * @deprecated Please use the version that takes the object by reference instead.
6465 * @param _A_obj Pointer to object instance the functor should operate on.
6466 * @param _A_func Pointer to method that should be wrapped.
6467 * @return Functor that executes @e _A_func on invokation.
6471 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
6472 inline bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6473 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) const)
6474 { return bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
6475 #endif //SIGCXX_DISABLE_DEPRECATED
6477 /** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
6478 * @param _A_obj Reference to object instance the functor should operate on.
6479 * @param _A_func Pointer to method that should be wrapped.
6480 * @return Functor that executes @e _A_func on invokation.
6484 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
6485 inline bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6486 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) const)
6487 { return bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
6489 #ifndef SIGCXX_DISABLE_DEPRECATED
6490 /** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
6492 * @deprecated Please use the version that takes the object by reference instead.
6494 * @param _A_obj Pointer to object instance the functor should operate on.
6495 * @param _A_func Pointer to method that should be wrapped.
6496 * @return Functor that executes @e _A_func on invokation.
6500 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
6501 inline bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6502 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const)
6503 { return bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
6504 #endif //SIGCXX_DISABLE_DEPRECATED
6506 /** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
6507 * @param _A_obj Reference to object instance the functor should operate on.
6508 * @param _A_func Pointer to method that should be wrapped.
6509 * @return Functor that executes @e _A_func on invokation.
6513 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
6514 inline bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6515 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const)
6516 { return bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
6518 #ifndef SIGCXX_DISABLE_DEPRECATED
6519 /** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
6521 * @deprecated Please use the version that takes the object by reference instead.
6523 * @param _A_obj Pointer to object instance the functor should operate on.
6524 * @param _A_func Pointer to method that should be wrapped.
6525 * @return Functor that executes @e _A_func on invokation.
6529 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
6530 inline bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6531 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const)
6532 { return bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
6533 #endif //SIGCXX_DISABLE_DEPRECATED
6535 /** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
6536 * @param _A_obj Reference to object instance the functor should operate on.
6537 * @param _A_func Pointer to method that should be wrapped.
6538 * @return Functor that executes @e _A_func on invokation.
6542 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
6543 inline bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6544 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const)
6545 { return bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
6547 #ifndef SIGCXX_DISABLE_DEPRECATED
6548 /** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
6550 * @deprecated Please use the version that takes the object by reference instead.
6552 * @param _A_obj Pointer to object instance the functor should operate on.
6553 * @param _A_func Pointer to method that should be wrapped.
6554 * @return Functor that executes @e _A_func on invokation.
6558 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
6559 inline bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
6560 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const)
6561 { return bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
6562 #endif //SIGCXX_DISABLE_DEPRECATED
6564 /** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
6565 * @param _A_obj Reference to object instance the functor should operate on.
6566 * @param _A_func Pointer to method that should be wrapped.
6567 * @return Functor that executes @e _A_func on invokation.
6571 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
6572 inline bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
6573 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const)
6574 { return bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
6576 #ifndef SIGCXX_DISABLE_DEPRECATED
6577 /** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
6579 * @deprecated Please use the version that takes the object by reference instead.
6581 * @param _A_obj Pointer to object instance the functor should operate on.
6582 * @param _A_func Pointer to method that should be wrapped.
6583 * @return Functor that executes @e _A_func on invokation.
6587 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, class T_obj, class T_obj2>
6588 inline bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
6589 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const)
6590 { return bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
6591 #endif //SIGCXX_DISABLE_DEPRECATED
6593 /** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
6594 * @param _A_obj Reference to object instance the functor should operate on.
6595 * @param _A_func Pointer to method that should be wrapped.
6596 * @return Functor that executes @e _A_func on invokation.
6600 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, class T_obj, class T_obj2>
6601 inline bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
6602 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const)
6603 { return bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
6605 #ifndef SIGCXX_DISABLE_DEPRECATED
6606 /** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
6608 * @deprecated Please use the version that takes the object by reference instead.
6610 * @param _A_obj Pointer to object instance the functor should operate on.
6611 * @param _A_func Pointer to method that should be wrapped.
6612 * @return Functor that executes @e _A_func on invokation.
6616 template <class T_return, class T_obj, class T_obj2>
6617 inline bound_volatile_mem_functor0<T_return, T_obj>
6618 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() volatile)
6619 { return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6620 #endif //SIGCXX_DISABLE_DEPRECATED
6622 /** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
6623 * @param _A_obj Reference to object instance the functor should operate on.
6624 * @param _A_func Pointer to method that should be wrapped.
6625 * @return Functor that executes @e _A_func on invokation.
6629 template <class T_return, class T_obj, class T_obj2>
6630 inline bound_volatile_mem_functor0<T_return, T_obj>
6631 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() volatile)
6632 { return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6634 #ifndef SIGCXX_DISABLE_DEPRECATED
6635 /** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
6637 * @deprecated Please use the version that takes the object by reference instead.
6639 * @param _A_obj Pointer to object instance the functor should operate on.
6640 * @param _A_func Pointer to method that should be wrapped.
6641 * @return Functor that executes @e _A_func on invokation.
6645 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6646 inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
6647 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
6648 { return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6649 #endif //SIGCXX_DISABLE_DEPRECATED
6651 /** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
6652 * @param _A_obj Reference to object instance the functor should operate on.
6653 * @param _A_func Pointer to method that should be wrapped.
6654 * @return Functor that executes @e _A_func on invokation.
6658 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6659 inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
6660 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
6661 { return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6663 #ifndef SIGCXX_DISABLE_DEPRECATED
6664 /** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
6666 * @deprecated Please use the version that takes the object by reference instead.
6668 * @param _A_obj Pointer to object instance the functor should operate on.
6669 * @param _A_func Pointer to method that should be wrapped.
6670 * @return Functor that executes @e _A_func on invokation.
6674 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
6675 inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6676 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) volatile)
6677 { return bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
6678 #endif //SIGCXX_DISABLE_DEPRECATED
6680 /** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
6681 * @param _A_obj Reference to object instance the functor should operate on.
6682 * @param _A_func Pointer to method that should be wrapped.
6683 * @return Functor that executes @e _A_func on invokation.
6687 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
6688 inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6689 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) volatile)
6690 { return bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
6692 #ifndef SIGCXX_DISABLE_DEPRECATED
6693 /** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
6695 * @deprecated Please use the version that takes the object by reference instead.
6697 * @param _A_obj Pointer to object instance the functor should operate on.
6698 * @param _A_func Pointer to method that should be wrapped.
6699 * @return Functor that executes @e _A_func on invokation.
6703 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
6704 inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6705 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) volatile)
6706 { return bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
6707 #endif //SIGCXX_DISABLE_DEPRECATED
6709 /** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
6710 * @param _A_obj Reference to object instance the functor should operate on.
6711 * @param _A_func Pointer to method that should be wrapped.
6712 * @return Functor that executes @e _A_func on invokation.
6716 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
6717 inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6718 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) volatile)
6719 { return bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
6721 #ifndef SIGCXX_DISABLE_DEPRECATED
6722 /** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
6724 * @deprecated Please use the version that takes the object by reference instead.
6726 * @param _A_obj Pointer to object instance the functor should operate on.
6727 * @param _A_func Pointer to method that should be wrapped.
6728 * @return Functor that executes @e _A_func on invokation.
6732 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
6733 inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6734 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) volatile)
6735 { return bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
6736 #endif //SIGCXX_DISABLE_DEPRECATED
6738 /** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
6739 * @param _A_obj Reference to object instance the functor should operate on.
6740 * @param _A_func Pointer to method that should be wrapped.
6741 * @return Functor that executes @e _A_func on invokation.
6745 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
6746 inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6747 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) volatile)
6748 { return bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
6750 #ifndef SIGCXX_DISABLE_DEPRECATED
6751 /** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
6753 * @deprecated Please use the version that takes the object by reference instead.
6755 * @param _A_obj Pointer to object instance the functor should operate on.
6756 * @param _A_func Pointer to method that should be wrapped.
6757 * @return Functor that executes @e _A_func on invokation.
6761 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
6762 inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6763 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) volatile)
6764 { return bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
6765 #endif //SIGCXX_DISABLE_DEPRECATED
6767 /** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
6768 * @param _A_obj Reference to object instance the functor should operate on.
6769 * @param _A_func Pointer to method that should be wrapped.
6770 * @return Functor that executes @e _A_func on invokation.
6774 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
6775 inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6776 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) volatile)
6777 { return bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
6779 #ifndef SIGCXX_DISABLE_DEPRECATED
6780 /** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
6782 * @deprecated Please use the version that takes the object by reference instead.
6784 * @param _A_obj Pointer to object instance the functor should operate on.
6785 * @param _A_func Pointer to method that should be wrapped.
6786 * @return Functor that executes @e _A_func on invokation.
6790 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
6791 inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
6792 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) volatile)
6793 { return bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
6794 #endif //SIGCXX_DISABLE_DEPRECATED
6796 /** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
6797 * @param _A_obj Reference to object instance the functor should operate on.
6798 * @param _A_func Pointer to method that should be wrapped.
6799 * @return Functor that executes @e _A_func on invokation.
6803 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
6804 inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
6805 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) volatile)
6806 { return bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
6808 #ifndef SIGCXX_DISABLE_DEPRECATED
6809 /** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
6811 * @deprecated Please use the version that takes the object by reference instead.
6813 * @param _A_obj Pointer to object instance the functor should operate on.
6814 * @param _A_func Pointer to method that should be wrapped.
6815 * @return Functor that executes @e _A_func on invokation.
6819 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, class T_obj, class T_obj2>
6820 inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
6821 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) volatile)
6822 { return bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
6823 #endif //SIGCXX_DISABLE_DEPRECATED
6825 /** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
6826 * @param _A_obj Reference to object instance the functor should operate on.
6827 * @param _A_func Pointer to method that should be wrapped.
6828 * @return Functor that executes @e _A_func on invokation.
6832 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, class T_obj, class T_obj2>
6833 inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
6834 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) volatile)
6835 { return bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
6837 #ifndef SIGCXX_DISABLE_DEPRECATED
6838 /** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
6840 * @deprecated Please use the version that takes the object by reference instead.
6842 * @param _A_obj Pointer to object instance the functor should operate on.
6843 * @param _A_func Pointer to method that should be wrapped.
6844 * @return Functor that executes @e _A_func on invokation.
6848 template <class T_return, class T_obj, class T_obj2>
6849 inline bound_const_volatile_mem_functor0<T_return, T_obj>
6850 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const volatile)
6851 { return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6852 #endif //SIGCXX_DISABLE_DEPRECATED
6854 /** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
6855 * @param _A_obj Reference to object instance the functor should operate on.
6856 * @param _A_func Pointer to method that should be wrapped.
6857 * @return Functor that executes @e _A_func on invokation.
6861 template <class T_return, class T_obj, class T_obj2>
6862 inline bound_const_volatile_mem_functor0<T_return, T_obj>
6863 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const volatile)
6864 { return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6866 #ifndef SIGCXX_DISABLE_DEPRECATED
6867 /** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
6869 * @deprecated Please use the version that takes the object by reference instead.
6871 * @param _A_obj Pointer to object instance the functor should operate on.
6872 * @param _A_func Pointer to method that should be wrapped.
6873 * @return Functor that executes @e _A_func on invokation.
6877 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6878 inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
6879 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
6880 { return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6881 #endif //SIGCXX_DISABLE_DEPRECATED
6883 /** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
6884 * @param _A_obj Reference to object instance the functor should operate on.
6885 * @param _A_func Pointer to method that should be wrapped.
6886 * @return Functor that executes @e _A_func on invokation.
6890 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6891 inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
6892 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
6893 { return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6895 #ifndef SIGCXX_DISABLE_DEPRECATED
6896 /** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
6898 * @deprecated Please use the version that takes the object by reference instead.
6900 * @param _A_obj Pointer to object instance the functor should operate on.
6901 * @param _A_func Pointer to method that should be wrapped.
6902 * @return Functor that executes @e _A_func on invokation.
6906 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
6907 inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6908 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) const volatile)
6909 { return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
6910 #endif //SIGCXX_DISABLE_DEPRECATED
6912 /** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
6913 * @param _A_obj Reference to object instance the functor should operate on.
6914 * @param _A_func Pointer to method that should be wrapped.
6915 * @return Functor that executes @e _A_func on invokation.
6919 template <class T_arg1, class T_arg2, class T_return, class T_obj, class T_obj2>
6920 inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>
6921 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2) const volatile)
6922 { return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>(_A_obj, _A_func); }
6924 #ifndef SIGCXX_DISABLE_DEPRECATED
6925 /** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
6927 * @deprecated Please use the version that takes the object by reference instead.
6929 * @param _A_obj Pointer to object instance the functor should operate on.
6930 * @param _A_func Pointer to method that should be wrapped.
6931 * @return Functor that executes @e _A_func on invokation.
6935 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
6936 inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6937 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) const volatile)
6938 { return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
6939 #endif //SIGCXX_DISABLE_DEPRECATED
6941 /** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
6942 * @param _A_obj Reference to object instance the functor should operate on.
6943 * @param _A_func Pointer to method that should be wrapped.
6944 * @return Functor that executes @e _A_func on invokation.
6948 template <class T_arg1, class T_arg2, class T_arg3, class T_return, class T_obj, class T_obj2>
6949 inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>
6950 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3) const volatile)
6951 { return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>(_A_obj, _A_func); }
6953 #ifndef SIGCXX_DISABLE_DEPRECATED
6954 /** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
6956 * @deprecated Please use the version that takes the object by reference instead.
6958 * @param _A_obj Pointer to object instance the functor should operate on.
6959 * @param _A_func Pointer to method that should be wrapped.
6960 * @return Functor that executes @e _A_func on invokation.
6964 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
6965 inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6966 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const volatile)
6967 { return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
6968 #endif //SIGCXX_DISABLE_DEPRECATED
6970 /** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
6971 * @param _A_obj Reference to object instance the functor should operate on.
6972 * @param _A_func Pointer to method that should be wrapped.
6973 * @return Functor that executes @e _A_func on invokation.
6977 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_return, class T_obj, class T_obj2>
6978 inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>
6979 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4) const volatile)
6980 { return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>(_A_obj, _A_func); }
6982 #ifndef SIGCXX_DISABLE_DEPRECATED
6983 /** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
6985 * @deprecated Please use the version that takes the object by reference instead.
6987 * @param _A_obj Pointer to object instance the functor should operate on.
6988 * @param _A_func Pointer to method that should be wrapped.
6989 * @return Functor that executes @e _A_func on invokation.
6993 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
6994 inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
6995 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const volatile)
6996 { return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
6997 #endif //SIGCXX_DISABLE_DEPRECATED
6999 /** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
7000 * @param _A_obj Reference to object instance the functor should operate on.
7001 * @param _A_func Pointer to method that should be wrapped.
7002 * @return Functor that executes @e _A_func on invokation.
7006 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_return, class T_obj, class T_obj2>
7007 inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
7008 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const volatile)
7009 { return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>(_A_obj, _A_func); }
7011 #ifndef SIGCXX_DISABLE_DEPRECATED
7012 /** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
7014 * @deprecated Please use the version that takes the object by reference instead.
7016 * @param _A_obj Pointer to object instance the functor should operate on.
7017 * @param _A_func Pointer to method that should be wrapped.
7018 * @return Functor that executes @e _A_func on invokation.
7022 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
7023 inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
7024 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const volatile)
7025 { return bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
7026 #endif //SIGCXX_DISABLE_DEPRECATED
7028 /** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
7029 * @param _A_obj Reference to object instance the functor should operate on.
7030 * @param _A_func Pointer to method that should be wrapped.
7031 * @return Functor that executes @e _A_func on invokation.
7035 template <class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_return, class T_obj, class T_obj2>
7036 inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
7037 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const volatile)
7038 { return bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>(_A_obj, _A_func); }
7040 #ifndef SIGCXX_DISABLE_DEPRECATED
7041 /** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
7043 * @deprecated Please use the version that takes the object by reference instead.
7045 * @param _A_obj Pointer to object instance the functor should operate on.
7046 * @param _A_func Pointer to method that should be wrapped.
7047 * @return Functor that executes @e _A_func on invokation.
7051 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, class T_obj, class T_obj2>
7052 inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
7053 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const volatile)
7054 { return bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
7055 #endif //SIGCXX_DISABLE_DEPRECATED
7057 /** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
7058 * @param _A_obj Reference to object instance the functor should operate on.
7059 * @param _A_func Pointer to method that should be wrapped.
7060 * @return Functor that executes @e _A_func on invokation.
7064 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, class T_obj, class T_obj2>
7065 inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
7066 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const volatile)
7067 { return bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>(_A_obj, _A_func); }
7070 } /* namespace sigc */
7071 #endif /* _SIGC_FUNCTORS_MEM_FUN_H_ */