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_MACROS_MEM_FUNHM4_
10 #define _SIGC_FUNCTORS_MACROS_MEM_FUNHM4_
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() is used to convert a pointer to a method to a functor.
20 * Optionally a reference or pointer to an object can be bound to the functor.
21 * Note that only if the object type inherits from sigc::trackable
22 * the slot is cleared automatically when the object goes out of scope!
24 * If the member function pointer is to an overloaded type, you must specify
25 * the types using template arguments starting with the first argument.
26 * It is not necessary to supply the return type.
30 * struct foo : public sigc::trackable
35 * sigc::slot<void, int> sl = sigc::mem_fun(my_foo, &foo::bar);
38 * For const methods mem_fun() takes a const reference or pointer to an object.
42 * struct foo : public sigc::trackable
44 * void bar(int) const {}
47 * sigc::slot<void, int> sl = sigc::mem_fun(my_foo, &foo::bar);
50 * Use mem_fun#() if there is an abiguity as to the number of arguments.
54 * struct foo : public sigc::trackable
58 * void bar(int, int) {}
61 * sigc::slot<void, int> sl = sigc::mem_fun1<int>(my_foo, &foo::bar);
67 /** mem_functor0 wraps methods with 0 argument(s).
68 * Use the convenience function mem_fun() to create an instance of mem_functor0.
70 * The following template arguments are used:
71 * - @e T_return The return type of operator()().
72 * - @e T_obj The object type.
76 template <class T_return, class T_obj>
77 class mem_functor0 : public functor_base
80 typedef T_return (T_obj::*function_type)() ;
81 typedef T_return result_type;
83 /// Constructs an invalid functor.
84 mem_functor0() : func_ptr_(0) {}
86 /** Constructs a mem_functor0 object that wraps the passed method.
87 * @param _A_func Pointer to method will be invoked from operator()().
89 explicit mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
91 /** Execute the wrapped method operating on the passed instance.
92 * @param _A_obj Pointer to instance the method should operate on.
93 * @return The return value of the method invocation.
95 T_return operator()(T_obj* _A_obj) const
96 { return (_A_obj->*(this->func_ptr_))(); }
98 /** Execute the wrapped method operating on the passed instance.
99 * @param _A_obj Reference to instance the method should operate on.
100 * @return The return value of the method invocation.
102 T_return operator()(T_obj& _A_obj) const
103 { return (_A_obj.*func_ptr_)(); }
106 function_type func_ptr_;
109 /** mem_functor1 wraps methods with 1 argument(s).
110 * Use the convenience function mem_fun() to create an instance of mem_functor1.
112 * The following template arguments are used:
113 * - @e T_arg1 Argument type used in the definition of operator()().
114 * - @e T_return The return type of operator()().
115 * - @e T_obj The object type.
119 template <class T_return, class T_obj, class T_arg1>
120 class mem_functor1 : public functor_base
123 typedef T_return (T_obj::*function_type)(T_arg1) ;
124 typedef T_return result_type;
126 /// Constructs an invalid functor.
127 mem_functor1() : func_ptr_(0) {}
129 /** Constructs a mem_functor1 object that wraps the passed method.
130 * @param _A_func Pointer to method will be invoked from operator()().
132 explicit mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
134 /** Execute the wrapped method operating on the passed instance.
135 * @param _A_obj Pointer to instance the method should operate on.
136 * @param _A_a1 Argument to be passed on to the method.
137 * @return The return value of the method invocation.
139 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1) const
140 { return (_A_obj->*(this->func_ptr_))(_A_a1); }
142 /** Execute the wrapped method operating on the passed instance.
143 * @param _A_obj Reference to instance the method should operate on.
144 * @param _A_a1 Argument to be passed on to the method.
145 * @return The return value of the method invocation.
147 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1) const
148 { return (_A_obj.*func_ptr_)(_A_a1); }
151 function_type func_ptr_;
154 /** mem_functor2 wraps methods with 2 argument(s).
155 * Use the convenience function mem_fun() to create an instance of mem_functor2.
157 * The following template arguments are used:
158 * - @e T_arg1 Argument type used in the definition of operator()().
159 * - @e T_arg2 Argument type used in the definition of operator()().
160 * - @e T_return The return type of operator()().
161 * - @e T_obj The object type.
165 template <class T_return, class T_obj, class T_arg1,class T_arg2>
166 class mem_functor2 : public functor_base
169 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2) ;
170 typedef T_return result_type;
172 /// Constructs an invalid functor.
173 mem_functor2() : func_ptr_(0) {}
175 /** Constructs a mem_functor2 object that wraps the passed method.
176 * @param _A_func Pointer to method will be invoked from operator()().
178 explicit mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
180 /** Execute the wrapped method operating on the passed instance.
181 * @param _A_obj Pointer to instance the method should operate on.
182 * @param _A_a1 Argument to be passed on to the method.
183 * @param _A_a2 Argument to be passed on to the method.
184 * @return The return value of the method invocation.
186 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
187 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2); }
189 /** Execute the wrapped method operating on the passed instance.
190 * @param _A_obj Reference to instance the method should operate on.
191 * @param _A_a1 Argument to be passed on to the method.
192 * @param _A_a2 Argument to be passed on to the method.
193 * @return The return value of the method invocation.
195 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
196 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2); }
199 function_type func_ptr_;
202 /** mem_functor3 wraps methods with 3 argument(s).
203 * Use the convenience function mem_fun() to create an instance of mem_functor3.
205 * The following template arguments are used:
206 * - @e T_arg1 Argument type used in the definition of operator()().
207 * - @e T_arg2 Argument type used in the definition of operator()().
208 * - @e T_arg3 Argument type used in the definition of operator()().
209 * - @e T_return The return type of operator()().
210 * - @e T_obj The object type.
214 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
215 class mem_functor3 : public functor_base
218 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3) ;
219 typedef T_return result_type;
221 /// Constructs an invalid functor.
222 mem_functor3() : func_ptr_(0) {}
224 /** Constructs a mem_functor3 object that wraps the passed method.
225 * @param _A_func Pointer to method will be invoked from operator()().
227 explicit mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
229 /** Execute the wrapped method operating on the passed instance.
230 * @param _A_obj Pointer to instance the method should operate on.
231 * @param _A_a1 Argument to be passed on to the method.
232 * @param _A_a2 Argument to be passed on to the method.
233 * @param _A_a3 Argument to be passed on to the method.
234 * @return The return value of the method invocation.
236 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
237 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
239 /** Execute the wrapped method operating on the passed instance.
240 * @param _A_obj Reference to instance the method should operate on.
241 * @param _A_a1 Argument to be passed on to the method.
242 * @param _A_a2 Argument to be passed on to the method.
243 * @param _A_a3 Argument to be passed on to the method.
244 * @return The return value of the method invocation.
246 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
247 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3); }
250 function_type func_ptr_;
253 /** mem_functor4 wraps methods with 4 argument(s).
254 * Use the convenience function mem_fun() to create an instance of mem_functor4.
256 * The following template arguments are used:
257 * - @e T_arg1 Argument type used in the definition of operator()().
258 * - @e T_arg2 Argument type used in the definition of operator()().
259 * - @e T_arg3 Argument type used in the definition of operator()().
260 * - @e T_arg4 Argument type used in the definition of operator()().
261 * - @e T_return The return type of operator()().
262 * - @e T_obj The object type.
266 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
267 class mem_functor4 : public functor_base
270 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4) ;
271 typedef T_return result_type;
273 /// Constructs an invalid functor.
274 mem_functor4() : func_ptr_(0) {}
276 /** Constructs a mem_functor4 object that wraps the passed method.
277 * @param _A_func Pointer to method will be invoked from operator()().
279 explicit mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
281 /** Execute the wrapped method operating on the passed instance.
282 * @param _A_obj Pointer to instance the method should operate on.
283 * @param _A_a1 Argument to be passed on to the method.
284 * @param _A_a2 Argument to be passed on to the method.
285 * @param _A_a3 Argument to be passed on to the method.
286 * @param _A_a4 Argument to be passed on to the method.
287 * @return The return value of the method invocation.
289 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
290 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
292 /** Execute the wrapped method operating on the passed instance.
293 * @param _A_obj Reference to instance the method should operate on.
294 * @param _A_a1 Argument to be passed on to the method.
295 * @param _A_a2 Argument to be passed on to the method.
296 * @param _A_a3 Argument to be passed on to the method.
297 * @param _A_a4 Argument to be passed on to the method.
298 * @return The return value of the method invocation.
300 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
301 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4); }
304 function_type func_ptr_;
307 /** mem_functor5 wraps methods with 5 argument(s).
308 * Use the convenience function mem_fun() to create an instance of mem_functor5.
310 * The following template arguments are used:
311 * - @e T_arg1 Argument type used in the definition of operator()().
312 * - @e T_arg2 Argument type used in the definition of operator()().
313 * - @e T_arg3 Argument type used in the definition of operator()().
314 * - @e T_arg4 Argument type used in the definition of operator()().
315 * - @e T_arg5 Argument type used in the definition of operator()().
316 * - @e T_return The return type of operator()().
317 * - @e T_obj The object type.
321 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
322 class mem_functor5 : public functor_base
325 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) ;
326 typedef T_return result_type;
328 /// Constructs an invalid functor.
329 mem_functor5() : func_ptr_(0) {}
331 /** Constructs a mem_functor5 object that wraps the passed method.
332 * @param _A_func Pointer to method will be invoked from operator()().
334 explicit mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
336 /** Execute the wrapped method operating on the passed instance.
337 * @param _A_obj Pointer to instance the method should operate on.
338 * @param _A_a1 Argument to be passed on to the method.
339 * @param _A_a2 Argument to be passed on to the method.
340 * @param _A_a3 Argument to be passed on to the method.
341 * @param _A_a4 Argument to be passed on to the method.
342 * @param _A_a5 Argument to be passed on to the method.
343 * @return The return value of the method invocation.
345 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
346 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
348 /** Execute the wrapped method operating on the passed instance.
349 * @param _A_obj Reference to instance the method should operate on.
350 * @param _A_a1 Argument to be passed on to the method.
351 * @param _A_a2 Argument to be passed on to the method.
352 * @param _A_a3 Argument to be passed on to the method.
353 * @param _A_a4 Argument to be passed on to the method.
354 * @param _A_a5 Argument to be passed on to the method.
355 * @return The return value of the method invocation.
357 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
358 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
361 function_type func_ptr_;
364 /** mem_functor6 wraps methods with 6 argument(s).
365 * Use the convenience function mem_fun() to create an instance of mem_functor6.
367 * The following template arguments are used:
368 * - @e T_arg1 Argument type used in the definition of operator()().
369 * - @e T_arg2 Argument type used in the definition of operator()().
370 * - @e T_arg3 Argument type used in the definition of operator()().
371 * - @e T_arg4 Argument type used in the definition of operator()().
372 * - @e T_arg5 Argument type used in the definition of operator()().
373 * - @e T_arg6 Argument type used in the definition of operator()().
374 * - @e T_return The return type of operator()().
375 * - @e T_obj The object type.
379 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>
380 class mem_functor6 : public functor_base
383 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) ;
384 typedef T_return result_type;
386 /// Constructs an invalid functor.
387 mem_functor6() : func_ptr_(0) {}
389 /** Constructs a mem_functor6 object that wraps the passed method.
390 * @param _A_func Pointer to method will be invoked from operator()().
392 explicit mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
394 /** Execute the wrapped method operating on the passed instance.
395 * @param _A_obj Pointer to instance the method should operate on.
396 * @param _A_a1 Argument to be passed on to the method.
397 * @param _A_a2 Argument to be passed on to the method.
398 * @param _A_a3 Argument to be passed on to the method.
399 * @param _A_a4 Argument to be passed on to the method.
400 * @param _A_a5 Argument to be passed on to the method.
401 * @param _A_a6 Argument to be passed on to the method.
402 * @return The return value of the method invocation.
404 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
405 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
407 /** Execute the wrapped method operating on the passed instance.
408 * @param _A_obj Reference to instance the method should operate on.
409 * @param _A_a1 Argument to be passed on to the method.
410 * @param _A_a2 Argument to be passed on to the method.
411 * @param _A_a3 Argument to be passed on to the method.
412 * @param _A_a4 Argument to be passed on to the method.
413 * @param _A_a5 Argument to be passed on to the method.
414 * @param _A_a6 Argument to be passed on to the method.
415 * @return The return value of the method invocation.
417 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
418 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
421 function_type func_ptr_;
424 /** mem_functor7 wraps methods with 7 argument(s).
425 * Use the convenience function mem_fun() to create an instance of mem_functor7.
427 * The following template arguments are used:
428 * - @e T_arg1 Argument type used in the definition of operator()().
429 * - @e T_arg2 Argument type used in the definition of operator()().
430 * - @e T_arg3 Argument type used in the definition of operator()().
431 * - @e T_arg4 Argument type used in the definition of operator()().
432 * - @e T_arg5 Argument type used in the definition of operator()().
433 * - @e T_arg6 Argument type used in the definition of operator()().
434 * - @e T_arg7 Argument type used in the definition of operator()().
435 * - @e T_return The return type of operator()().
436 * - @e T_obj The object type.
440 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>
441 class mem_functor7 : public functor_base
444 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) ;
445 typedef T_return result_type;
447 /// Constructs an invalid functor.
448 mem_functor7() : func_ptr_(0) {}
450 /** Constructs a mem_functor7 object that wraps the passed method.
451 * @param _A_func Pointer to method will be invoked from operator()().
453 explicit mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
455 /** Execute the wrapped method operating on the passed instance.
456 * @param _A_obj Pointer 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 * @param _A_a7 Argument to be passed on to the method.
464 * @return The return value of the method invocation.
466 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
467 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
469 /** Execute the wrapped method operating on the passed instance.
470 * @param _A_obj Reference to instance the method should operate on.
471 * @param _A_a1 Argument to be passed on to the method.
472 * @param _A_a2 Argument to be passed on to the method.
473 * @param _A_a3 Argument to be passed on to the method.
474 * @param _A_a4 Argument to be passed on to the method.
475 * @param _A_a5 Argument to be passed on to the method.
476 * @param _A_a6 Argument to be passed on to the method.
477 * @param _A_a7 Argument to be passed on to the method.
478 * @return The return value of the method invocation.
480 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
481 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
484 function_type func_ptr_;
487 /** const_mem_functor0 wraps const methods with 0 argument(s).
488 * Use the convenience function mem_fun() to create an instance of const_mem_functor0.
490 * The following template arguments are used:
491 * - @e T_return The return type of operator()().
492 * - @e T_obj The object type.
496 template <class T_return, class T_obj>
497 class const_mem_functor0 : public functor_base
500 typedef T_return (T_obj::*function_type)() const;
501 typedef T_return result_type;
503 /// Constructs an invalid functor.
504 const_mem_functor0() : func_ptr_(0) {}
506 /** Constructs a const_mem_functor0 object that wraps the passed method.
507 * @param _A_func Pointer to method will be invoked from operator()().
509 explicit const_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
511 /** Execute the wrapped method operating on the passed instance.
512 * @param _A_obj Pointer to instance the method should operate on.
513 * @return The return value of the method invocation.
515 T_return operator()(const T_obj* _A_obj) const
516 { return (_A_obj->*(this->func_ptr_))(); }
518 /** Execute the wrapped method operating on the passed instance.
519 * @param _A_obj Reference to instance the method should operate on.
520 * @return The return value of the method invocation.
522 T_return operator()(const T_obj& _A_obj) const
523 { return (_A_obj.*func_ptr_)(); }
526 function_type func_ptr_;
529 /** const_mem_functor1 wraps const methods with 1 argument(s).
530 * Use the convenience function mem_fun() to create an instance of const_mem_functor1.
532 * The following template arguments are used:
533 * - @e T_arg1 Argument type used in the definition of operator()().
534 * - @e T_return The return type of operator()().
535 * - @e T_obj The object type.
539 template <class T_return, class T_obj, class T_arg1>
540 class const_mem_functor1 : public functor_base
543 typedef T_return (T_obj::*function_type)(T_arg1) const;
544 typedef T_return result_type;
546 /// Constructs an invalid functor.
547 const_mem_functor1() : func_ptr_(0) {}
549 /** Constructs a const_mem_functor1 object that wraps the passed method.
550 * @param _A_func Pointer to method will be invoked from operator()().
552 explicit const_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
554 /** Execute the wrapped method operating on the passed instance.
555 * @param _A_obj Pointer to instance the method should operate on.
556 * @param _A_a1 Argument to be passed on to the method.
557 * @return The return value of the method invocation.
559 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1) const
560 { return (_A_obj->*(this->func_ptr_))(_A_a1); }
562 /** Execute the wrapped method operating on the passed instance.
563 * @param _A_obj Reference to instance the method should operate on.
564 * @param _A_a1 Argument to be passed on to the method.
565 * @return The return value of the method invocation.
567 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1) const
568 { return (_A_obj.*func_ptr_)(_A_a1); }
571 function_type func_ptr_;
574 /** const_mem_functor2 wraps const methods with 2 argument(s).
575 * Use the convenience function mem_fun() to create an instance of const_mem_functor2.
577 * The following template arguments are used:
578 * - @e T_arg1 Argument type used in the definition of operator()().
579 * - @e T_arg2 Argument type used in the definition of operator()().
580 * - @e T_return The return type of operator()().
581 * - @e T_obj The object type.
585 template <class T_return, class T_obj, class T_arg1,class T_arg2>
586 class const_mem_functor2 : public functor_base
589 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2) const;
590 typedef T_return result_type;
592 /// Constructs an invalid functor.
593 const_mem_functor2() : func_ptr_(0) {}
595 /** Constructs a const_mem_functor2 object that wraps the passed method.
596 * @param _A_func Pointer to method will be invoked from operator()().
598 explicit const_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
600 /** Execute the wrapped method operating on the passed instance.
601 * @param _A_obj Pointer to instance the method should operate on.
602 * @param _A_a1 Argument to be passed on to the method.
603 * @param _A_a2 Argument to be passed on to the method.
604 * @return The return value of the method invocation.
606 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
607 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2); }
609 /** Execute the wrapped method operating on the passed instance.
610 * @param _A_obj Reference to instance the method should operate on.
611 * @param _A_a1 Argument to be passed on to the method.
612 * @param _A_a2 Argument to be passed on to the method.
613 * @return The return value of the method invocation.
615 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
616 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2); }
619 function_type func_ptr_;
622 /** const_mem_functor3 wraps const methods with 3 argument(s).
623 * Use the convenience function mem_fun() to create an instance of const_mem_functor3.
625 * The following template arguments are used:
626 * - @e T_arg1 Argument type used in the definition of operator()().
627 * - @e T_arg2 Argument type used in the definition of operator()().
628 * - @e T_arg3 Argument type used in the definition of operator()().
629 * - @e T_return The return type of operator()().
630 * - @e T_obj The object type.
634 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
635 class const_mem_functor3 : public functor_base
638 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3) const;
639 typedef T_return result_type;
641 /// Constructs an invalid functor.
642 const_mem_functor3() : func_ptr_(0) {}
644 /** Constructs a const_mem_functor3 object that wraps the passed method.
645 * @param _A_func Pointer to method will be invoked from operator()().
647 explicit const_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
649 /** Execute the wrapped method operating on the passed instance.
650 * @param _A_obj Pointer to instance the method should operate on.
651 * @param _A_a1 Argument to be passed on to the method.
652 * @param _A_a2 Argument to be passed on to the method.
653 * @param _A_a3 Argument to be passed on to the method.
654 * @return The return value of the method invocation.
656 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
657 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
659 /** Execute the wrapped method operating on the passed instance.
660 * @param _A_obj Reference to instance the method should operate on.
661 * @param _A_a1 Argument to be passed on to the method.
662 * @param _A_a2 Argument to be passed on to the method.
663 * @param _A_a3 Argument to be passed on to the method.
664 * @return The return value of the method invocation.
666 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
667 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3); }
670 function_type func_ptr_;
673 /** const_mem_functor4 wraps const methods with 4 argument(s).
674 * Use the convenience function mem_fun() to create an instance of const_mem_functor4.
676 * The following template arguments are used:
677 * - @e T_arg1 Argument type used in the definition of operator()().
678 * - @e T_arg2 Argument type used in the definition of operator()().
679 * - @e T_arg3 Argument type used in the definition of operator()().
680 * - @e T_arg4 Argument type used in the definition of operator()().
681 * - @e T_return The return type of operator()().
682 * - @e T_obj The object type.
686 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
687 class const_mem_functor4 : public functor_base
690 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4) const;
691 typedef T_return result_type;
693 /// Constructs an invalid functor.
694 const_mem_functor4() : func_ptr_(0) {}
696 /** Constructs a const_mem_functor4 object that wraps the passed method.
697 * @param _A_func Pointer to method will be invoked from operator()().
699 explicit const_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
701 /** Execute the wrapped method operating on the passed instance.
702 * @param _A_obj Pointer to instance the method should operate on.
703 * @param _A_a1 Argument to be passed on to the method.
704 * @param _A_a2 Argument to be passed on to the method.
705 * @param _A_a3 Argument to be passed on to the method.
706 * @param _A_a4 Argument to be passed on to the method.
707 * @return The return value of the method invocation.
709 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
710 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
712 /** Execute the wrapped method operating on the passed instance.
713 * @param _A_obj Reference to instance the method should operate on.
714 * @param _A_a1 Argument to be passed on to the method.
715 * @param _A_a2 Argument to be passed on to the method.
716 * @param _A_a3 Argument to be passed on to the method.
717 * @param _A_a4 Argument to be passed on to the method.
718 * @return The return value of the method invocation.
720 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
721 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4); }
724 function_type func_ptr_;
727 /** const_mem_functor5 wraps const methods with 5 argument(s).
728 * Use the convenience function mem_fun() to create an instance of const_mem_functor5.
730 * The following template arguments are used:
731 * - @e T_arg1 Argument type used in the definition of operator()().
732 * - @e T_arg2 Argument type used in the definition of operator()().
733 * - @e T_arg3 Argument type used in the definition of operator()().
734 * - @e T_arg4 Argument type used in the definition of operator()().
735 * - @e T_arg5 Argument type used in the definition of operator()().
736 * - @e T_return The return type of operator()().
737 * - @e T_obj The object type.
741 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
742 class const_mem_functor5 : public functor_base
745 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const;
746 typedef T_return result_type;
748 /// Constructs an invalid functor.
749 const_mem_functor5() : func_ptr_(0) {}
751 /** Constructs a const_mem_functor5 object that wraps the passed method.
752 * @param _A_func Pointer to method will be invoked from operator()().
754 explicit const_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
756 /** Execute the wrapped method operating on the passed instance.
757 * @param _A_obj Pointer to instance the method should operate on.
758 * @param _A_a1 Argument to be passed on to the method.
759 * @param _A_a2 Argument to be passed on to the method.
760 * @param _A_a3 Argument to be passed on to the method.
761 * @param _A_a4 Argument to be passed on to the method.
762 * @param _A_a5 Argument to be passed on to the method.
763 * @return The return value of the method invocation.
765 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
766 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
768 /** Execute the wrapped method operating on the passed instance.
769 * @param _A_obj Reference to instance the method should operate on.
770 * @param _A_a1 Argument to be passed on to the method.
771 * @param _A_a2 Argument to be passed on to the method.
772 * @param _A_a3 Argument to be passed on to the method.
773 * @param _A_a4 Argument to be passed on to the method.
774 * @param _A_a5 Argument to be passed on to the method.
775 * @return The return value of the method invocation.
777 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
778 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
781 function_type func_ptr_;
784 /** const_mem_functor6 wraps const methods with 6 argument(s).
785 * Use the convenience function mem_fun() to create an instance of const_mem_functor6.
787 * The following template arguments are used:
788 * - @e T_arg1 Argument type used in the definition of operator()().
789 * - @e T_arg2 Argument type used in the definition of operator()().
790 * - @e T_arg3 Argument type used in the definition of operator()().
791 * - @e T_arg4 Argument type used in the definition of operator()().
792 * - @e T_arg5 Argument type used in the definition of operator()().
793 * - @e T_arg6 Argument type used in the definition of operator()().
794 * - @e T_return The return type of operator()().
795 * - @e T_obj The object type.
799 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>
800 class const_mem_functor6 : public functor_base
803 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const;
804 typedef T_return result_type;
806 /// Constructs an invalid functor.
807 const_mem_functor6() : func_ptr_(0) {}
809 /** Constructs a const_mem_functor6 object that wraps the passed method.
810 * @param _A_func Pointer to method will be invoked from operator()().
812 explicit const_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
814 /** Execute the wrapped method operating on the passed instance.
815 * @param _A_obj Pointer to instance the method should operate on.
816 * @param _A_a1 Argument to be passed on to the method.
817 * @param _A_a2 Argument to be passed on to the method.
818 * @param _A_a3 Argument to be passed on to the method.
819 * @param _A_a4 Argument to be passed on to the method.
820 * @param _A_a5 Argument to be passed on to the method.
821 * @param _A_a6 Argument to be passed on to the method.
822 * @return The return value of the method invocation.
824 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
825 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
827 /** Execute the wrapped method operating on the passed instance.
828 * @param _A_obj Reference to instance the method should operate on.
829 * @param _A_a1 Argument to be passed on to the method.
830 * @param _A_a2 Argument to be passed on to the method.
831 * @param _A_a3 Argument to be passed on to the method.
832 * @param _A_a4 Argument to be passed on to the method.
833 * @param _A_a5 Argument to be passed on to the method.
834 * @param _A_a6 Argument to be passed on to the method.
835 * @return The return value of the method invocation.
837 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
838 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
841 function_type func_ptr_;
844 /** const_mem_functor7 wraps const methods with 7 argument(s).
845 * Use the convenience function mem_fun() to create an instance of const_mem_functor7.
847 * The following template arguments are used:
848 * - @e T_arg1 Argument type used in the definition of operator()().
849 * - @e T_arg2 Argument type used in the definition of operator()().
850 * - @e T_arg3 Argument type used in the definition of operator()().
851 * - @e T_arg4 Argument type used in the definition of operator()().
852 * - @e T_arg5 Argument type used in the definition of operator()().
853 * - @e T_arg6 Argument type used in the definition of operator()().
854 * - @e T_arg7 Argument type used in the definition of operator()().
855 * - @e T_return The return type of operator()().
856 * - @e T_obj The object type.
860 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>
861 class const_mem_functor7 : public functor_base
864 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const;
865 typedef T_return result_type;
867 /// Constructs an invalid functor.
868 const_mem_functor7() : func_ptr_(0) {}
870 /** Constructs a const_mem_functor7 object that wraps the passed method.
871 * @param _A_func Pointer to method will be invoked from operator()().
873 explicit const_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
875 /** Execute the wrapped method operating on the passed instance.
876 * @param _A_obj Pointer to instance the method should operate on.
877 * @param _A_a1 Argument to be passed on to the method.
878 * @param _A_a2 Argument to be passed on to the method.
879 * @param _A_a3 Argument to be passed on to the method.
880 * @param _A_a4 Argument to be passed on to the method.
881 * @param _A_a5 Argument to be passed on to the method.
882 * @param _A_a6 Argument to be passed on to the method.
883 * @param _A_a7 Argument to be passed on to the method.
884 * @return The return value of the method invocation.
886 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
887 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
889 /** Execute the wrapped method operating on the passed instance.
890 * @param _A_obj Reference to instance the method should operate on.
891 * @param _A_a1 Argument to be passed on to the method.
892 * @param _A_a2 Argument to be passed on to the method.
893 * @param _A_a3 Argument to be passed on to the method.
894 * @param _A_a4 Argument to be passed on to the method.
895 * @param _A_a5 Argument to be passed on to the method.
896 * @param _A_a6 Argument to be passed on to the method.
897 * @param _A_a7 Argument to be passed on to the method.
898 * @return The return value of the method invocation.
900 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
901 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
904 function_type func_ptr_;
907 /** volatile_mem_functor0 wraps volatile methods with 0 argument(s).
908 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor0.
910 * The following template arguments are used:
911 * - @e T_return The return type of operator()().
912 * - @e T_obj The object type.
916 template <class T_return, class T_obj>
917 class volatile_mem_functor0 : public functor_base
920 typedef T_return (T_obj::*function_type)() volatile;
921 typedef T_return result_type;
923 /// Constructs an invalid functor.
924 volatile_mem_functor0() : func_ptr_(0) {}
926 /** Constructs a volatile_mem_functor0 object that wraps the passed method.
927 * @param _A_func Pointer to method will be invoked from operator()().
929 explicit volatile_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
931 /** Execute the wrapped method operating on the passed instance.
932 * @param _A_obj Pointer to instance the method should operate on.
933 * @return The return value of the method invocation.
935 T_return operator()(T_obj* _A_obj) const
936 { return (_A_obj->*(this->func_ptr_))(); }
938 /** Execute the wrapped method operating on the passed instance.
939 * @param _A_obj Reference to instance the method should operate on.
940 * @return The return value of the method invocation.
942 T_return operator()(T_obj& _A_obj) const
943 { return (_A_obj.*func_ptr_)(); }
946 function_type func_ptr_;
949 /** volatile_mem_functor1 wraps volatile methods with 1 argument(s).
950 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor1.
952 * The following template arguments are used:
953 * - @e T_arg1 Argument type used in the definition of operator()().
954 * - @e T_return The return type of operator()().
955 * - @e T_obj The object type.
959 template <class T_return, class T_obj, class T_arg1>
960 class volatile_mem_functor1 : public functor_base
963 typedef T_return (T_obj::*function_type)(T_arg1) volatile;
964 typedef T_return result_type;
966 /// Constructs an invalid functor.
967 volatile_mem_functor1() : func_ptr_(0) {}
969 /** Constructs a volatile_mem_functor1 object that wraps the passed method.
970 * @param _A_func Pointer to method will be invoked from operator()().
972 explicit volatile_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
974 /** Execute the wrapped method operating on the passed instance.
975 * @param _A_obj Pointer to instance the method should operate on.
976 * @param _A_a1 Argument to be passed on to the method.
977 * @return The return value of the method invocation.
979 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1) const
980 { return (_A_obj->*(this->func_ptr_))(_A_a1); }
982 /** Execute the wrapped method operating on the passed instance.
983 * @param _A_obj Reference to instance the method should operate on.
984 * @param _A_a1 Argument to be passed on to the method.
985 * @return The return value of the method invocation.
987 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1) const
988 { return (_A_obj.*func_ptr_)(_A_a1); }
991 function_type func_ptr_;
994 /** volatile_mem_functor2 wraps volatile methods with 2 argument(s).
995 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor2.
997 * The following template arguments are used:
998 * - @e T_arg1 Argument type used in the definition of operator()().
999 * - @e T_arg2 Argument type used in the definition of operator()().
1000 * - @e T_return The return type of operator()().
1001 * - @e T_obj The object type.
1005 template <class T_return, class T_obj, class T_arg1,class T_arg2>
1006 class volatile_mem_functor2 : public functor_base
1009 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2) volatile;
1010 typedef T_return result_type;
1012 /// Constructs an invalid functor.
1013 volatile_mem_functor2() : func_ptr_(0) {}
1015 /** Constructs a volatile_mem_functor2 object that wraps the passed method.
1016 * @param _A_func Pointer to method will be invoked from operator()().
1018 explicit volatile_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
1020 /** Execute the wrapped method operating on the passed instance.
1021 * @param _A_obj Pointer to instance the method should operate on.
1022 * @param _A_a1 Argument to be passed on to the method.
1023 * @param _A_a2 Argument to be passed on to the method.
1024 * @return The return value of the method invocation.
1026 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
1027 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2); }
1029 /** Execute the wrapped method operating on the passed instance.
1030 * @param _A_obj Reference to instance the method should operate on.
1031 * @param _A_a1 Argument to be passed on to the method.
1032 * @param _A_a2 Argument to be passed on to the method.
1033 * @return The return value of the method invocation.
1035 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
1036 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2); }
1039 function_type func_ptr_;
1042 /** volatile_mem_functor3 wraps volatile methods with 3 argument(s).
1043 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor3.
1045 * The following template arguments are used:
1046 * - @e T_arg1 Argument type used in the definition of operator()().
1047 * - @e T_arg2 Argument type used in the definition of operator()().
1048 * - @e T_arg3 Argument type used in the definition of operator()().
1049 * - @e T_return The return type of operator()().
1050 * - @e T_obj The object type.
1054 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
1055 class volatile_mem_functor3 : public functor_base
1058 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3) volatile;
1059 typedef T_return result_type;
1061 /// Constructs an invalid functor.
1062 volatile_mem_functor3() : func_ptr_(0) {}
1064 /** Constructs a volatile_mem_functor3 object that wraps the passed method.
1065 * @param _A_func Pointer to method will be invoked from operator()().
1067 explicit volatile_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
1069 /** Execute the wrapped method operating on the passed instance.
1070 * @param _A_obj Pointer to instance the method should operate on.
1071 * @param _A_a1 Argument to be passed on to the method.
1072 * @param _A_a2 Argument to be passed on to the method.
1073 * @param _A_a3 Argument to be passed on to the method.
1074 * @return The return value of the method invocation.
1076 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
1077 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
1079 /** Execute the wrapped method operating on the passed instance.
1080 * @param _A_obj Reference to instance the method should operate on.
1081 * @param _A_a1 Argument to be passed on to the method.
1082 * @param _A_a2 Argument to be passed on to the method.
1083 * @param _A_a3 Argument to be passed on to the method.
1084 * @return The return value of the method invocation.
1086 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
1087 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3); }
1090 function_type func_ptr_;
1093 /** volatile_mem_functor4 wraps volatile methods with 4 argument(s).
1094 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor4.
1096 * The following template arguments are used:
1097 * - @e T_arg1 Argument type used in the definition of operator()().
1098 * - @e T_arg2 Argument type used in the definition of operator()().
1099 * - @e T_arg3 Argument type used in the definition of operator()().
1100 * - @e T_arg4 Argument type used in the definition of operator()().
1101 * - @e T_return The return type of operator()().
1102 * - @e T_obj The object type.
1106 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
1107 class volatile_mem_functor4 : public functor_base
1110 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4) volatile;
1111 typedef T_return result_type;
1113 /// Constructs an invalid functor.
1114 volatile_mem_functor4() : func_ptr_(0) {}
1116 /** Constructs a volatile_mem_functor4 object that wraps the passed method.
1117 * @param _A_func Pointer to method will be invoked from operator()().
1119 explicit volatile_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
1121 /** Execute the wrapped method operating on the passed instance.
1122 * @param _A_obj Pointer to instance the method should operate on.
1123 * @param _A_a1 Argument to be passed on to the method.
1124 * @param _A_a2 Argument to be passed on to the method.
1125 * @param _A_a3 Argument to be passed on to the method.
1126 * @param _A_a4 Argument to be passed on to the method.
1127 * @return The return value of the method invocation.
1129 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
1130 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
1132 /** Execute the wrapped method operating on the passed instance.
1133 * @param _A_obj Reference to instance the method should operate on.
1134 * @param _A_a1 Argument to be passed on to the method.
1135 * @param _A_a2 Argument to be passed on to the method.
1136 * @param _A_a3 Argument to be passed on to the method.
1137 * @param _A_a4 Argument to be passed on to the method.
1138 * @return The return value of the method invocation.
1140 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
1141 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4); }
1144 function_type func_ptr_;
1147 /** volatile_mem_functor5 wraps volatile methods with 5 argument(s).
1148 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor5.
1150 * The following template arguments are used:
1151 * - @e T_arg1 Argument type used in the definition of operator()().
1152 * - @e T_arg2 Argument type used in the definition of operator()().
1153 * - @e T_arg3 Argument type used in the definition of operator()().
1154 * - @e T_arg4 Argument type used in the definition of operator()().
1155 * - @e T_arg5 Argument type used in the definition of operator()().
1156 * - @e T_return The return type of operator()().
1157 * - @e T_obj The object type.
1161 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
1162 class volatile_mem_functor5 : public functor_base
1165 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile;
1166 typedef T_return result_type;
1168 /// Constructs an invalid functor.
1169 volatile_mem_functor5() : func_ptr_(0) {}
1171 /** Constructs a volatile_mem_functor5 object that wraps the passed method.
1172 * @param _A_func Pointer to method will be invoked from operator()().
1174 explicit volatile_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
1176 /** Execute the wrapped method operating on the passed instance.
1177 * @param _A_obj Pointer to instance the method should operate on.
1178 * @param _A_a1 Argument to be passed on to the method.
1179 * @param _A_a2 Argument to be passed on to the method.
1180 * @param _A_a3 Argument to be passed on to the method.
1181 * @param _A_a4 Argument to be passed on to the method.
1182 * @param _A_a5 Argument to be passed on to the method.
1183 * @return The return value of the method invocation.
1185 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
1186 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
1188 /** Execute the wrapped method operating on the passed instance.
1189 * @param _A_obj Reference to instance the method should operate on.
1190 * @param _A_a1 Argument to be passed on to the method.
1191 * @param _A_a2 Argument to be passed on to the method.
1192 * @param _A_a3 Argument to be passed on to the method.
1193 * @param _A_a4 Argument to be passed on to the method.
1194 * @param _A_a5 Argument to be passed on to the method.
1195 * @return The return value of the method invocation.
1197 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
1198 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
1201 function_type func_ptr_;
1204 /** volatile_mem_functor6 wraps volatile methods with 6 argument(s).
1205 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor6.
1207 * The following template arguments are used:
1208 * - @e T_arg1 Argument type used in the definition of operator()().
1209 * - @e T_arg2 Argument type used in the definition of operator()().
1210 * - @e T_arg3 Argument type used in the definition of operator()().
1211 * - @e T_arg4 Argument type used in the definition of operator()().
1212 * - @e T_arg5 Argument type used in the definition of operator()().
1213 * - @e T_arg6 Argument type used in the definition of operator()().
1214 * - @e T_return The return type of operator()().
1215 * - @e T_obj The object type.
1219 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>
1220 class volatile_mem_functor6 : public functor_base
1223 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile;
1224 typedef T_return result_type;
1226 /// Constructs an invalid functor.
1227 volatile_mem_functor6() : func_ptr_(0) {}
1229 /** Constructs a volatile_mem_functor6 object that wraps the passed method.
1230 * @param _A_func Pointer to method will be invoked from operator()().
1232 explicit volatile_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
1234 /** Execute the wrapped method operating on the passed instance.
1235 * @param _A_obj Pointer to instance the method should operate on.
1236 * @param _A_a1 Argument to be passed on to the method.
1237 * @param _A_a2 Argument to be passed on to the method.
1238 * @param _A_a3 Argument to be passed on to the method.
1239 * @param _A_a4 Argument to be passed on to the method.
1240 * @param _A_a5 Argument to be passed on to the method.
1241 * @param _A_a6 Argument to be passed on to the method.
1242 * @return The return value of the method invocation.
1244 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
1245 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
1247 /** Execute the wrapped method operating on the passed instance.
1248 * @param _A_obj Reference to instance the method should operate on.
1249 * @param _A_a1 Argument to be passed on to the method.
1250 * @param _A_a2 Argument to be passed on to the method.
1251 * @param _A_a3 Argument to be passed on to the method.
1252 * @param _A_a4 Argument to be passed on to the method.
1253 * @param _A_a5 Argument to be passed on to the method.
1254 * @param _A_a6 Argument to be passed on to the method.
1255 * @return The return value of the method invocation.
1257 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
1258 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
1261 function_type func_ptr_;
1264 /** volatile_mem_functor7 wraps volatile methods with 7 argument(s).
1265 * Use the convenience function mem_fun() to create an instance of volatile_mem_functor7.
1267 * The following template arguments are used:
1268 * - @e T_arg1 Argument type used in the definition of operator()().
1269 * - @e T_arg2 Argument type used in the definition of operator()().
1270 * - @e T_arg3 Argument type used in the definition of operator()().
1271 * - @e T_arg4 Argument type used in the definition of operator()().
1272 * - @e T_arg5 Argument type used in the definition of operator()().
1273 * - @e T_arg6 Argument type used in the definition of operator()().
1274 * - @e T_arg7 Argument type used in the definition of operator()().
1275 * - @e T_return The return type of operator()().
1276 * - @e T_obj The object type.
1280 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>
1281 class volatile_mem_functor7 : public functor_base
1284 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile;
1285 typedef T_return result_type;
1287 /// Constructs an invalid functor.
1288 volatile_mem_functor7() : func_ptr_(0) {}
1290 /** Constructs a volatile_mem_functor7 object that wraps the passed method.
1291 * @param _A_func Pointer to method will be invoked from operator()().
1293 explicit volatile_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
1295 /** Execute the wrapped method operating on the passed instance.
1296 * @param _A_obj Pointer to instance the method should operate on.
1297 * @param _A_a1 Argument to be passed on to the method.
1298 * @param _A_a2 Argument to be passed on to the method.
1299 * @param _A_a3 Argument to be passed on to the method.
1300 * @param _A_a4 Argument to be passed on to the method.
1301 * @param _A_a5 Argument to be passed on to the method.
1302 * @param _A_a6 Argument to be passed on to the method.
1303 * @param _A_a7 Argument to be passed on to the method.
1304 * @return The return value of the method invocation.
1306 T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
1307 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
1309 /** Execute the wrapped method operating on the passed instance.
1310 * @param _A_obj Reference to instance the method should operate on.
1311 * @param _A_a1 Argument to be passed on to the method.
1312 * @param _A_a2 Argument to be passed on to the method.
1313 * @param _A_a3 Argument to be passed on to the method.
1314 * @param _A_a4 Argument to be passed on to the method.
1315 * @param _A_a5 Argument to be passed on to the method.
1316 * @param _A_a6 Argument to be passed on to the method.
1317 * @param _A_a7 Argument to be passed on to the method.
1318 * @return The return value of the method invocation.
1320 T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
1321 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
1324 function_type func_ptr_;
1327 /** const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s).
1328 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor0.
1330 * The following template arguments are used:
1331 * - @e T_return The return type of operator()().
1332 * - @e T_obj The object type.
1336 template <class T_return, class T_obj>
1337 class const_volatile_mem_functor0 : public functor_base
1340 typedef T_return (T_obj::*function_type)() const volatile;
1341 typedef T_return result_type;
1343 /// Constructs an invalid functor.
1344 const_volatile_mem_functor0() : func_ptr_(0) {}
1346 /** Constructs a const_volatile_mem_functor0 object that wraps the passed method.
1347 * @param _A_func Pointer to method will be invoked from operator()().
1349 explicit const_volatile_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
1351 /** Execute the wrapped method operating on the passed instance.
1352 * @param _A_obj Pointer to instance the method should operate on.
1353 * @return The return value of the method invocation.
1355 T_return operator()(const T_obj* _A_obj) const
1356 { return (_A_obj->*(this->func_ptr_))(); }
1358 /** Execute the wrapped method operating on the passed instance.
1359 * @param _A_obj Reference to instance the method should operate on.
1360 * @return The return value of the method invocation.
1362 T_return operator()(const T_obj& _A_obj) const
1363 { return (_A_obj.*func_ptr_)(); }
1366 function_type func_ptr_;
1369 /** const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s).
1370 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor1.
1372 * The following template arguments are used:
1373 * - @e T_arg1 Argument type used in the definition of operator()().
1374 * - @e T_return The return type of operator()().
1375 * - @e T_obj The object type.
1379 template <class T_return, class T_obj, class T_arg1>
1380 class const_volatile_mem_functor1 : public functor_base
1383 typedef T_return (T_obj::*function_type)(T_arg1) const volatile;
1384 typedef T_return result_type;
1386 /// Constructs an invalid functor.
1387 const_volatile_mem_functor1() : func_ptr_(0) {}
1389 /** Constructs a const_volatile_mem_functor1 object that wraps the passed method.
1390 * @param _A_func Pointer to method will be invoked from operator()().
1392 explicit const_volatile_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
1394 /** Execute the wrapped method operating on the passed instance.
1395 * @param _A_obj Pointer to instance the method should operate on.
1396 * @param _A_a1 Argument to be passed on to the method.
1397 * @return The return value of the method invocation.
1399 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1) const
1400 { return (_A_obj->*(this->func_ptr_))(_A_a1); }
1402 /** Execute the wrapped method operating on the passed instance.
1403 * @param _A_obj Reference to instance the method should operate on.
1404 * @param _A_a1 Argument to be passed on to the method.
1405 * @return The return value of the method invocation.
1407 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1) const
1408 { return (_A_obj.*func_ptr_)(_A_a1); }
1411 function_type func_ptr_;
1414 /** const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s).
1415 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor2.
1417 * The following template arguments are used:
1418 * - @e T_arg1 Argument type used in the definition of operator()().
1419 * - @e T_arg2 Argument type used in the definition of operator()().
1420 * - @e T_return The return type of operator()().
1421 * - @e T_obj The object type.
1425 template <class T_return, class T_obj, class T_arg1,class T_arg2>
1426 class const_volatile_mem_functor2 : public functor_base
1429 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2) const volatile;
1430 typedef T_return result_type;
1432 /// Constructs an invalid functor.
1433 const_volatile_mem_functor2() : func_ptr_(0) {}
1435 /** Constructs a const_volatile_mem_functor2 object that wraps the passed method.
1436 * @param _A_func Pointer to method will be invoked from operator()().
1438 explicit const_volatile_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
1440 /** Execute the wrapped method operating on the passed instance.
1441 * @param _A_obj Pointer to instance the method should operate on.
1442 * @param _A_a1 Argument to be passed on to the method.
1443 * @param _A_a2 Argument to be passed on to the method.
1444 * @return The return value of the method invocation.
1446 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
1447 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2); }
1449 /** Execute the wrapped method operating on the passed instance.
1450 * @param _A_obj Reference to instance the method should operate on.
1451 * @param _A_a1 Argument to be passed on to the method.
1452 * @param _A_a2 Argument to be passed on to the method.
1453 * @return The return value of the method invocation.
1455 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
1456 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2); }
1459 function_type func_ptr_;
1462 /** const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s).
1463 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor3.
1465 * The following template arguments are used:
1466 * - @e T_arg1 Argument type used in the definition of operator()().
1467 * - @e T_arg2 Argument type used in the definition of operator()().
1468 * - @e T_arg3 Argument type used in the definition of operator()().
1469 * - @e T_return The return type of operator()().
1470 * - @e T_obj The object type.
1474 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
1475 class const_volatile_mem_functor3 : public functor_base
1478 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3) const volatile;
1479 typedef T_return result_type;
1481 /// Constructs an invalid functor.
1482 const_volatile_mem_functor3() : func_ptr_(0) {}
1484 /** Constructs a const_volatile_mem_functor3 object that wraps the passed method.
1485 * @param _A_func Pointer to method will be invoked from operator()().
1487 explicit const_volatile_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
1489 /** Execute the wrapped method operating on the passed instance.
1490 * @param _A_obj Pointer to instance the method should operate on.
1491 * @param _A_a1 Argument to be passed on to the method.
1492 * @param _A_a2 Argument to be passed on to the method.
1493 * @param _A_a3 Argument to be passed on to the method.
1494 * @return The return value of the method invocation.
1496 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
1497 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
1499 /** Execute the wrapped method operating on the passed instance.
1500 * @param _A_obj Reference to instance the method should operate on.
1501 * @param _A_a1 Argument to be passed on to the method.
1502 * @param _A_a2 Argument to be passed on to the method.
1503 * @param _A_a3 Argument to be passed on to the method.
1504 * @return The return value of the method invocation.
1506 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
1507 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3); }
1510 function_type func_ptr_;
1513 /** const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s).
1514 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor4.
1516 * The following template arguments are used:
1517 * - @e T_arg1 Argument type used in the definition of operator()().
1518 * - @e T_arg2 Argument type used in the definition of operator()().
1519 * - @e T_arg3 Argument type used in the definition of operator()().
1520 * - @e T_arg4 Argument type used in the definition of operator()().
1521 * - @e T_return The return type of operator()().
1522 * - @e T_obj The object type.
1526 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
1527 class const_volatile_mem_functor4 : public functor_base
1530 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile;
1531 typedef T_return result_type;
1533 /// Constructs an invalid functor.
1534 const_volatile_mem_functor4() : func_ptr_(0) {}
1536 /** Constructs a const_volatile_mem_functor4 object that wraps the passed method.
1537 * @param _A_func Pointer to method will be invoked from operator()().
1539 explicit const_volatile_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
1541 /** Execute the wrapped method operating on the passed instance.
1542 * @param _A_obj Pointer to instance the method should operate on.
1543 * @param _A_a1 Argument to be passed on to the method.
1544 * @param _A_a2 Argument to be passed on to the method.
1545 * @param _A_a3 Argument to be passed on to the method.
1546 * @param _A_a4 Argument to be passed on to the method.
1547 * @return The return value of the method invocation.
1549 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
1550 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
1552 /** Execute the wrapped method operating on the passed instance.
1553 * @param _A_obj Reference to instance the method should operate on.
1554 * @param _A_a1 Argument to be passed on to the method.
1555 * @param _A_a2 Argument to be passed on to the method.
1556 * @param _A_a3 Argument to be passed on to the method.
1557 * @param _A_a4 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, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
1561 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4); }
1564 function_type func_ptr_;
1567 /** const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s).
1568 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor5.
1570 * The following template arguments are used:
1571 * - @e T_arg1 Argument type used in the definition of operator()().
1572 * - @e T_arg2 Argument type used in the definition of operator()().
1573 * - @e T_arg3 Argument type used in the definition of operator()().
1574 * - @e T_arg4 Argument type used in the definition of operator()().
1575 * - @e T_arg5 Argument type used in the definition of operator()().
1576 * - @e T_return The return type of operator()().
1577 * - @e T_obj The object type.
1581 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
1582 class const_volatile_mem_functor5 : public functor_base
1585 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile;
1586 typedef T_return result_type;
1588 /// Constructs an invalid functor.
1589 const_volatile_mem_functor5() : func_ptr_(0) {}
1591 /** Constructs a const_volatile_mem_functor5 object that wraps the passed method.
1592 * @param _A_func Pointer to method will be invoked from operator()().
1594 explicit const_volatile_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
1596 /** Execute the wrapped method operating on the passed instance.
1597 * @param _A_obj Pointer to instance the method should operate on.
1598 * @param _A_a1 Argument to be passed on to the method.
1599 * @param _A_a2 Argument to be passed on to the method.
1600 * @param _A_a3 Argument to be passed on to the method.
1601 * @param _A_a4 Argument to be passed on to the method.
1602 * @param _A_a5 Argument to be passed on to the method.
1603 * @return The return value of the method invocation.
1605 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
1606 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
1608 /** Execute the wrapped method operating on the passed instance.
1609 * @param _A_obj Reference to instance the method should operate on.
1610 * @param _A_a1 Argument to be passed on to the method.
1611 * @param _A_a2 Argument to be passed on to the method.
1612 * @param _A_a3 Argument to be passed on to the method.
1613 * @param _A_a4 Argument to be passed on to the method.
1614 * @param _A_a5 Argument to be passed on to the method.
1615 * @return The return value of the method invocation.
1617 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
1618 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
1621 function_type func_ptr_;
1624 /** const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s).
1625 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor6.
1627 * The following template arguments are used:
1628 * - @e T_arg1 Argument type used in the definition of operator()().
1629 * - @e T_arg2 Argument type used in the definition of operator()().
1630 * - @e T_arg3 Argument type used in the definition of operator()().
1631 * - @e T_arg4 Argument type used in the definition of operator()().
1632 * - @e T_arg5 Argument type used in the definition of operator()().
1633 * - @e T_arg6 Argument type used in the definition of operator()().
1634 * - @e T_return The return type of operator()().
1635 * - @e T_obj The object type.
1639 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>
1640 class const_volatile_mem_functor6 : public functor_base
1643 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile;
1644 typedef T_return result_type;
1646 /// Constructs an invalid functor.
1647 const_volatile_mem_functor6() : func_ptr_(0) {}
1649 /** Constructs a const_volatile_mem_functor6 object that wraps the passed method.
1650 * @param _A_func Pointer to method will be invoked from operator()().
1652 explicit const_volatile_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
1654 /** Execute the wrapped method operating on the passed instance.
1655 * @param _A_obj Pointer to instance the method should operate on.
1656 * @param _A_a1 Argument to be passed on to the method.
1657 * @param _A_a2 Argument to be passed on to the method.
1658 * @param _A_a3 Argument to be passed on to the method.
1659 * @param _A_a4 Argument to be passed on to the method.
1660 * @param _A_a5 Argument to be passed on to the method.
1661 * @param _A_a6 Argument to be passed on to the method.
1662 * @return The return value of the method invocation.
1664 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
1665 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
1667 /** Execute the wrapped method operating on the passed instance.
1668 * @param _A_obj Reference to instance the method should operate on.
1669 * @param _A_a1 Argument to be passed on to the method.
1670 * @param _A_a2 Argument to be passed on to the method.
1671 * @param _A_a3 Argument to be passed on to the method.
1672 * @param _A_a4 Argument to be passed on to the method.
1673 * @param _A_a5 Argument to be passed on to the method.
1674 * @param _A_a6 Argument to be passed on to the method.
1675 * @return The return value of the method invocation.
1677 T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
1678 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
1681 function_type func_ptr_;
1684 /** const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s).
1685 * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor7.
1687 * The following template arguments are used:
1688 * - @e T_arg1 Argument type used in the definition of operator()().
1689 * - @e T_arg2 Argument type used in the definition of operator()().
1690 * - @e T_arg3 Argument type used in the definition of operator()().
1691 * - @e T_arg4 Argument type used in the definition of operator()().
1692 * - @e T_arg5 Argument type used in the definition of operator()().
1693 * - @e T_arg6 Argument type used in the definition of operator()().
1694 * - @e T_arg7 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,class T_arg5,class T_arg6,class T_arg7>
1701 class const_volatile_mem_functor7 : public functor_base
1704 typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile;
1705 typedef T_return result_type;
1707 /// Constructs an invalid functor.
1708 const_volatile_mem_functor7() : func_ptr_(0) {}
1710 /** Constructs a const_volatile_mem_functor7 object that wraps the passed method.
1711 * @param _A_func Pointer to method will be invoked from operator()().
1713 explicit const_volatile_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
1715 /** Execute the wrapped method operating on the passed instance.
1716 * @param _A_obj Pointer to instance the method should operate on.
1717 * @param _A_a1 Argument to be passed on to the method.
1718 * @param _A_a2 Argument to be passed on to the method.
1719 * @param _A_a3 Argument to be passed on to the method.
1720 * @param _A_a4 Argument to be passed on to the method.
1721 * @param _A_a5 Argument to be passed on to the method.
1722 * @param _A_a6 Argument to be passed on to the method.
1723 * @param _A_a7 Argument to be passed on to the method.
1724 * @return The return value of the method invocation.
1726 T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
1727 { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
1729 /** Execute the wrapped method operating on the passed instance.
1730 * @param _A_obj Reference to instance the method should operate on.
1731 * @param _A_a1 Argument to be passed on to the method.
1732 * @param _A_a2 Argument to be passed on to the method.
1733 * @param _A_a3 Argument to be passed on to the method.
1734 * @param _A_a4 Argument to be passed on to the method.
1735 * @param _A_a5 Argument to be passed on to the method.
1736 * @param _A_a6 Argument to be passed on to the method.
1737 * @param _A_a7 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, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
1741 { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
1744 function_type func_ptr_;
1748 /** bound_mem_functor0 encapsulates a method with 0 arguments and an object instance.
1749 * Use the convenience function mem_fun() to create an instance of bound_mem_functor0.
1751 * The following template arguments are used:
1752 * - @e T_return The return type of operator()().
1753 * - @e T_obj The object type.
1757 template <class T_return, class T_obj>
1758 class bound_mem_functor0
1759 : public mem_functor0<T_return, T_obj>
1761 typedef mem_functor0<T_return, T_obj> base_type_;
1763 typedef typename base_type_::function_type function_type;
1765 /** Constructs a bound_mem_functor0 object that wraps the passed method.
1766 * @param _A_obj Pointer to instance the method will operate on.
1767 * @param _A_func Pointer to method will be invoked from operator()().
1769 bound_mem_functor0( T_obj* _A_obj, function_type _A_func)
1770 : base_type_(_A_func),
1774 /** Constructs a bound_mem_functor0 object that wraps the passed method.
1775 * @param _A_obj Reference to instance the method will operate on.
1776 * @param _A_func Pointer to method will be invoked from operator()().
1778 bound_mem_functor0( T_obj& _A_obj, function_type _A_func)
1779 : base_type_(_A_func),
1783 /** Execute the wrapped method operating on the stored instance.
1784 * @return The return value of the method invocation.
1786 T_return operator()() const
1787 { return (obj_.invoke().*(this->func_ptr_))(); }
1790 // Reference to stored object instance.
1791 // This is the handler object, such as TheObject in void TheObject::signal_handler().
1792 limit_reference<T_obj> obj_;
1795 //template specialization of visit_each<>(action, functor):
1796 /** Performs a functor on each of the targets of a functor.
1797 * The function overload for sigc::bound_mem_functor performs a functor
1798 * on the object instance stored in the sigc::bound_mem_functor object.
1802 template <class T_action, class T_return, class T_obj>
1803 void visit_each(const T_action& _A_action,
1804 const bound_mem_functor0<T_return, T_obj>& _A_target)
1806 sigc::visit_each(_A_action, _A_target.obj_);
1810 /** bound_mem_functor1 encapsulates a method with 1 arguments and an object instance.
1811 * Use the convenience function mem_fun() to create an instance of bound_mem_functor1.
1813 * The following template arguments are used:
1814 * - @e T_arg1 Argument type used in the definition of operator()().
1815 * - @e T_return The return type of operator()().
1816 * - @e T_obj The object type.
1820 template <class T_return, class T_obj, class T_arg1>
1821 class bound_mem_functor1
1822 : public mem_functor1<T_return, T_obj, T_arg1>
1824 typedef mem_functor1<T_return, T_obj, T_arg1> base_type_;
1826 typedef typename base_type_::function_type function_type;
1828 /** Constructs a bound_mem_functor1 object that wraps the passed method.
1829 * @param _A_obj Pointer to instance the method will operate on.
1830 * @param _A_func Pointer to method will be invoked from operator()().
1832 bound_mem_functor1( T_obj* _A_obj, function_type _A_func)
1833 : base_type_(_A_func),
1837 /** Constructs a bound_mem_functor1 object that wraps the passed method.
1838 * @param _A_obj Reference to instance the method will operate on.
1839 * @param _A_func Pointer to method will be invoked from operator()().
1841 bound_mem_functor1( T_obj& _A_obj, function_type _A_func)
1842 : base_type_(_A_func),
1846 /** Execute the wrapped method operating on the stored instance.
1847 * @param _A_a1 Argument to be passed on to the method.
1848 * @return The return value of the method invocation.
1850 T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
1851 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); }
1854 // Reference to stored object instance.
1855 // This is the handler object, such as TheObject in void TheObject::signal_handler().
1856 limit_reference<T_obj> obj_;
1859 //template specialization of visit_each<>(action, functor):
1860 /** Performs a functor on each of the targets of a functor.
1861 * The function overload for sigc::bound_mem_functor performs a functor
1862 * on the object instance stored in the sigc::bound_mem_functor object.
1866 template <class T_action, class T_return, class T_obj, class T_arg1>
1867 void visit_each(const T_action& _A_action,
1868 const bound_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
1870 sigc::visit_each(_A_action, _A_target.obj_);
1874 /** bound_mem_functor2 encapsulates a method with 2 arguments and an object instance.
1875 * Use the convenience function mem_fun() to create an instance of bound_mem_functor2.
1877 * The following template arguments are used:
1878 * - @e T_arg1 Argument type used in the definition of operator()().
1879 * - @e T_arg2 Argument type used in the definition of operator()().
1880 * - @e T_return The return type of operator()().
1881 * - @e T_obj The object type.
1885 template <class T_return, class T_obj, class T_arg1,class T_arg2>
1886 class bound_mem_functor2
1887 : public mem_functor2<T_return, T_obj, T_arg1,T_arg2>
1889 typedef mem_functor2<T_return, T_obj, T_arg1,T_arg2> base_type_;
1891 typedef typename base_type_::function_type function_type;
1893 /** Constructs a bound_mem_functor2 object that wraps the passed method.
1894 * @param _A_obj Pointer to instance the method will operate on.
1895 * @param _A_func Pointer to method will be invoked from operator()().
1897 bound_mem_functor2( T_obj* _A_obj, function_type _A_func)
1898 : base_type_(_A_func),
1902 /** Constructs a bound_mem_functor2 object that wraps the passed method.
1903 * @param _A_obj Reference to instance the method will operate on.
1904 * @param _A_func Pointer to method will be invoked from operator()().
1906 bound_mem_functor2( T_obj& _A_obj, function_type _A_func)
1907 : base_type_(_A_func),
1911 /** Execute the wrapped method operating on the stored instance.
1912 * @param _A_a1 Argument to be passed on to the method.
1913 * @param _A_a2 Argument to be passed on to the method.
1914 * @return The return value of the method invocation.
1916 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
1917 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2); }
1920 // Reference to stored object instance.
1921 // This is the handler object, such as TheObject in void TheObject::signal_handler().
1922 limit_reference<T_obj> obj_;
1925 //template specialization of visit_each<>(action, functor):
1926 /** Performs a functor on each of the targets of a functor.
1927 * The function overload for sigc::bound_mem_functor performs a functor
1928 * on the object instance stored in the sigc::bound_mem_functor object.
1932 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2>
1933 void visit_each(const T_action& _A_action,
1934 const bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_target)
1936 sigc::visit_each(_A_action, _A_target.obj_);
1940 /** bound_mem_functor3 encapsulates a method with 3 arguments and an object instance.
1941 * Use the convenience function mem_fun() to create an instance of bound_mem_functor3.
1943 * The following template arguments are used:
1944 * - @e T_arg1 Argument type used in the definition of operator()().
1945 * - @e T_arg2 Argument type used in the definition of operator()().
1946 * - @e T_arg3 Argument type used in the definition of operator()().
1947 * - @e T_return The return type of operator()().
1948 * - @e T_obj The object type.
1952 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
1953 class bound_mem_functor3
1954 : public mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
1956 typedef mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3> base_type_;
1958 typedef typename base_type_::function_type function_type;
1960 /** Constructs a bound_mem_functor3 object that wraps the passed method.
1961 * @param _A_obj Pointer to instance the method will operate on.
1962 * @param _A_func Pointer to method will be invoked from operator()().
1964 bound_mem_functor3( T_obj* _A_obj, function_type _A_func)
1965 : base_type_(_A_func),
1969 /** Constructs a bound_mem_functor3 object that wraps the passed method.
1970 * @param _A_obj Reference to instance the method will operate on.
1971 * @param _A_func Pointer to method will be invoked from operator()().
1973 bound_mem_functor3( T_obj& _A_obj, function_type _A_func)
1974 : base_type_(_A_func),
1978 /** Execute the wrapped method operating on the stored instance.
1979 * @param _A_a1 Argument to be passed on to the method.
1980 * @param _A_a2 Argument to be passed on to the method.
1981 * @param _A_a3 Argument to be passed on to the method.
1982 * @return The return value of the method invocation.
1984 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
1985 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
1988 // Reference to stored object instance.
1989 // This is the handler object, such as TheObject in void TheObject::signal_handler().
1990 limit_reference<T_obj> obj_;
1993 //template specialization of visit_each<>(action, functor):
1994 /** Performs a functor on each of the targets of a functor.
1995 * The function overload for sigc::bound_mem_functor performs a functor
1996 * on the object instance stored in the sigc::bound_mem_functor object.
2000 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
2001 void visit_each(const T_action& _A_action,
2002 const bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_target)
2004 sigc::visit_each(_A_action, _A_target.obj_);
2008 /** bound_mem_functor4 encapsulates a method with 4 arguments and an object instance.
2009 * Use the convenience function mem_fun() to create an instance of bound_mem_functor4.
2011 * The following template arguments are used:
2012 * - @e T_arg1 Argument type used in the definition of operator()().
2013 * - @e T_arg2 Argument type used in the definition of operator()().
2014 * - @e T_arg3 Argument type used in the definition of operator()().
2015 * - @e T_arg4 Argument type used in the definition of operator()().
2016 * - @e T_return The return type of operator()().
2017 * - @e T_obj The object type.
2021 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
2022 class bound_mem_functor4
2023 : public mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
2025 typedef mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4> base_type_;
2027 typedef typename base_type_::function_type function_type;
2029 /** Constructs a bound_mem_functor4 object that wraps the passed method.
2030 * @param _A_obj Pointer to instance the method will operate on.
2031 * @param _A_func Pointer to method will be invoked from operator()().
2033 bound_mem_functor4( T_obj* _A_obj, function_type _A_func)
2034 : base_type_(_A_func),
2038 /** Constructs a bound_mem_functor4 object that wraps the passed method.
2039 * @param _A_obj Reference to instance the method will operate on.
2040 * @param _A_func Pointer to method will be invoked from operator()().
2042 bound_mem_functor4( T_obj& _A_obj, function_type _A_func)
2043 : base_type_(_A_func),
2047 /** Execute the wrapped method operating on the stored instance.
2048 * @param _A_a1 Argument to be passed on to the method.
2049 * @param _A_a2 Argument to be passed on to the method.
2050 * @param _A_a3 Argument to be passed on to the method.
2051 * @param _A_a4 Argument to be passed on to the method.
2052 * @return The return value of the method invocation.
2054 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
2055 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
2058 // Reference to stored object instance.
2059 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2060 limit_reference<T_obj> obj_;
2063 //template specialization of visit_each<>(action, functor):
2064 /** Performs a functor on each of the targets of a functor.
2065 * The function overload for sigc::bound_mem_functor performs a functor
2066 * on the object instance stored in the sigc::bound_mem_functor object.
2070 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
2071 void visit_each(const T_action& _A_action,
2072 const bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_target)
2074 sigc::visit_each(_A_action, _A_target.obj_);
2078 /** bound_mem_functor5 encapsulates a method with 5 arguments and an object instance.
2079 * Use the convenience function mem_fun() to create an instance of bound_mem_functor5.
2081 * The following template arguments are used:
2082 * - @e T_arg1 Argument type used in the definition of operator()().
2083 * - @e T_arg2 Argument type used in the definition of operator()().
2084 * - @e T_arg3 Argument type used in the definition of operator()().
2085 * - @e T_arg4 Argument type used in the definition of operator()().
2086 * - @e T_arg5 Argument type used in the definition of operator()().
2087 * - @e T_return The return type of operator()().
2088 * - @e T_obj The object type.
2092 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
2093 class bound_mem_functor5
2094 : public mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
2096 typedef mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> base_type_;
2098 typedef typename base_type_::function_type function_type;
2100 /** Constructs a bound_mem_functor5 object that wraps the passed method.
2101 * @param _A_obj Pointer to instance the method will operate on.
2102 * @param _A_func Pointer to method will be invoked from operator()().
2104 bound_mem_functor5( T_obj* _A_obj, function_type _A_func)
2105 : base_type_(_A_func),
2109 /** Constructs a bound_mem_functor5 object that wraps the passed method.
2110 * @param _A_obj Reference to instance the method will operate on.
2111 * @param _A_func Pointer to method will be invoked from operator()().
2113 bound_mem_functor5( T_obj& _A_obj, function_type _A_func)
2114 : base_type_(_A_func),
2118 /** Execute the wrapped method operating on the stored instance.
2119 * @param _A_a1 Argument to be passed on to the method.
2120 * @param _A_a2 Argument to be passed on to the method.
2121 * @param _A_a3 Argument to be passed on to the method.
2122 * @param _A_a4 Argument to be passed on to the method.
2123 * @param _A_a5 Argument to be passed on to the method.
2124 * @return The return value of the method invocation.
2126 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
2127 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
2130 // Reference to stored object instance.
2131 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2132 limit_reference<T_obj> obj_;
2135 //template specialization of visit_each<>(action, functor):
2136 /** Performs a functor on each of the targets of a functor.
2137 * The function overload for sigc::bound_mem_functor performs a functor
2138 * on the object instance stored in the sigc::bound_mem_functor object.
2142 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
2143 void visit_each(const T_action& _A_action,
2144 const bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_target)
2146 sigc::visit_each(_A_action, _A_target.obj_);
2150 /** bound_mem_functor6 encapsulates a method with 6 arguments and an object instance.
2151 * Use the convenience function mem_fun() to create an instance of bound_mem_functor6.
2153 * The following template arguments are used:
2154 * - @e T_arg1 Argument type used in the definition of operator()().
2155 * - @e T_arg2 Argument type used in the definition of operator()().
2156 * - @e T_arg3 Argument type used in the definition of operator()().
2157 * - @e T_arg4 Argument type used in the definition of operator()().
2158 * - @e T_arg5 Argument type used in the definition of operator()().
2159 * - @e T_arg6 Argument type used in the definition of operator()().
2160 * - @e T_return The return type of operator()().
2161 * - @e T_obj The object type.
2165 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>
2166 class bound_mem_functor6
2167 : public mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
2169 typedef mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> base_type_;
2171 typedef typename base_type_::function_type function_type;
2173 /** Constructs a bound_mem_functor6 object that wraps the passed method.
2174 * @param _A_obj Pointer to instance the method will operate on.
2175 * @param _A_func Pointer to method will be invoked from operator()().
2177 bound_mem_functor6( T_obj* _A_obj, function_type _A_func)
2178 : base_type_(_A_func),
2182 /** Constructs a bound_mem_functor6 object that wraps the passed method.
2183 * @param _A_obj Reference to instance the method will operate on.
2184 * @param _A_func Pointer to method will be invoked from operator()().
2186 bound_mem_functor6( T_obj& _A_obj, function_type _A_func)
2187 : base_type_(_A_func),
2191 /** Execute the wrapped method operating on the stored instance.
2192 * @param _A_a1 Argument to be passed on to the method.
2193 * @param _A_a2 Argument to be passed on to the method.
2194 * @param _A_a3 Argument to be passed on to the method.
2195 * @param _A_a4 Argument to be passed on to the method.
2196 * @param _A_a5 Argument to be passed on to the method.
2197 * @param _A_a6 Argument to be passed on to the method.
2198 * @return The return value of the method invocation.
2200 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
2201 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
2204 // Reference to stored object instance.
2205 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2206 limit_reference<T_obj> obj_;
2209 //template specialization of visit_each<>(action, functor):
2210 /** Performs a functor on each of the targets of a functor.
2211 * The function overload for sigc::bound_mem_functor performs a functor
2212 * on the object instance stored in the sigc::bound_mem_functor object.
2216 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
2217 void visit_each(const T_action& _A_action,
2218 const bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_target)
2220 sigc::visit_each(_A_action, _A_target.obj_);
2224 /** bound_mem_functor7 encapsulates a method with 7 arguments and an object instance.
2225 * Use the convenience function mem_fun() to create an instance of bound_mem_functor7.
2227 * The following template arguments are used:
2228 * - @e T_arg1 Argument type used in the definition of operator()().
2229 * - @e T_arg2 Argument type used in the definition of operator()().
2230 * - @e T_arg3 Argument type used in the definition of operator()().
2231 * - @e T_arg4 Argument type used in the definition of operator()().
2232 * - @e T_arg5 Argument type used in the definition of operator()().
2233 * - @e T_arg6 Argument type used in the definition of operator()().
2234 * - @e T_arg7 Argument type used in the definition of operator()().
2235 * - @e T_return The return type of operator()().
2236 * - @e T_obj The object type.
2240 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>
2241 class bound_mem_functor7
2242 : public mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
2244 typedef mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> base_type_;
2246 typedef typename base_type_::function_type function_type;
2248 /** Constructs a bound_mem_functor7 object that wraps the passed method.
2249 * @param _A_obj Pointer to instance the method will operate on.
2250 * @param _A_func Pointer to method will be invoked from operator()().
2252 bound_mem_functor7( T_obj* _A_obj, function_type _A_func)
2253 : base_type_(_A_func),
2257 /** Constructs a bound_mem_functor7 object that wraps the passed method.
2258 * @param _A_obj Reference to instance the method will operate on.
2259 * @param _A_func Pointer to method will be invoked from operator()().
2261 bound_mem_functor7( T_obj& _A_obj, function_type _A_func)
2262 : base_type_(_A_func),
2266 /** Execute the wrapped method operating on the stored instance.
2267 * @param _A_a1 Argument to be passed on to the method.
2268 * @param _A_a2 Argument to be passed on to the method.
2269 * @param _A_a3 Argument to be passed on to the method.
2270 * @param _A_a4 Argument to be passed on to the method.
2271 * @param _A_a5 Argument to be passed on to the method.
2272 * @param _A_a6 Argument to be passed on to the method.
2273 * @param _A_a7 Argument to be passed on to the method.
2274 * @return The return value of the method invocation.
2276 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
2277 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
2280 // Reference to stored object instance.
2281 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2282 limit_reference<T_obj> obj_;
2285 //template specialization of visit_each<>(action, functor):
2286 /** Performs a functor on each of the targets of a functor.
2287 * The function overload for sigc::bound_mem_functor performs a functor
2288 * on the object instance stored in the sigc::bound_mem_functor object.
2292 template <class T_action, 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>
2293 void visit_each(const T_action& _A_action,
2294 const bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_target)
2296 sigc::visit_each(_A_action, _A_target.obj_);
2300 /** bound_const_mem_functor0 encapsulates a const method with 0 arguments and an object instance.
2301 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor0.
2303 * The following template arguments are used:
2304 * - @e T_return The return type of operator()().
2305 * - @e T_obj The object type.
2309 template <class T_return, class T_obj>
2310 class bound_const_mem_functor0
2311 : public const_mem_functor0<T_return, T_obj>
2313 typedef const_mem_functor0<T_return, T_obj> base_type_;
2315 typedef typename base_type_::function_type function_type;
2317 /** Constructs a bound_const_mem_functor0 object that wraps the passed method.
2318 * @param _A_obj Pointer to instance the method will operate on.
2319 * @param _A_func Pointer to method will be invoked from operator()().
2321 bound_const_mem_functor0(const T_obj* _A_obj, function_type _A_func)
2322 : base_type_(_A_func),
2326 /** Constructs a bound_const_mem_functor0 object that wraps the passed method.
2327 * @param _A_obj Reference to instance the method will operate on.
2328 * @param _A_func Pointer to method will be invoked from operator()().
2330 bound_const_mem_functor0(const T_obj& _A_obj, function_type _A_func)
2331 : base_type_(_A_func),
2335 /** Execute the wrapped method operating on the stored instance.
2336 * @return The return value of the method invocation.
2338 T_return operator()() const
2339 { return (obj_.invoke().*(this->func_ptr_))(); }
2342 // Reference to stored object instance.
2343 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2344 const_limit_reference<T_obj> obj_;
2347 //template specialization of visit_each<>(action, functor):
2348 /** Performs a functor on each of the targets of a functor.
2349 * The function overload for sigc::bound_const_mem_functor performs a functor
2350 * on the object instance stored in the sigc::bound_const_mem_functor object.
2354 template <class T_action, class T_return, class T_obj>
2355 void visit_each(const T_action& _A_action,
2356 const bound_const_mem_functor0<T_return, T_obj>& _A_target)
2358 sigc::visit_each(_A_action, _A_target.obj_);
2362 /** bound_const_mem_functor1 encapsulates a const method with 1 arguments and an object instance.
2363 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor1.
2365 * The following template arguments are used:
2366 * - @e T_arg1 Argument type used in the definition of operator()().
2367 * - @e T_return The return type of operator()().
2368 * - @e T_obj The object type.
2372 template <class T_return, class T_obj, class T_arg1>
2373 class bound_const_mem_functor1
2374 : public const_mem_functor1<T_return, T_obj, T_arg1>
2376 typedef const_mem_functor1<T_return, T_obj, T_arg1> base_type_;
2378 typedef typename base_type_::function_type function_type;
2380 /** Constructs a bound_const_mem_functor1 object that wraps the passed method.
2381 * @param _A_obj Pointer to instance the method will operate on.
2382 * @param _A_func Pointer to method will be invoked from operator()().
2384 bound_const_mem_functor1(const T_obj* _A_obj, function_type _A_func)
2385 : base_type_(_A_func),
2389 /** Constructs a bound_const_mem_functor1 object that wraps the passed method.
2390 * @param _A_obj Reference to instance the method will operate on.
2391 * @param _A_func Pointer to method will be invoked from operator()().
2393 bound_const_mem_functor1(const T_obj& _A_obj, function_type _A_func)
2394 : base_type_(_A_func),
2398 /** Execute the wrapped method operating on the stored instance.
2399 * @param _A_a1 Argument to be passed on to the method.
2400 * @return The return value of the method invocation.
2402 T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
2403 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); }
2406 // Reference to stored object instance.
2407 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2408 const_limit_reference<T_obj> obj_;
2411 //template specialization of visit_each<>(action, functor):
2412 /** Performs a functor on each of the targets of a functor.
2413 * The function overload for sigc::bound_const_mem_functor performs a functor
2414 * on the object instance stored in the sigc::bound_const_mem_functor object.
2418 template <class T_action, class T_return, class T_obj, class T_arg1>
2419 void visit_each(const T_action& _A_action,
2420 const bound_const_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
2422 sigc::visit_each(_A_action, _A_target.obj_);
2426 /** bound_const_mem_functor2 encapsulates a const method with 2 arguments and an object instance.
2427 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor2.
2429 * The following template arguments are used:
2430 * - @e T_arg1 Argument type used in the definition of operator()().
2431 * - @e T_arg2 Argument type used in the definition of operator()().
2432 * - @e T_return The return type of operator()().
2433 * - @e T_obj The object type.
2437 template <class T_return, class T_obj, class T_arg1,class T_arg2>
2438 class bound_const_mem_functor2
2439 : public const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
2441 typedef const_mem_functor2<T_return, T_obj, T_arg1,T_arg2> base_type_;
2443 typedef typename base_type_::function_type function_type;
2445 /** Constructs a bound_const_mem_functor2 object that wraps the passed method.
2446 * @param _A_obj Pointer to instance the method will operate on.
2447 * @param _A_func Pointer to method will be invoked from operator()().
2449 bound_const_mem_functor2(const T_obj* _A_obj, function_type _A_func)
2450 : base_type_(_A_func),
2454 /** Constructs a bound_const_mem_functor2 object that wraps the passed method.
2455 * @param _A_obj Reference to instance the method will operate on.
2456 * @param _A_func Pointer to method will be invoked from operator()().
2458 bound_const_mem_functor2(const T_obj& _A_obj, function_type _A_func)
2459 : base_type_(_A_func),
2463 /** Execute the wrapped method operating on the stored instance.
2464 * @param _A_a1 Argument to be passed on to the method.
2465 * @param _A_a2 Argument to be passed on to the method.
2466 * @return The return value of the method invocation.
2468 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
2469 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2); }
2472 // Reference to stored object instance.
2473 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2474 const_limit_reference<T_obj> obj_;
2477 //template specialization of visit_each<>(action, functor):
2478 /** Performs a functor on each of the targets of a functor.
2479 * The function overload for sigc::bound_const_mem_functor performs a functor
2480 * on the object instance stored in the sigc::bound_const_mem_functor object.
2484 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2>
2485 void visit_each(const T_action& _A_action,
2486 const bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_target)
2488 sigc::visit_each(_A_action, _A_target.obj_);
2492 /** bound_const_mem_functor3 encapsulates a const method with 3 arguments and an object instance.
2493 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor3.
2495 * The following template arguments are used:
2496 * - @e T_arg1 Argument type used in the definition of operator()().
2497 * - @e T_arg2 Argument type used in the definition of operator()().
2498 * - @e T_arg3 Argument type used in the definition of operator()().
2499 * - @e T_return The return type of operator()().
2500 * - @e T_obj The object type.
2504 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
2505 class bound_const_mem_functor3
2506 : public const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
2508 typedef const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3> base_type_;
2510 typedef typename base_type_::function_type function_type;
2512 /** Constructs a bound_const_mem_functor3 object that wraps the passed method.
2513 * @param _A_obj Pointer to instance the method will operate on.
2514 * @param _A_func Pointer to method will be invoked from operator()().
2516 bound_const_mem_functor3(const T_obj* _A_obj, function_type _A_func)
2517 : base_type_(_A_func),
2521 /** Constructs a bound_const_mem_functor3 object that wraps the passed method.
2522 * @param _A_obj Reference to instance the method will operate on.
2523 * @param _A_func Pointer to method will be invoked from operator()().
2525 bound_const_mem_functor3(const T_obj& _A_obj, function_type _A_func)
2526 : base_type_(_A_func),
2530 /** Execute the wrapped method operating on the stored instance.
2531 * @param _A_a1 Argument to be passed on to the method.
2532 * @param _A_a2 Argument to be passed on to the method.
2533 * @param _A_a3 Argument to be passed on to the method.
2534 * @return The return value of the method invocation.
2536 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
2537 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
2540 // Reference to stored object instance.
2541 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2542 const_limit_reference<T_obj> obj_;
2545 //template specialization of visit_each<>(action, functor):
2546 /** Performs a functor on each of the targets of a functor.
2547 * The function overload for sigc::bound_const_mem_functor performs a functor
2548 * on the object instance stored in the sigc::bound_const_mem_functor object.
2552 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
2553 void visit_each(const T_action& _A_action,
2554 const bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_target)
2556 sigc::visit_each(_A_action, _A_target.obj_);
2560 /** bound_const_mem_functor4 encapsulates a const method with 4 arguments and an object instance.
2561 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor4.
2563 * The following template arguments are used:
2564 * - @e T_arg1 Argument type used in the definition of operator()().
2565 * - @e T_arg2 Argument type used in the definition of operator()().
2566 * - @e T_arg3 Argument type used in the definition of operator()().
2567 * - @e T_arg4 Argument type used in the definition of operator()().
2568 * - @e T_return The return type of operator()().
2569 * - @e T_obj The object type.
2573 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
2574 class bound_const_mem_functor4
2575 : public const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
2577 typedef const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4> base_type_;
2579 typedef typename base_type_::function_type function_type;
2581 /** Constructs a bound_const_mem_functor4 object that wraps the passed method.
2582 * @param _A_obj Pointer to instance the method will operate on.
2583 * @param _A_func Pointer to method will be invoked from operator()().
2585 bound_const_mem_functor4(const T_obj* _A_obj, function_type _A_func)
2586 : base_type_(_A_func),
2590 /** Constructs a bound_const_mem_functor4 object that wraps the passed method.
2591 * @param _A_obj Reference to instance the method will operate on.
2592 * @param _A_func Pointer to method will be invoked from operator()().
2594 bound_const_mem_functor4(const T_obj& _A_obj, function_type _A_func)
2595 : base_type_(_A_func),
2599 /** Execute the wrapped method operating on the stored instance.
2600 * @param _A_a1 Argument to be passed on to the method.
2601 * @param _A_a2 Argument to be passed on to the method.
2602 * @param _A_a3 Argument to be passed on to the method.
2603 * @param _A_a4 Argument to be passed on to the method.
2604 * @return The return value of the method invocation.
2606 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
2607 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
2610 // Reference to stored object instance.
2611 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2612 const_limit_reference<T_obj> obj_;
2615 //template specialization of visit_each<>(action, functor):
2616 /** Performs a functor on each of the targets of a functor.
2617 * The function overload for sigc::bound_const_mem_functor performs a functor
2618 * on the object instance stored in the sigc::bound_const_mem_functor object.
2622 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
2623 void visit_each(const T_action& _A_action,
2624 const bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_target)
2626 sigc::visit_each(_A_action, _A_target.obj_);
2630 /** bound_const_mem_functor5 encapsulates a const method with 5 arguments and an object instance.
2631 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor5.
2633 * The following template arguments are used:
2634 * - @e T_arg1 Argument type used in the definition of operator()().
2635 * - @e T_arg2 Argument type used in the definition of operator()().
2636 * - @e T_arg3 Argument type used in the definition of operator()().
2637 * - @e T_arg4 Argument type used in the definition of operator()().
2638 * - @e T_arg5 Argument type used in the definition of operator()().
2639 * - @e T_return The return type of operator()().
2640 * - @e T_obj The object type.
2644 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
2645 class bound_const_mem_functor5
2646 : public const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
2648 typedef const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> base_type_;
2650 typedef typename base_type_::function_type function_type;
2652 /** Constructs a bound_const_mem_functor5 object that wraps the passed method.
2653 * @param _A_obj Pointer to instance the method will operate on.
2654 * @param _A_func Pointer to method will be invoked from operator()().
2656 bound_const_mem_functor5(const T_obj* _A_obj, function_type _A_func)
2657 : base_type_(_A_func),
2661 /** Constructs a bound_const_mem_functor5 object that wraps the passed method.
2662 * @param _A_obj Reference to instance the method will operate on.
2663 * @param _A_func Pointer to method will be invoked from operator()().
2665 bound_const_mem_functor5(const T_obj& _A_obj, function_type _A_func)
2666 : base_type_(_A_func),
2670 /** Execute the wrapped method operating on the stored instance.
2671 * @param _A_a1 Argument to be passed on to the method.
2672 * @param _A_a2 Argument to be passed on to the method.
2673 * @param _A_a3 Argument to be passed on to the method.
2674 * @param _A_a4 Argument to be passed on to the method.
2675 * @param _A_a5 Argument to be passed on to the method.
2676 * @return The return value of the method invocation.
2678 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
2679 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
2682 // Reference to stored object instance.
2683 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2684 const_limit_reference<T_obj> obj_;
2687 //template specialization of visit_each<>(action, functor):
2688 /** Performs a functor on each of the targets of a functor.
2689 * The function overload for sigc::bound_const_mem_functor performs a functor
2690 * on the object instance stored in the sigc::bound_const_mem_functor object.
2694 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
2695 void visit_each(const T_action& _A_action,
2696 const bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_target)
2698 sigc::visit_each(_A_action, _A_target.obj_);
2702 /** bound_const_mem_functor6 encapsulates a const method with 6 arguments and an object instance.
2703 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor6.
2705 * The following template arguments are used:
2706 * - @e T_arg1 Argument type used in the definition of operator()().
2707 * - @e T_arg2 Argument type used in the definition of operator()().
2708 * - @e T_arg3 Argument type used in the definition of operator()().
2709 * - @e T_arg4 Argument type used in the definition of operator()().
2710 * - @e T_arg5 Argument type used in the definition of operator()().
2711 * - @e T_arg6 Argument type used in the definition of operator()().
2712 * - @e T_return The return type of operator()().
2713 * - @e T_obj The object type.
2717 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>
2718 class bound_const_mem_functor6
2719 : public const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
2721 typedef const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> base_type_;
2723 typedef typename base_type_::function_type function_type;
2725 /** Constructs a bound_const_mem_functor6 object that wraps the passed method.
2726 * @param _A_obj Pointer to instance the method will operate on.
2727 * @param _A_func Pointer to method will be invoked from operator()().
2729 bound_const_mem_functor6(const T_obj* _A_obj, function_type _A_func)
2730 : base_type_(_A_func),
2734 /** Constructs a bound_const_mem_functor6 object that wraps the passed method.
2735 * @param _A_obj Reference to instance the method will operate on.
2736 * @param _A_func Pointer to method will be invoked from operator()().
2738 bound_const_mem_functor6(const T_obj& _A_obj, function_type _A_func)
2739 : base_type_(_A_func),
2743 /** Execute the wrapped method operating on the stored instance.
2744 * @param _A_a1 Argument to be passed on to the method.
2745 * @param _A_a2 Argument to be passed on to the method.
2746 * @param _A_a3 Argument to be passed on to the method.
2747 * @param _A_a4 Argument to be passed on to the method.
2748 * @param _A_a5 Argument to be passed on to the method.
2749 * @param _A_a6 Argument to be passed on to the method.
2750 * @return The return value of the method invocation.
2752 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
2753 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
2756 // Reference to stored object instance.
2757 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2758 const_limit_reference<T_obj> obj_;
2761 //template specialization of visit_each<>(action, functor):
2762 /** Performs a functor on each of the targets of a functor.
2763 * The function overload for sigc::bound_const_mem_functor performs a functor
2764 * on the object instance stored in the sigc::bound_const_mem_functor object.
2768 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
2769 void visit_each(const T_action& _A_action,
2770 const bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_target)
2772 sigc::visit_each(_A_action, _A_target.obj_);
2776 /** bound_const_mem_functor7 encapsulates a const method with 7 arguments and an object instance.
2777 * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor7.
2779 * The following template arguments are used:
2780 * - @e T_arg1 Argument type used in the definition of operator()().
2781 * - @e T_arg2 Argument type used in the definition of operator()().
2782 * - @e T_arg3 Argument type used in the definition of operator()().
2783 * - @e T_arg4 Argument type used in the definition of operator()().
2784 * - @e T_arg5 Argument type used in the definition of operator()().
2785 * - @e T_arg6 Argument type used in the definition of operator()().
2786 * - @e T_arg7 Argument type used in the definition of operator()().
2787 * - @e T_return The return type of operator()().
2788 * - @e T_obj The object type.
2792 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>
2793 class bound_const_mem_functor7
2794 : public const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
2796 typedef const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> base_type_;
2798 typedef typename base_type_::function_type function_type;
2800 /** Constructs a bound_const_mem_functor7 object that wraps the passed method.
2801 * @param _A_obj Pointer to instance the method will operate on.
2802 * @param _A_func Pointer to method will be invoked from operator()().
2804 bound_const_mem_functor7(const T_obj* _A_obj, function_type _A_func)
2805 : base_type_(_A_func),
2809 /** Constructs a bound_const_mem_functor7 object that wraps the passed method.
2810 * @param _A_obj Reference to instance the method will operate on.
2811 * @param _A_func Pointer to method will be invoked from operator()().
2813 bound_const_mem_functor7(const T_obj& _A_obj, function_type _A_func)
2814 : base_type_(_A_func),
2818 /** Execute the wrapped method operating on the stored instance.
2819 * @param _A_a1 Argument to be passed on to the method.
2820 * @param _A_a2 Argument to be passed on to the method.
2821 * @param _A_a3 Argument to be passed on to the method.
2822 * @param _A_a4 Argument to be passed on to the method.
2823 * @param _A_a5 Argument to be passed on to the method.
2824 * @param _A_a6 Argument to be passed on to the method.
2825 * @param _A_a7 Argument to be passed on to the method.
2826 * @return The return value of the method invocation.
2828 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
2829 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
2832 // Reference to stored object instance.
2833 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2834 const_limit_reference<T_obj> obj_;
2837 //template specialization of visit_each<>(action, functor):
2838 /** Performs a functor on each of the targets of a functor.
2839 * The function overload for sigc::bound_const_mem_functor performs a functor
2840 * on the object instance stored in the sigc::bound_const_mem_functor object.
2844 template <class T_action, 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>
2845 void visit_each(const T_action& _A_action,
2846 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)
2848 sigc::visit_each(_A_action, _A_target.obj_);
2852 /** bound_volatile_mem_functor0 encapsulates a volatile method with 0 arguments and an object instance.
2853 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor0.
2855 * The following template arguments are used:
2856 * - @e T_return The return type of operator()().
2857 * - @e T_obj The object type.
2861 template <class T_return, class T_obj>
2862 class bound_volatile_mem_functor0
2863 : public volatile_mem_functor0<T_return, T_obj>
2865 typedef volatile_mem_functor0<T_return, T_obj> base_type_;
2867 typedef typename base_type_::function_type function_type;
2869 /** Constructs a bound_volatile_mem_functor0 object that wraps the passed method.
2870 * @param _A_obj Pointer to instance the method will operate on.
2871 * @param _A_func Pointer to method will be invoked from operator()().
2873 bound_volatile_mem_functor0( T_obj* _A_obj, function_type _A_func)
2874 : base_type_(_A_func),
2878 /** Constructs a bound_volatile_mem_functor0 object that wraps the passed method.
2879 * @param _A_obj Reference to instance the method will operate on.
2880 * @param _A_func Pointer to method will be invoked from operator()().
2882 bound_volatile_mem_functor0( T_obj& _A_obj, function_type _A_func)
2883 : base_type_(_A_func),
2887 /** Execute the wrapped method operating on the stored instance.
2888 * @return The return value of the method invocation.
2890 T_return operator()() const
2891 { return (obj_.invoke().*(this->func_ptr_))(); }
2894 // Reference to stored object instance.
2895 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2896 volatile_limit_reference<T_obj> obj_;
2899 //template specialization of visit_each<>(action, functor):
2900 /** Performs a functor on each of the targets of a functor.
2901 * The function overload for sigc::bound_volatile_mem_functor performs a functor
2902 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
2906 template <class T_action, class T_return, class T_obj>
2907 void visit_each(const T_action& _A_action,
2908 const bound_volatile_mem_functor0<T_return, T_obj>& _A_target)
2910 sigc::visit_each(_A_action, _A_target.obj_);
2914 /** bound_volatile_mem_functor1 encapsulates a volatile method with 1 arguments and an object instance.
2915 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor1.
2917 * The following template arguments are used:
2918 * - @e T_arg1 Argument type used in the definition of operator()().
2919 * - @e T_return The return type of operator()().
2920 * - @e T_obj The object type.
2924 template <class T_return, class T_obj, class T_arg1>
2925 class bound_volatile_mem_functor1
2926 : public volatile_mem_functor1<T_return, T_obj, T_arg1>
2928 typedef volatile_mem_functor1<T_return, T_obj, T_arg1> base_type_;
2930 typedef typename base_type_::function_type function_type;
2932 /** Constructs a bound_volatile_mem_functor1 object that wraps the passed method.
2933 * @param _A_obj Pointer to instance the method will operate on.
2934 * @param _A_func Pointer to method will be invoked from operator()().
2936 bound_volatile_mem_functor1( T_obj* _A_obj, function_type _A_func)
2937 : base_type_(_A_func),
2941 /** Constructs a bound_volatile_mem_functor1 object that wraps the passed method.
2942 * @param _A_obj Reference to instance the method will operate on.
2943 * @param _A_func Pointer to method will be invoked from operator()().
2945 bound_volatile_mem_functor1( T_obj& _A_obj, function_type _A_func)
2946 : base_type_(_A_func),
2950 /** Execute the wrapped method operating on the stored instance.
2951 * @param _A_a1 Argument to be passed on to the method.
2952 * @return The return value of the method invocation.
2954 T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
2955 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); }
2958 // Reference to stored object instance.
2959 // This is the handler object, such as TheObject in void TheObject::signal_handler().
2960 volatile_limit_reference<T_obj> obj_;
2963 //template specialization of visit_each<>(action, functor):
2964 /** Performs a functor on each of the targets of a functor.
2965 * The function overload for sigc::bound_volatile_mem_functor performs a functor
2966 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
2970 template <class T_action, class T_return, class T_obj, class T_arg1>
2971 void visit_each(const T_action& _A_action,
2972 const bound_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
2974 sigc::visit_each(_A_action, _A_target.obj_);
2978 /** bound_volatile_mem_functor2 encapsulates a volatile method with 2 arguments and an object instance.
2979 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor2.
2981 * The following template arguments are used:
2982 * - @e T_arg1 Argument type used in the definition of operator()().
2983 * - @e T_arg2 Argument type used in the definition of operator()().
2984 * - @e T_return The return type of operator()().
2985 * - @e T_obj The object type.
2989 template <class T_return, class T_obj, class T_arg1,class T_arg2>
2990 class bound_volatile_mem_functor2
2991 : public volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
2993 typedef volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2> base_type_;
2995 typedef typename base_type_::function_type function_type;
2997 /** Constructs a bound_volatile_mem_functor2 object that wraps the passed method.
2998 * @param _A_obj Pointer to instance the method will operate on.
2999 * @param _A_func Pointer to method will be invoked from operator()().
3001 bound_volatile_mem_functor2( T_obj* _A_obj, function_type _A_func)
3002 : base_type_(_A_func),
3006 /** Constructs a bound_volatile_mem_functor2 object that wraps the passed method.
3007 * @param _A_obj Reference to instance the method will operate on.
3008 * @param _A_func Pointer to method will be invoked from operator()().
3010 bound_volatile_mem_functor2( T_obj& _A_obj, function_type _A_func)
3011 : base_type_(_A_func),
3015 /** Execute the wrapped method operating on the stored instance.
3016 * @param _A_a1 Argument to be passed on to the method.
3017 * @param _A_a2 Argument to be passed on to the method.
3018 * @return The return value of the method invocation.
3020 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
3021 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2); }
3024 // Reference to stored object instance.
3025 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3026 volatile_limit_reference<T_obj> obj_;
3029 //template specialization of visit_each<>(action, functor):
3030 /** Performs a functor on each of the targets of a functor.
3031 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3032 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3036 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2>
3037 void visit_each(const T_action& _A_action,
3038 const bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_target)
3040 sigc::visit_each(_A_action, _A_target.obj_);
3044 /** bound_volatile_mem_functor3 encapsulates a volatile method with 3 arguments and an object instance.
3045 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor3.
3047 * The following template arguments are used:
3048 * - @e T_arg1 Argument type used in the definition of operator()().
3049 * - @e T_arg2 Argument type used in the definition of operator()().
3050 * - @e T_arg3 Argument type used in the definition of operator()().
3051 * - @e T_return The return type of operator()().
3052 * - @e T_obj The object type.
3056 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
3057 class bound_volatile_mem_functor3
3058 : public volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
3060 typedef volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3> base_type_;
3062 typedef typename base_type_::function_type function_type;
3064 /** Constructs a bound_volatile_mem_functor3 object that wraps the passed method.
3065 * @param _A_obj Pointer to instance the method will operate on.
3066 * @param _A_func Pointer to method will be invoked from operator()().
3068 bound_volatile_mem_functor3( T_obj* _A_obj, function_type _A_func)
3069 : base_type_(_A_func),
3073 /** Constructs a bound_volatile_mem_functor3 object that wraps the passed method.
3074 * @param _A_obj Reference to instance the method will operate on.
3075 * @param _A_func Pointer to method will be invoked from operator()().
3077 bound_volatile_mem_functor3( T_obj& _A_obj, function_type _A_func)
3078 : base_type_(_A_func),
3082 /** Execute the wrapped method operating on the stored instance.
3083 * @param _A_a1 Argument to be passed on to the method.
3084 * @param _A_a2 Argument to be passed on to the method.
3085 * @param _A_a3 Argument to be passed on to the method.
3086 * @return The return value of the method invocation.
3088 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
3089 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
3092 // Reference to stored object instance.
3093 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3094 volatile_limit_reference<T_obj> obj_;
3097 //template specialization of visit_each<>(action, functor):
3098 /** Performs a functor on each of the targets of a functor.
3099 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3100 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3104 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
3105 void visit_each(const T_action& _A_action,
3106 const bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_target)
3108 sigc::visit_each(_A_action, _A_target.obj_);
3112 /** bound_volatile_mem_functor4 encapsulates a volatile method with 4 arguments and an object instance.
3113 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor4.
3115 * The following template arguments are used:
3116 * - @e T_arg1 Argument type used in the definition of operator()().
3117 * - @e T_arg2 Argument type used in the definition of operator()().
3118 * - @e T_arg3 Argument type used in the definition of operator()().
3119 * - @e T_arg4 Argument type used in the definition of operator()().
3120 * - @e T_return The return type of operator()().
3121 * - @e T_obj The object type.
3125 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
3126 class bound_volatile_mem_functor4
3127 : public volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
3129 typedef volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4> base_type_;
3131 typedef typename base_type_::function_type function_type;
3133 /** Constructs a bound_volatile_mem_functor4 object that wraps the passed method.
3134 * @param _A_obj Pointer to instance the method will operate on.
3135 * @param _A_func Pointer to method will be invoked from operator()().
3137 bound_volatile_mem_functor4( T_obj* _A_obj, function_type _A_func)
3138 : base_type_(_A_func),
3142 /** Constructs a bound_volatile_mem_functor4 object that wraps the passed method.
3143 * @param _A_obj Reference to instance the method will operate on.
3144 * @param _A_func Pointer to method will be invoked from operator()().
3146 bound_volatile_mem_functor4( T_obj& _A_obj, function_type _A_func)
3147 : base_type_(_A_func),
3151 /** Execute the wrapped method operating on the stored instance.
3152 * @param _A_a1 Argument to be passed on to the method.
3153 * @param _A_a2 Argument to be passed on to the method.
3154 * @param _A_a3 Argument to be passed on to the method.
3155 * @param _A_a4 Argument to be passed on to the method.
3156 * @return The return value of the method invocation.
3158 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
3159 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
3162 // Reference to stored object instance.
3163 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3164 volatile_limit_reference<T_obj> obj_;
3167 //template specialization of visit_each<>(action, functor):
3168 /** Performs a functor on each of the targets of a functor.
3169 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3170 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3174 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
3175 void visit_each(const T_action& _A_action,
3176 const bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_target)
3178 sigc::visit_each(_A_action, _A_target.obj_);
3182 /** bound_volatile_mem_functor5 encapsulates a volatile method with 5 arguments and an object instance.
3183 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor5.
3185 * The following template arguments are used:
3186 * - @e T_arg1 Argument type used in the definition of operator()().
3187 * - @e T_arg2 Argument type used in the definition of operator()().
3188 * - @e T_arg3 Argument type used in the definition of operator()().
3189 * - @e T_arg4 Argument type used in the definition of operator()().
3190 * - @e T_arg5 Argument type used in the definition of operator()().
3191 * - @e T_return The return type of operator()().
3192 * - @e T_obj The object type.
3196 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
3197 class bound_volatile_mem_functor5
3198 : public volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
3200 typedef volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> base_type_;
3202 typedef typename base_type_::function_type function_type;
3204 /** Constructs a bound_volatile_mem_functor5 object that wraps the passed method.
3205 * @param _A_obj Pointer to instance the method will operate on.
3206 * @param _A_func Pointer to method will be invoked from operator()().
3208 bound_volatile_mem_functor5( T_obj* _A_obj, function_type _A_func)
3209 : base_type_(_A_func),
3213 /** Constructs a bound_volatile_mem_functor5 object that wraps the passed method.
3214 * @param _A_obj Reference to instance the method will operate on.
3215 * @param _A_func Pointer to method will be invoked from operator()().
3217 bound_volatile_mem_functor5( T_obj& _A_obj, function_type _A_func)
3218 : base_type_(_A_func),
3222 /** Execute the wrapped method operating on the stored instance.
3223 * @param _A_a1 Argument to be passed on to the method.
3224 * @param _A_a2 Argument to be passed on to the method.
3225 * @param _A_a3 Argument to be passed on to the method.
3226 * @param _A_a4 Argument to be passed on to the method.
3227 * @param _A_a5 Argument to be passed on to the method.
3228 * @return The return value of the method invocation.
3230 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
3231 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
3234 // Reference to stored object instance.
3235 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3236 volatile_limit_reference<T_obj> obj_;
3239 //template specialization of visit_each<>(action, functor):
3240 /** Performs a functor on each of the targets of a functor.
3241 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3242 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3246 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
3247 void visit_each(const T_action& _A_action,
3248 const bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_target)
3250 sigc::visit_each(_A_action, _A_target.obj_);
3254 /** bound_volatile_mem_functor6 encapsulates a volatile method with 6 arguments and an object instance.
3255 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor6.
3257 * The following template arguments are used:
3258 * - @e T_arg1 Argument type used in the definition of operator()().
3259 * - @e T_arg2 Argument type used in the definition of operator()().
3260 * - @e T_arg3 Argument type used in the definition of operator()().
3261 * - @e T_arg4 Argument type used in the definition of operator()().
3262 * - @e T_arg5 Argument type used in the definition of operator()().
3263 * - @e T_arg6 Argument type used in the definition of operator()().
3264 * - @e T_return The return type of operator()().
3265 * - @e T_obj The object type.
3269 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>
3270 class bound_volatile_mem_functor6
3271 : public volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
3273 typedef volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> base_type_;
3275 typedef typename base_type_::function_type function_type;
3277 /** Constructs a bound_volatile_mem_functor6 object that wraps the passed method.
3278 * @param _A_obj Pointer to instance the method will operate on.
3279 * @param _A_func Pointer to method will be invoked from operator()().
3281 bound_volatile_mem_functor6( T_obj* _A_obj, function_type _A_func)
3282 : base_type_(_A_func),
3286 /** Constructs a bound_volatile_mem_functor6 object that wraps the passed method.
3287 * @param _A_obj Reference to instance the method will operate on.
3288 * @param _A_func Pointer to method will be invoked from operator()().
3290 bound_volatile_mem_functor6( T_obj& _A_obj, function_type _A_func)
3291 : base_type_(_A_func),
3295 /** Execute the wrapped method operating on the stored instance.
3296 * @param _A_a1 Argument to be passed on to the method.
3297 * @param _A_a2 Argument to be passed on to the method.
3298 * @param _A_a3 Argument to be passed on to the method.
3299 * @param _A_a4 Argument to be passed on to the method.
3300 * @param _A_a5 Argument to be passed on to the method.
3301 * @param _A_a6 Argument to be passed on to the method.
3302 * @return The return value of the method invocation.
3304 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
3305 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
3308 // Reference to stored object instance.
3309 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3310 volatile_limit_reference<T_obj> obj_;
3313 //template specialization of visit_each<>(action, functor):
3314 /** Performs a functor on each of the targets of a functor.
3315 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3316 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3320 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
3321 void visit_each(const T_action& _A_action,
3322 const bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_target)
3324 sigc::visit_each(_A_action, _A_target.obj_);
3328 /** bound_volatile_mem_functor7 encapsulates a volatile method with 7 arguments and an object instance.
3329 * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor7.
3331 * The following template arguments are used:
3332 * - @e T_arg1 Argument type used in the definition of operator()().
3333 * - @e T_arg2 Argument type used in the definition of operator()().
3334 * - @e T_arg3 Argument type used in the definition of operator()().
3335 * - @e T_arg4 Argument type used in the definition of operator()().
3336 * - @e T_arg5 Argument type used in the definition of operator()().
3337 * - @e T_arg6 Argument type used in the definition of operator()().
3338 * - @e T_arg7 Argument type used in the definition of operator()().
3339 * - @e T_return The return type of operator()().
3340 * - @e T_obj The object type.
3344 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>
3345 class bound_volatile_mem_functor7
3346 : public volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
3348 typedef volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> base_type_;
3350 typedef typename base_type_::function_type function_type;
3352 /** Constructs a bound_volatile_mem_functor7 object that wraps the passed method.
3353 * @param _A_obj Pointer to instance the method will operate on.
3354 * @param _A_func Pointer to method will be invoked from operator()().
3356 bound_volatile_mem_functor7( T_obj* _A_obj, function_type _A_func)
3357 : base_type_(_A_func),
3361 /** Constructs a bound_volatile_mem_functor7 object that wraps the passed method.
3362 * @param _A_obj Reference to instance the method will operate on.
3363 * @param _A_func Pointer to method will be invoked from operator()().
3365 bound_volatile_mem_functor7( T_obj& _A_obj, function_type _A_func)
3366 : base_type_(_A_func),
3370 /** Execute the wrapped method operating on the stored instance.
3371 * @param _A_a1 Argument to be passed on to the method.
3372 * @param _A_a2 Argument to be passed on to the method.
3373 * @param _A_a3 Argument to be passed on to the method.
3374 * @param _A_a4 Argument to be passed on to the method.
3375 * @param _A_a5 Argument to be passed on to the method.
3376 * @param _A_a6 Argument to be passed on to the method.
3377 * @param _A_a7 Argument to be passed on to the method.
3378 * @return The return value of the method invocation.
3380 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
3381 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
3384 // Reference to stored object instance.
3385 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3386 volatile_limit_reference<T_obj> obj_;
3389 //template specialization of visit_each<>(action, functor):
3390 /** Performs a functor on each of the targets of a functor.
3391 * The function overload for sigc::bound_volatile_mem_functor performs a functor
3392 * on the object instance stored in the sigc::bound_volatile_mem_functor object.
3396 template <class T_action, 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>
3397 void visit_each(const T_action& _A_action,
3398 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)
3400 sigc::visit_each(_A_action, _A_target.obj_);
3404 /** bound_const_volatile_mem_functor0 encapsulates a const volatile method with 0 arguments and an object instance.
3405 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor0.
3407 * The following template arguments are used:
3408 * - @e T_return The return type of operator()().
3409 * - @e T_obj The object type.
3413 template <class T_return, class T_obj>
3414 class bound_const_volatile_mem_functor0
3415 : public const_volatile_mem_functor0<T_return, T_obj>
3417 typedef const_volatile_mem_functor0<T_return, T_obj> base_type_;
3419 typedef typename base_type_::function_type function_type;
3421 /** Constructs a bound_const_volatile_mem_functor0 object that wraps the passed method.
3422 * @param _A_obj Pointer to instance the method will operate on.
3423 * @param _A_func Pointer to method will be invoked from operator()().
3425 bound_const_volatile_mem_functor0(const T_obj* _A_obj, function_type _A_func)
3426 : base_type_(_A_func),
3430 /** Constructs a bound_const_volatile_mem_functor0 object that wraps the passed method.
3431 * @param _A_obj Reference to instance the method will operate on.
3432 * @param _A_func Pointer to method will be invoked from operator()().
3434 bound_const_volatile_mem_functor0(const T_obj& _A_obj, function_type _A_func)
3435 : base_type_(_A_func),
3439 /** Execute the wrapped method operating on the stored instance.
3440 * @return The return value of the method invocation.
3442 T_return operator()() const
3443 { return (obj_.invoke().*(this->func_ptr_))(); }
3446 // Reference to stored object instance.
3447 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3448 const_volatile_limit_reference<T_obj> obj_;
3451 //template specialization of visit_each<>(action, functor):
3452 /** Performs a functor on each of the targets of a functor.
3453 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3454 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3458 template <class T_action, class T_return, class T_obj>
3459 void visit_each(const T_action& _A_action,
3460 const bound_const_volatile_mem_functor0<T_return, T_obj>& _A_target)
3462 sigc::visit_each(_A_action, _A_target.obj_);
3466 /** bound_const_volatile_mem_functor1 encapsulates a const volatile method with 1 arguments and an object instance.
3467 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor1.
3469 * The following template arguments are used:
3470 * - @e T_arg1 Argument type used in the definition of operator()().
3471 * - @e T_return The return type of operator()().
3472 * - @e T_obj The object type.
3476 template <class T_return, class T_obj, class T_arg1>
3477 class bound_const_volatile_mem_functor1
3478 : public const_volatile_mem_functor1<T_return, T_obj, T_arg1>
3480 typedef const_volatile_mem_functor1<T_return, T_obj, T_arg1> base_type_;
3482 typedef typename base_type_::function_type function_type;
3484 /** Constructs a bound_const_volatile_mem_functor1 object that wraps the passed method.
3485 * @param _A_obj Pointer to instance the method will operate on.
3486 * @param _A_func Pointer to method will be invoked from operator()().
3488 bound_const_volatile_mem_functor1(const T_obj* _A_obj, function_type _A_func)
3489 : base_type_(_A_func),
3493 /** Constructs a bound_const_volatile_mem_functor1 object that wraps the passed method.
3494 * @param _A_obj Reference to instance the method will operate on.
3495 * @param _A_func Pointer to method will be invoked from operator()().
3497 bound_const_volatile_mem_functor1(const T_obj& _A_obj, function_type _A_func)
3498 : base_type_(_A_func),
3502 /** Execute the wrapped method operating on the stored instance.
3503 * @param _A_a1 Argument to be passed on to the method.
3504 * @return The return value of the method invocation.
3506 T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
3507 { return (obj_.invoke().*(this->func_ptr_))(_A_a1); }
3510 // Reference to stored object instance.
3511 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3512 const_volatile_limit_reference<T_obj> obj_;
3515 //template specialization of visit_each<>(action, functor):
3516 /** Performs a functor on each of the targets of a functor.
3517 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3518 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3522 template <class T_action, class T_return, class T_obj, class T_arg1>
3523 void visit_each(const T_action& _A_action,
3524 const bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
3526 sigc::visit_each(_A_action, _A_target.obj_);
3530 /** bound_const_volatile_mem_functor2 encapsulates a const volatile method with 2 arguments and an object instance.
3531 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor2.
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_return The return type of operator()().
3537 * - @e T_obj The object type.
3541 template <class T_return, class T_obj, class T_arg1,class T_arg2>
3542 class bound_const_volatile_mem_functor2
3543 : public const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
3545 typedef const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2> base_type_;
3547 typedef typename base_type_::function_type function_type;
3549 /** Constructs a bound_const_volatile_mem_functor2 object that wraps the passed method.
3550 * @param _A_obj Pointer to instance the method will operate on.
3551 * @param _A_func Pointer to method will be invoked from operator()().
3553 bound_const_volatile_mem_functor2(const T_obj* _A_obj, function_type _A_func)
3554 : base_type_(_A_func),
3558 /** Constructs a bound_const_volatile_mem_functor2 object that wraps the passed method.
3559 * @param _A_obj Reference to instance the method will operate on.
3560 * @param _A_func Pointer to method will be invoked from operator()().
3562 bound_const_volatile_mem_functor2(const T_obj& _A_obj, function_type _A_func)
3563 : base_type_(_A_func),
3567 /** Execute the wrapped method operating on the stored instance.
3568 * @param _A_a1 Argument to be passed on to the method.
3569 * @param _A_a2 Argument to be passed on to the method.
3570 * @return The return value of the method invocation.
3572 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
3573 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2); }
3576 // Reference to stored object instance.
3577 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3578 const_volatile_limit_reference<T_obj> obj_;
3581 //template specialization of visit_each<>(action, functor):
3582 /** Performs a functor on each of the targets of a functor.
3583 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3584 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3588 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2>
3589 void visit_each(const T_action& _A_action,
3590 const bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_target)
3592 sigc::visit_each(_A_action, _A_target.obj_);
3596 /** bound_const_volatile_mem_functor3 encapsulates a const volatile method with 3 arguments and an object instance.
3597 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor3.
3599 * The following template arguments are used:
3600 * - @e T_arg1 Argument type used in the definition of operator()().
3601 * - @e T_arg2 Argument type used in the definition of operator()().
3602 * - @e T_arg3 Argument type used in the definition of operator()().
3603 * - @e T_return The return type of operator()().
3604 * - @e T_obj The object type.
3608 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
3609 class bound_const_volatile_mem_functor3
3610 : public const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
3612 typedef const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3> base_type_;
3614 typedef typename base_type_::function_type function_type;
3616 /** Constructs a bound_const_volatile_mem_functor3 object that wraps the passed method.
3617 * @param _A_obj Pointer to instance the method will operate on.
3618 * @param _A_func Pointer to method will be invoked from operator()().
3620 bound_const_volatile_mem_functor3(const T_obj* _A_obj, function_type _A_func)
3621 : base_type_(_A_func),
3625 /** Constructs a bound_const_volatile_mem_functor3 object that wraps the passed method.
3626 * @param _A_obj Reference to instance the method will operate on.
3627 * @param _A_func Pointer to method will be invoked from operator()().
3629 bound_const_volatile_mem_functor3(const T_obj& _A_obj, function_type _A_func)
3630 : base_type_(_A_func),
3634 /** Execute the wrapped method operating on the stored instance.
3635 * @param _A_a1 Argument to be passed on to the method.
3636 * @param _A_a2 Argument to be passed on to the method.
3637 * @param _A_a3 Argument to be passed on to the method.
3638 * @return The return value of the method invocation.
3640 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3) const
3641 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
3644 // Reference to stored object instance.
3645 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3646 const_volatile_limit_reference<T_obj> obj_;
3649 //template specialization of visit_each<>(action, functor):
3650 /** Performs a functor on each of the targets of a functor.
3651 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3652 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3656 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
3657 void visit_each(const T_action& _A_action,
3658 const bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_target)
3660 sigc::visit_each(_A_action, _A_target.obj_);
3664 /** bound_const_volatile_mem_functor4 encapsulates a const volatile method with 4 arguments and an object instance.
3665 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor4.
3667 * The following template arguments are used:
3668 * - @e T_arg1 Argument type used in the definition of operator()().
3669 * - @e T_arg2 Argument type used in the definition of operator()().
3670 * - @e T_arg3 Argument type used in the definition of operator()().
3671 * - @e T_arg4 Argument type used in the definition of operator()().
3672 * - @e T_return The return type of operator()().
3673 * - @e T_obj The object type.
3677 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
3678 class bound_const_volatile_mem_functor4
3679 : public const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
3681 typedef const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4> base_type_;
3683 typedef typename base_type_::function_type function_type;
3685 /** Constructs a bound_const_volatile_mem_functor4 object that wraps the passed method.
3686 * @param _A_obj Pointer to instance the method will operate on.
3687 * @param _A_func Pointer to method will be invoked from operator()().
3689 bound_const_volatile_mem_functor4(const T_obj* _A_obj, function_type _A_func)
3690 : base_type_(_A_func),
3694 /** Constructs a bound_const_volatile_mem_functor4 object that wraps the passed method.
3695 * @param _A_obj Reference to instance the method will operate on.
3696 * @param _A_func Pointer to method will be invoked from operator()().
3698 bound_const_volatile_mem_functor4(const T_obj& _A_obj, function_type _A_func)
3699 : base_type_(_A_func),
3703 /** Execute the wrapped method operating on the stored instance.
3704 * @param _A_a1 Argument to be passed on to the method.
3705 * @param _A_a2 Argument to be passed on to the method.
3706 * @param _A_a3 Argument to be passed on to the method.
3707 * @param _A_a4 Argument to be passed on to the method.
3708 * @return The return value of the method invocation.
3710 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4) const
3711 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
3714 // Reference to stored object instance.
3715 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3716 const_volatile_limit_reference<T_obj> obj_;
3719 //template specialization of visit_each<>(action, functor):
3720 /** Performs a functor on each of the targets of a functor.
3721 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3722 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3726 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
3727 void visit_each(const T_action& _A_action,
3728 const bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_target)
3730 sigc::visit_each(_A_action, _A_target.obj_);
3734 /** bound_const_volatile_mem_functor5 encapsulates a const volatile method with 5 arguments and an object instance.
3735 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor5.
3737 * The following template arguments are used:
3738 * - @e T_arg1 Argument type used in the definition of operator()().
3739 * - @e T_arg2 Argument type used in the definition of operator()().
3740 * - @e T_arg3 Argument type used in the definition of operator()().
3741 * - @e T_arg4 Argument type used in the definition of operator()().
3742 * - @e T_arg5 Argument type used in the definition of operator()().
3743 * - @e T_return The return type of operator()().
3744 * - @e T_obj The object type.
3748 template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
3749 class bound_const_volatile_mem_functor5
3750 : public const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
3752 typedef const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> base_type_;
3754 typedef typename base_type_::function_type function_type;
3756 /** Constructs a bound_const_volatile_mem_functor5 object that wraps the passed method.
3757 * @param _A_obj Pointer to instance the method will operate on.
3758 * @param _A_func Pointer to method will be invoked from operator()().
3760 bound_const_volatile_mem_functor5(const T_obj* _A_obj, function_type _A_func)
3761 : base_type_(_A_func),
3765 /** Constructs a bound_const_volatile_mem_functor5 object that wraps the passed method.
3766 * @param _A_obj Reference to instance the method will operate on.
3767 * @param _A_func Pointer to method will be invoked from operator()().
3769 bound_const_volatile_mem_functor5(const T_obj& _A_obj, function_type _A_func)
3770 : base_type_(_A_func),
3774 /** Execute the wrapped method operating on the stored instance.
3775 * @param _A_a1 Argument to be passed on to the method.
3776 * @param _A_a2 Argument to be passed on to the method.
3777 * @param _A_a3 Argument to be passed on to the method.
3778 * @param _A_a4 Argument to be passed on to the method.
3779 * @param _A_a5 Argument to be passed on to the method.
3780 * @return The return value of the method invocation.
3782 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5) const
3783 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
3786 // Reference to stored object instance.
3787 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3788 const_volatile_limit_reference<T_obj> obj_;
3791 //template specialization of visit_each<>(action, functor):
3792 /** Performs a functor on each of the targets of a functor.
3793 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3794 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3798 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
3799 void visit_each(const T_action& _A_action,
3800 const bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_target)
3802 sigc::visit_each(_A_action, _A_target.obj_);
3806 /** bound_const_volatile_mem_functor6 encapsulates a const volatile method with 6 arguments and an object instance.
3807 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor6.
3809 * The following template arguments are used:
3810 * - @e T_arg1 Argument type used in the definition of operator()().
3811 * - @e T_arg2 Argument type used in the definition of operator()().
3812 * - @e T_arg3 Argument type used in the definition of operator()().
3813 * - @e T_arg4 Argument type used in the definition of operator()().
3814 * - @e T_arg5 Argument type used in the definition of operator()().
3815 * - @e T_arg6 Argument type used in the definition of operator()().
3816 * - @e T_return The return type of operator()().
3817 * - @e T_obj The object type.
3821 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>
3822 class bound_const_volatile_mem_functor6
3823 : public const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
3825 typedef const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> base_type_;
3827 typedef typename base_type_::function_type function_type;
3829 /** Constructs a bound_const_volatile_mem_functor6 object that wraps the passed method.
3830 * @param _A_obj Pointer to instance the method will operate on.
3831 * @param _A_func Pointer to method will be invoked from operator()().
3833 bound_const_volatile_mem_functor6(const T_obj* _A_obj, function_type _A_func)
3834 : base_type_(_A_func),
3838 /** Constructs a bound_const_volatile_mem_functor6 object that wraps the passed method.
3839 * @param _A_obj Reference to instance the method will operate on.
3840 * @param _A_func Pointer to method will be invoked from operator()().
3842 bound_const_volatile_mem_functor6(const T_obj& _A_obj, function_type _A_func)
3843 : base_type_(_A_func),
3847 /** Execute the wrapped method operating on the stored instance.
3848 * @param _A_a1 Argument to be passed on to the method.
3849 * @param _A_a2 Argument to be passed on to the method.
3850 * @param _A_a3 Argument to be passed on to the method.
3851 * @param _A_a4 Argument to be passed on to the method.
3852 * @param _A_a5 Argument to be passed on to the method.
3853 * @param _A_a6 Argument to be passed on to the method.
3854 * @return The return value of the method invocation.
3856 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6) const
3857 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
3860 // Reference to stored object instance.
3861 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3862 const_volatile_limit_reference<T_obj> obj_;
3865 //template specialization of visit_each<>(action, functor):
3866 /** Performs a functor on each of the targets of a functor.
3867 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3868 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3872 template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
3873 void visit_each(const T_action& _A_action,
3874 const bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_target)
3876 sigc::visit_each(_A_action, _A_target.obj_);
3880 /** bound_const_volatile_mem_functor7 encapsulates a const volatile method with 7 arguments and an object instance.
3881 * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor7.
3883 * The following template arguments are used:
3884 * - @e T_arg1 Argument type used in the definition of operator()().
3885 * - @e T_arg2 Argument type used in the definition of operator()().
3886 * - @e T_arg3 Argument type used in the definition of operator()().
3887 * - @e T_arg4 Argument type used in the definition of operator()().
3888 * - @e T_arg5 Argument type used in the definition of operator()().
3889 * - @e T_arg6 Argument type used in the definition of operator()().
3890 * - @e T_arg7 Argument type used in the definition of operator()().
3891 * - @e T_return The return type of operator()().
3892 * - @e T_obj The object type.
3896 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>
3897 class bound_const_volatile_mem_functor7
3898 : public const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
3900 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_;
3902 typedef typename base_type_::function_type function_type;
3904 /** Constructs a bound_const_volatile_mem_functor7 object that wraps the passed method.
3905 * @param _A_obj Pointer to instance the method will operate on.
3906 * @param _A_func Pointer to method will be invoked from operator()().
3908 bound_const_volatile_mem_functor7(const T_obj* _A_obj, function_type _A_func)
3909 : base_type_(_A_func),
3913 /** Constructs a bound_const_volatile_mem_functor7 object that wraps the passed method.
3914 * @param _A_obj Reference to instance the method will operate on.
3915 * @param _A_func Pointer to method will be invoked from operator()().
3917 bound_const_volatile_mem_functor7(const T_obj& _A_obj, function_type _A_func)
3918 : base_type_(_A_func),
3922 /** Execute the wrapped method operating on the stored instance.
3923 * @param _A_a1 Argument to be passed on to the method.
3924 * @param _A_a2 Argument to be passed on to the method.
3925 * @param _A_a3 Argument to be passed on to the method.
3926 * @param _A_a4 Argument to be passed on to the method.
3927 * @param _A_a5 Argument to be passed on to the method.
3928 * @param _A_a6 Argument to be passed on to the method.
3929 * @param _A_a7 Argument to be passed on to the method.
3930 * @return The return value of the method invocation.
3932 T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3,typename type_trait<T_arg4>::take _A_a4,typename type_trait<T_arg5>::take _A_a5,typename type_trait<T_arg6>::take _A_a6,typename type_trait<T_arg7>::take _A_a7) const
3933 { return (obj_.invoke().*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
3936 // Reference to stored object instance.
3937 // This is the handler object, such as TheObject in void TheObject::signal_handler().
3938 const_volatile_limit_reference<T_obj> obj_;
3941 //template specialization of visit_each<>(action, functor):
3942 /** Performs a functor on each of the targets of a functor.
3943 * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
3944 * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
3948 template <class T_action, 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>
3949 void visit_each(const T_action& _A_action,
3950 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)
3952 sigc::visit_each(_A_action, _A_target.obj_);
3957 /** Creates a functor of type sigc::mem_functor0 which wraps a method.
3958 * @param _A_func Pointer to method that should be wrapped.
3959 * @return Functor that executes _A_func on invokation.
3963 template <class T_return, class T_obj>
3964 inline mem_functor0<T_return, T_obj>
3965 mem_fun0(T_return (T_obj::*_A_func)() )
3966 { return mem_functor0<T_return, T_obj>(_A_func); }
3968 /** Creates a functor of type sigc::mem_functor1 which wraps a method.
3969 * @param _A_func Pointer to method that should be wrapped.
3970 * @return Functor that executes _A_func on invokation.
3974 template <class T_arg1, class T_return, class T_obj>
3975 inline mem_functor1<T_return, T_obj, T_arg1>
3976 mem_fun1(T_return (T_obj::*_A_func)(T_arg1) )
3977 { return mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
3979 /** Creates a functor of type sigc::mem_functor2 which wraps a method.
3980 * @param _A_func Pointer to method that should be wrapped.
3981 * @return Functor that executes _A_func on invokation.
3985 template <class T_arg1,class T_arg2, class T_return, class T_obj>
3986 inline mem_functor2<T_return, T_obj, T_arg1,T_arg2>
3987 mem_fun2(T_return (T_obj::*_A_func)(T_arg1,T_arg2) )
3988 { return mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
3990 /** Creates a functor of type sigc::mem_functor3 which wraps a method.
3991 * @param _A_func Pointer to method that should be wrapped.
3992 * @return Functor that executes _A_func on invokation.
3996 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
3997 inline mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
3998 mem_fun3(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) )
3999 { return mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
4001 /** Creates a functor of type sigc::mem_functor4 which wraps a method.
4002 * @param _A_func Pointer to method that should be wrapped.
4003 * @return Functor that executes _A_func on invokation.
4007 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
4008 inline mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4009 mem_fun4(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
4010 { return mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
4012 /** Creates a functor of type sigc::mem_functor5 which wraps a method.
4013 * @param _A_func Pointer to method that should be wrapped.
4014 * @return Functor that executes _A_func on invokation.
4018 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
4019 inline mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4020 mem_fun5(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
4021 { return mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
4023 /** Creates a functor of type sigc::mem_functor6 which wraps a method.
4024 * @param _A_func Pointer to method that should be wrapped.
4025 * @return Functor that executes _A_func on invokation.
4029 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>
4030 inline mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4031 mem_fun6(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
4032 { return mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
4034 /** Creates a functor of type sigc::mem_functor7 which wraps a method.
4035 * @param _A_func Pointer to method that should be wrapped.
4036 * @return Functor that executes _A_func on invokation.
4040 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>
4041 inline mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4042 mem_fun7(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) )
4043 { return mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
4045 /** Creates a functor of type sigc::const_mem_functor0 which wraps a const method.
4046 * @param _A_func Pointer to method that should be wrapped.
4047 * @return Functor that executes _A_func on invokation.
4051 template <class T_return, class T_obj>
4052 inline const_mem_functor0<T_return, T_obj>
4053 mem_fun0(T_return (T_obj::*_A_func)() const)
4054 { return const_mem_functor0<T_return, T_obj>(_A_func); }
4056 /** Creates a functor of type sigc::const_mem_functor1 which wraps a const method.
4057 * @param _A_func Pointer to method that should be wrapped.
4058 * @return Functor that executes _A_func on invokation.
4062 template <class T_arg1, class T_return, class T_obj>
4063 inline const_mem_functor1<T_return, T_obj, T_arg1>
4064 mem_fun1(T_return (T_obj::*_A_func)(T_arg1) const)
4065 { return const_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
4067 /** Creates a functor of type sigc::const_mem_functor2 which wraps a const method.
4068 * @param _A_func Pointer to method that should be wrapped.
4069 * @return Functor that executes _A_func on invokation.
4073 template <class T_arg1,class T_arg2, class T_return, class T_obj>
4074 inline const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4075 mem_fun2(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const)
4076 { return const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
4078 /** Creates a functor of type sigc::const_mem_functor3 which wraps a const method.
4079 * @param _A_func Pointer to method that should be wrapped.
4080 * @return Functor that executes _A_func on invokation.
4084 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
4085 inline const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4086 mem_fun3(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const)
4087 { return const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
4089 /** Creates a functor of type sigc::const_mem_functor4 which wraps a const method.
4090 * @param _A_func Pointer to method that should be wrapped.
4091 * @return Functor that executes _A_func on invokation.
4095 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
4096 inline const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4097 mem_fun4(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
4098 { return const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
4100 /** Creates a functor of type sigc::const_mem_functor5 which wraps a const method.
4101 * @param _A_func Pointer to method that should be wrapped.
4102 * @return Functor that executes _A_func on invokation.
4106 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
4107 inline const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4108 mem_fun5(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
4109 { return const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
4111 /** Creates a functor of type sigc::const_mem_functor6 which wraps a const method.
4112 * @param _A_func Pointer to method that should be wrapped.
4113 * @return Functor that executes _A_func on invokation.
4117 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>
4118 inline const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4119 mem_fun6(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const)
4120 { return const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
4122 /** Creates a functor of type sigc::const_mem_functor7 which wraps a const method.
4123 * @param _A_func Pointer to method that should be wrapped.
4124 * @return Functor that executes _A_func on invokation.
4128 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>
4129 inline const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4130 mem_fun7(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const)
4131 { return const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
4133 /** Creates a functor of type sigc::volatile_mem_functor0 which wraps a volatile method.
4134 * @param _A_func Pointer to method that should be wrapped.
4135 * @return Functor that executes _A_func on invokation.
4139 template <class T_return, class T_obj>
4140 inline volatile_mem_functor0<T_return, T_obj>
4141 mem_fun0(T_return (T_obj::*_A_func)() volatile)
4142 { return volatile_mem_functor0<T_return, T_obj>(_A_func); }
4144 /** Creates a functor of type sigc::volatile_mem_functor1 which wraps a volatile method.
4145 * @param _A_func Pointer to method that should be wrapped.
4146 * @return Functor that executes _A_func on invokation.
4150 template <class T_arg1, class T_return, class T_obj>
4151 inline volatile_mem_functor1<T_return, T_obj, T_arg1>
4152 mem_fun1(T_return (T_obj::*_A_func)(T_arg1) volatile)
4153 { return volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
4155 /** Creates a functor of type sigc::volatile_mem_functor2 which wraps a volatile method.
4156 * @param _A_func Pointer to method that should be wrapped.
4157 * @return Functor that executes _A_func on invokation.
4161 template <class T_arg1,class T_arg2, class T_return, class T_obj>
4162 inline volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4163 mem_fun2(T_return (T_obj::*_A_func)(T_arg1,T_arg2) volatile)
4164 { return volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
4166 /** Creates a functor of type sigc::volatile_mem_functor3 which wraps a volatile method.
4167 * @param _A_func Pointer to method that should be wrapped.
4168 * @return Functor that executes _A_func on invokation.
4172 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
4173 inline volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4174 mem_fun3(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
4175 { return volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
4177 /** Creates a functor of type sigc::volatile_mem_functor4 which wraps a volatile method.
4178 * @param _A_func Pointer to method that should be wrapped.
4179 * @return Functor that executes _A_func on invokation.
4183 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
4184 inline volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4185 mem_fun4(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
4186 { return volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
4188 /** Creates a functor of type sigc::volatile_mem_functor5 which wraps a volatile method.
4189 * @param _A_func Pointer to method that should be wrapped.
4190 * @return Functor that executes _A_func on invokation.
4194 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
4195 inline volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4196 mem_fun5(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
4197 { return volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
4199 /** Creates a functor of type sigc::volatile_mem_functor6 which wraps a volatile method.
4200 * @param _A_func Pointer to method that should be wrapped.
4201 * @return Functor that executes _A_func on invokation.
4205 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>
4206 inline volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4207 mem_fun6(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile)
4208 { return volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
4210 /** Creates a functor of type sigc::volatile_mem_functor7 which wraps a volatile method.
4211 * @param _A_func Pointer to method that should be wrapped.
4212 * @return Functor that executes _A_func on invokation.
4216 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>
4217 inline volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4218 mem_fun7(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile)
4219 { return volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
4221 /** Creates a functor of type sigc::const_volatile_mem_functor0 which wraps a const volatile method.
4222 * @param _A_func Pointer to method that should be wrapped.
4223 * @return Functor that executes _A_func on invokation.
4227 template <class T_return, class T_obj>
4228 inline const_volatile_mem_functor0<T_return, T_obj>
4229 mem_fun0(T_return (T_obj::*_A_func)() const volatile)
4230 { return const_volatile_mem_functor0<T_return, T_obj>(_A_func); }
4232 /** Creates a functor of type sigc::const_volatile_mem_functor1 which wraps a const volatile method.
4233 * @param _A_func Pointer to method that should be wrapped.
4234 * @return Functor that executes _A_func on invokation.
4238 template <class T_arg1, class T_return, class T_obj>
4239 inline const_volatile_mem_functor1<T_return, T_obj, T_arg1>
4240 mem_fun1(T_return (T_obj::*_A_func)(T_arg1) const volatile)
4241 { return const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
4243 /** Creates a functor of type sigc::const_volatile_mem_functor2 which wraps a const volatile method.
4244 * @param _A_func Pointer to method that should be wrapped.
4245 * @return Functor that executes _A_func on invokation.
4249 template <class T_arg1,class T_arg2, class T_return, class T_obj>
4250 inline const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4251 mem_fun2(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const volatile)
4252 { return const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
4254 /** Creates a functor of type sigc::const_volatile_mem_functor3 which wraps a const volatile method.
4255 * @param _A_func Pointer to method that should be wrapped.
4256 * @return Functor that executes _A_func on invokation.
4260 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
4261 inline const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4262 mem_fun3(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
4263 { return const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
4265 /** Creates a functor of type sigc::const_volatile_mem_functor4 which wraps a const volatile method.
4266 * @param _A_func Pointer to method that should be wrapped.
4267 * @return Functor that executes _A_func on invokation.
4271 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
4272 inline const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4273 mem_fun4(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
4274 { return const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
4276 /** Creates a functor of type sigc::const_volatile_mem_functor5 which wraps a const volatile method.
4277 * @param _A_func Pointer to method that should be wrapped.
4278 * @return Functor that executes _A_func on invokation.
4282 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
4283 inline const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4284 mem_fun5(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile)
4285 { return const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
4287 /** Creates a functor of type sigc::const_volatile_mem_functor6 which wraps a const volatile method.
4288 * @param _A_func Pointer to method that should be wrapped.
4289 * @return Functor that executes _A_func on invokation.
4293 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>
4294 inline const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4295 mem_fun6(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile)
4296 { return const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
4298 /** Creates a functor of type sigc::const_volatile_mem_functor7 which wraps a const volatile method.
4299 * @param _A_func Pointer to method that should be wrapped.
4300 * @return Functor that executes _A_func on invokation.
4304 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>
4305 inline const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4306 mem_fun7(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile)
4307 { 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); }
4309 /** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
4310 * @param _A_obj Pointer to object instance the functor should operate on.
4311 * @param _A_func Pointer to method that should be wrapped.
4312 * @return Functor that executes @e _A_func on invokation.
4316 template <class T_return, class T_obj, class T_obj2>
4317 inline bound_mem_functor0<T_return, T_obj>
4318 mem_fun0(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() )
4319 { return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4321 /** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
4322 * @param _A_obj Reference to object instance the functor should operate on.
4323 * @param _A_func Pointer to method that should be wrapped.
4324 * @return Functor that executes @e _A_func on invokation.
4328 template <class T_return, class T_obj, class T_obj2>
4329 inline bound_mem_functor0<T_return, T_obj>
4330 mem_fun0(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() )
4331 { return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4333 /** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
4334 * @param _A_obj Pointer to object instance the functor should operate on.
4335 * @param _A_func Pointer to method that should be wrapped.
4336 * @return Functor that executes @e _A_func on invokation.
4340 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4341 inline bound_mem_functor1<T_return, T_obj, T_arg1>
4342 mem_fun1(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
4343 { return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4345 /** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
4346 * @param _A_obj Reference to object instance the functor should operate on.
4347 * @param _A_func Pointer to method that should be wrapped.
4348 * @return Functor that executes @e _A_func on invokation.
4352 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4353 inline bound_mem_functor1<T_return, T_obj, T_arg1>
4354 mem_fun1(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
4355 { return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4357 /** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
4358 * @param _A_obj Pointer to object instance the functor should operate on.
4359 * @param _A_func Pointer to method that should be wrapped.
4360 * @return Functor that executes @e _A_func on invokation.
4364 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
4365 inline bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4366 mem_fun2(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
4367 { return bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
4369 /** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
4370 * @param _A_obj Reference to object instance the functor should operate on.
4371 * @param _A_func Pointer to method that should be wrapped.
4372 * @return Functor that executes @e _A_func on invokation.
4376 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
4377 inline bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4378 mem_fun2(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
4379 { return bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
4381 /** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
4382 * @param _A_obj Pointer to object instance the functor should operate on.
4383 * @param _A_func Pointer to method that should be wrapped.
4384 * @return Functor that executes @e _A_func on invokation.
4388 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
4389 inline bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4390 mem_fun3(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
4391 { return bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
4393 /** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
4394 * @param _A_obj Reference to object instance the functor should operate on.
4395 * @param _A_func Pointer to method that should be wrapped.
4396 * @return Functor that executes @e _A_func on invokation.
4400 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
4401 inline bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4402 mem_fun3(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
4403 { return bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
4405 /** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
4406 * @param _A_obj Pointer to object instance the functor should operate on.
4407 * @param _A_func Pointer to method that should be wrapped.
4408 * @return Functor that executes @e _A_func on invokation.
4412 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
4413 inline bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4414 mem_fun4(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
4415 { return bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
4417 /** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
4418 * @param _A_obj Reference to object instance the functor should operate on.
4419 * @param _A_func Pointer to method that should be wrapped.
4420 * @return Functor that executes @e _A_func on invokation.
4424 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
4425 inline bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4426 mem_fun4(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
4427 { return bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
4429 /** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
4430 * @param _A_obj Pointer to object instance the functor should operate on.
4431 * @param _A_func Pointer to method that should be wrapped.
4432 * @return Functor that executes @e _A_func on invokation.
4436 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>
4437 inline bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4438 mem_fun5(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
4439 { return bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
4441 /** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
4442 * @param _A_obj Reference to object instance the functor should operate on.
4443 * @param _A_func Pointer to method that should be wrapped.
4444 * @return Functor that executes @e _A_func on invokation.
4448 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>
4449 inline bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4450 mem_fun5(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
4451 { return bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
4453 /** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
4454 * @param _A_obj Pointer to object instance the functor should operate on.
4455 * @param _A_func Pointer to method that should be wrapped.
4456 * @return Functor that executes @e _A_func on invokation.
4460 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>
4461 inline bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4462 mem_fun6(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
4463 { return bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
4465 /** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
4466 * @param _A_obj Reference to object instance the functor should operate on.
4467 * @param _A_func Pointer to method that should be wrapped.
4468 * @return Functor that executes @e _A_func on invokation.
4472 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>
4473 inline bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4474 mem_fun6(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
4475 { return bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
4477 /** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
4478 * @param _A_obj Pointer to object instance the functor should operate on.
4479 * @param _A_func Pointer to method that should be wrapped.
4480 * @return Functor that executes @e _A_func on invokation.
4484 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>
4485 inline bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4486 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) )
4487 { 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); }
4489 /** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
4490 * @param _A_obj Reference to object instance the functor should operate on.
4491 * @param _A_func Pointer to method that should be wrapped.
4492 * @return Functor that executes @e _A_func on invokation.
4496 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>
4497 inline bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4498 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) )
4499 { 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); }
4501 /** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
4502 * @param _A_obj Pointer to object instance the functor should operate on.
4503 * @param _A_func Pointer to method that should be wrapped.
4504 * @return Functor that executes @e _A_func on invokation.
4508 template <class T_return, class T_obj, class T_obj2>
4509 inline bound_const_mem_functor0<T_return, T_obj>
4510 mem_fun0(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const)
4511 { return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4513 /** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
4514 * @param _A_obj Reference to object instance the functor should operate on.
4515 * @param _A_func Pointer to method that should be wrapped.
4516 * @return Functor that executes @e _A_func on invokation.
4520 template <class T_return, class T_obj, class T_obj2>
4521 inline bound_const_mem_functor0<T_return, T_obj>
4522 mem_fun0(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const)
4523 { return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4525 /** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
4526 * @param _A_obj Pointer to object instance the functor should operate on.
4527 * @param _A_func Pointer to method that should be wrapped.
4528 * @return Functor that executes @e _A_func on invokation.
4532 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4533 inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
4534 mem_fun1(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
4535 { return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4537 /** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
4538 * @param _A_obj Reference to object instance the functor should operate on.
4539 * @param _A_func Pointer to method that should be wrapped.
4540 * @return Functor that executes @e _A_func on invokation.
4544 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4545 inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
4546 mem_fun1(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
4547 { return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4549 /** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
4550 * @param _A_obj Pointer to object instance the functor should operate on.
4551 * @param _A_func Pointer to method that should be wrapped.
4552 * @return Functor that executes @e _A_func on invokation.
4556 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
4557 inline bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4558 mem_fun2(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
4559 { return bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
4561 /** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
4562 * @param _A_obj Reference to object instance the functor should operate on.
4563 * @param _A_func Pointer to method that should be wrapped.
4564 * @return Functor that executes @e _A_func on invokation.
4568 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
4569 inline bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4570 mem_fun2(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
4571 { return bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
4573 /** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
4574 * @param _A_obj Pointer to object instance the functor should operate on.
4575 * @param _A_func Pointer to method that should be wrapped.
4576 * @return Functor that executes @e _A_func on invokation.
4580 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
4581 inline bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4582 mem_fun3(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
4583 { return bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
4585 /** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
4586 * @param _A_obj Reference to object instance the functor should operate on.
4587 * @param _A_func Pointer to method that should be wrapped.
4588 * @return Functor that executes @e _A_func on invokation.
4592 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
4593 inline bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4594 mem_fun3(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
4595 { return bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
4597 /** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
4598 * @param _A_obj Pointer to object instance the functor should operate on.
4599 * @param _A_func Pointer to method that should be wrapped.
4600 * @return Functor that executes @e _A_func on invokation.
4604 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
4605 inline bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4606 mem_fun4(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
4607 { return bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
4609 /** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
4610 * @param _A_obj Reference to object instance the functor should operate on.
4611 * @param _A_func Pointer to method that should be wrapped.
4612 * @return Functor that executes @e _A_func on invokation.
4616 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
4617 inline bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4618 mem_fun4(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
4619 { return bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
4621 /** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
4622 * @param _A_obj Pointer to object instance the functor should operate on.
4623 * @param _A_func Pointer to method that should be wrapped.
4624 * @return Functor that executes @e _A_func on invokation.
4628 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>
4629 inline bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4630 mem_fun5(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
4631 { return bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
4633 /** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
4634 * @param _A_obj Reference to object instance the functor should operate on.
4635 * @param _A_func Pointer to method that should be wrapped.
4636 * @return Functor that executes @e _A_func on invokation.
4640 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>
4641 inline bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4642 mem_fun5(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
4643 { return bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
4645 /** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
4646 * @param _A_obj Pointer to object instance the functor should operate on.
4647 * @param _A_func Pointer to method that should be wrapped.
4648 * @return Functor that executes @e _A_func on invokation.
4652 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>
4653 inline bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4654 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)
4655 { 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); }
4657 /** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
4658 * @param _A_obj Reference to object instance the functor should operate on.
4659 * @param _A_func Pointer to method that should be wrapped.
4660 * @return Functor that executes @e _A_func on invokation.
4664 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>
4665 inline bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4666 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)
4667 { 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); }
4669 /** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
4670 * @param _A_obj Pointer to object instance the functor should operate on.
4671 * @param _A_func Pointer to method that should be wrapped.
4672 * @return Functor that executes @e _A_func on invokation.
4676 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>
4677 inline bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4678 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)
4679 { 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); }
4681 /** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
4682 * @param _A_obj Reference to object instance the functor should operate on.
4683 * @param _A_func Pointer to method that should be wrapped.
4684 * @return Functor that executes @e _A_func on invokation.
4688 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>
4689 inline bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4690 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)
4691 { 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); }
4693 /** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
4694 * @param _A_obj Pointer to object instance the functor should operate on.
4695 * @param _A_func Pointer to method that should be wrapped.
4696 * @return Functor that executes @e _A_func on invokation.
4700 template <class T_return, class T_obj, class T_obj2>
4701 inline bound_volatile_mem_functor0<T_return, T_obj>
4702 mem_fun0(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() volatile)
4703 { return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4705 /** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
4706 * @param _A_obj Reference to object instance the functor should operate on.
4707 * @param _A_func Pointer to method that should be wrapped.
4708 * @return Functor that executes @e _A_func on invokation.
4712 template <class T_return, class T_obj, class T_obj2>
4713 inline bound_volatile_mem_functor0<T_return, T_obj>
4714 mem_fun0(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() volatile)
4715 { return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4717 /** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
4718 * @param _A_obj Pointer to object instance the functor should operate on.
4719 * @param _A_func Pointer to method that should be wrapped.
4720 * @return Functor that executes @e _A_func on invokation.
4724 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4725 inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
4726 mem_fun1(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
4727 { return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4729 /** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
4730 * @param _A_obj Reference to object instance the functor should operate on.
4731 * @param _A_func Pointer to method that should be wrapped.
4732 * @return Functor that executes @e _A_func on invokation.
4736 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4737 inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
4738 mem_fun1(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
4739 { return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4741 /** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
4742 * @param _A_obj Pointer to object instance the functor should operate on.
4743 * @param _A_func Pointer to method that should be wrapped.
4744 * @return Functor that executes @e _A_func on invokation.
4748 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
4749 inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4750 mem_fun2(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
4751 { return bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
4753 /** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
4754 * @param _A_obj Reference to object instance the functor should operate on.
4755 * @param _A_func Pointer to method that should be wrapped.
4756 * @return Functor that executes @e _A_func on invokation.
4760 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
4761 inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4762 mem_fun2(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
4763 { return bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
4765 /** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
4766 * @param _A_obj Pointer to object instance the functor should operate on.
4767 * @param _A_func Pointer to method that should be wrapped.
4768 * @return Functor that executes @e _A_func on invokation.
4772 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
4773 inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4774 mem_fun3(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
4775 { return bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
4777 /** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
4778 * @param _A_obj Reference to object instance the functor should operate on.
4779 * @param _A_func Pointer to method that should be wrapped.
4780 * @return Functor that executes @e _A_func on invokation.
4784 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
4785 inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4786 mem_fun3(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
4787 { return bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
4789 /** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
4790 * @param _A_obj Pointer to object instance the functor should operate on.
4791 * @param _A_func Pointer to method that should be wrapped.
4792 * @return Functor that executes @e _A_func on invokation.
4796 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
4797 inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4798 mem_fun4(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
4799 { return bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
4801 /** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
4802 * @param _A_obj Reference to object instance the functor should operate on.
4803 * @param _A_func Pointer to method that should be wrapped.
4804 * @return Functor that executes @e _A_func on invokation.
4808 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
4809 inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4810 mem_fun4(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
4811 { return bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
4813 /** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
4814 * @param _A_obj Pointer to object instance the functor should operate on.
4815 * @param _A_func Pointer to method that should be wrapped.
4816 * @return Functor that executes @e _A_func on invokation.
4820 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>
4821 inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4822 mem_fun5(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
4823 { return bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
4825 /** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
4826 * @param _A_obj Reference to object instance the functor should operate on.
4827 * @param _A_func Pointer to method that should be wrapped.
4828 * @return Functor that executes @e _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, class T_obj2>
4833 inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
4834 mem_fun5(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
4835 { return bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
4837 /** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
4838 * @param _A_obj Pointer to object instance the functor should operate on.
4839 * @param _A_func Pointer to method that should be wrapped.
4840 * @return Functor that executes @e _A_func on invokation.
4844 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>
4845 inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4846 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)
4847 { 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); }
4849 /** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
4850 * @param _A_obj Reference to object instance the functor should operate on.
4851 * @param _A_func Pointer to method that should be wrapped.
4852 * @return Functor that executes @e _A_func on invokation.
4856 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>
4857 inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
4858 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)
4859 { 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); }
4861 /** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
4862 * @param _A_obj Pointer to object instance the functor should operate on.
4863 * @param _A_func Pointer to method that should be wrapped.
4864 * @return Functor that executes @e _A_func on invokation.
4868 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>
4869 inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4870 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)
4871 { 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); }
4873 /** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
4874 * @param _A_obj Reference to object instance the functor should operate on.
4875 * @param _A_func Pointer to method that should be wrapped.
4876 * @return Functor that executes @e _A_func on invokation.
4880 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>
4881 inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
4882 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)
4883 { 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); }
4885 /** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
4886 * @param _A_obj Pointer to object instance the functor should operate on.
4887 * @param _A_func Pointer to method that should be wrapped.
4888 * @return Functor that executes @e _A_func on invokation.
4892 template <class T_return, class T_obj, class T_obj2>
4893 inline bound_const_volatile_mem_functor0<T_return, T_obj>
4894 mem_fun0(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const volatile)
4895 { return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4897 /** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
4898 * @param _A_obj Reference to object instance the functor should operate on.
4899 * @param _A_func Pointer to method that should be wrapped.
4900 * @return Functor that executes @e _A_func on invokation.
4904 template <class T_return, class T_obj, class T_obj2>
4905 inline bound_const_volatile_mem_functor0<T_return, T_obj>
4906 mem_fun0(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const volatile)
4907 { return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
4909 /** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
4910 * @param _A_obj Pointer to object instance the functor should operate on.
4911 * @param _A_func Pointer to method that should be wrapped.
4912 * @return Functor that executes @e _A_func on invokation.
4916 template <class T_arg1, class T_return, class T_obj, class T_obj2>
4917 inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
4918 mem_fun1(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
4919 { return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4921 /** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
4922 * @param _A_obj Reference 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_return, class T_obj, class T_obj2>
4929 inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
4930 mem_fun1(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
4931 { return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
4933 /** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
4934 * @param _A_obj Pointer to object instance the functor should operate on.
4935 * @param _A_func Pointer to method that should be wrapped.
4936 * @return Functor that executes @e _A_func on invokation.
4940 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
4941 inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4942 mem_fun2(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
4943 { return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
4945 /** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
4946 * @param _A_obj Reference to object instance the functor should operate on.
4947 * @param _A_func Pointer to method that should be wrapped.
4948 * @return Functor that executes @e _A_func on invokation.
4952 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
4953 inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
4954 mem_fun2(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
4955 { return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
4957 /** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
4958 * @param _A_obj Pointer to object instance the functor should operate on.
4959 * @param _A_func Pointer to method that should be wrapped.
4960 * @return Functor that executes @e _A_func on invokation.
4964 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
4965 inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4966 mem_fun3(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
4967 { return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
4969 /** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
4970 * @param _A_obj Reference to object instance the functor should operate on.
4971 * @param _A_func Pointer to method that should be wrapped.
4972 * @return Functor that executes @e _A_func on invokation.
4976 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
4977 inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
4978 mem_fun3(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
4979 { return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
4981 /** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
4982 * @param _A_obj Pointer to object instance the functor should operate on.
4983 * @param _A_func Pointer to method that should be wrapped.
4984 * @return Functor that executes @e _A_func on invokation.
4988 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
4989 inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
4990 mem_fun4(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
4991 { return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
4993 /** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
4994 * @param _A_obj Reference to object instance the functor should operate on.
4995 * @param _A_func Pointer to method that should be wrapped.
4996 * @return Functor that executes @e _A_func on invokation.
5000 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
5001 inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5002 mem_fun4(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
5003 { return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
5005 /** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
5006 * @param _A_obj Pointer to object instance the functor should operate on.
5007 * @param _A_func Pointer to method that should be wrapped.
5008 * @return Functor that executes @e _A_func on invokation.
5012 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>
5013 inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5014 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)
5015 { return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
5017 /** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
5018 * @param _A_obj Reference to object instance the functor should operate on.
5019 * @param _A_func Pointer to method that should be wrapped.
5020 * @return Functor that executes @e _A_func on invokation.
5024 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>
5025 inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5026 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)
5027 { return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
5029 /** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
5030 * @param _A_obj Pointer to object instance the functor should operate on.
5031 * @param _A_func Pointer to method that should be wrapped.
5032 * @return Functor that executes @e _A_func on invokation.
5036 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>
5037 inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5038 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)
5039 { 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); }
5041 /** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
5042 * @param _A_obj Reference to object instance the functor should operate on.
5043 * @param _A_func Pointer to method that should be wrapped.
5044 * @return Functor that executes @e _A_func on invokation.
5048 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>
5049 inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5050 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)
5051 { 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); }
5053 /** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
5054 * @param _A_obj Pointer to object instance the functor should operate on.
5055 * @param _A_func Pointer to method that should be wrapped.
5056 * @return Functor that executes @e _A_func on invokation.
5060 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>
5061 inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5062 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)
5063 { 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); }
5065 /** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
5066 * @param _A_obj Reference to object instance the functor should operate on.
5067 * @param _A_func Pointer to method that should be wrapped.
5068 * @return Functor that executes @e _A_func on invokation.
5072 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>
5073 inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5074 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)
5075 { 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); }
5079 /** Creates a functor of type sigc::mem_functor0 which wraps a method.
5080 * @param _A_func Pointer to method that should be wrapped.
5081 * @return Functor that executes _A_func on invokation.
5085 template <class T_return, class T_obj>
5086 inline mem_functor0<T_return, T_obj>
5087 mem_fun(T_return (T_obj::*_A_func)() )
5088 { return mem_functor0<T_return, T_obj>(_A_func); }
5090 /** Creates a functor of type sigc::mem_functor1 which wraps a method.
5091 * @param _A_func Pointer to method that should be wrapped.
5092 * @return Functor that executes _A_func on invokation.
5096 template <class T_arg1, class T_return, class T_obj>
5097 inline mem_functor1<T_return, T_obj, T_arg1>
5098 mem_fun(T_return (T_obj::*_A_func)(T_arg1) )
5099 { return mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
5101 /** Creates a functor of type sigc::mem_functor2 which wraps a method.
5102 * @param _A_func Pointer to method that should be wrapped.
5103 * @return Functor that executes _A_func on invokation.
5107 template <class T_arg1,class T_arg2, class T_return, class T_obj>
5108 inline mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5109 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2) )
5110 { return mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
5112 /** Creates a functor of type sigc::mem_functor3 which wraps a method.
5113 * @param _A_func Pointer to method that should be wrapped.
5114 * @return Functor that executes _A_func on invokation.
5118 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
5119 inline mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5120 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) )
5121 { return mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
5123 /** Creates a functor of type sigc::mem_functor4 which wraps a method.
5124 * @param _A_func Pointer to method that should be wrapped.
5125 * @return Functor that executes _A_func on invokation.
5129 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
5130 inline mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5131 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
5132 { return mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
5134 /** Creates a functor of type sigc::mem_functor5 which wraps a method.
5135 * @param _A_func Pointer to method that should be wrapped.
5136 * @return Functor that executes _A_func on invokation.
5140 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
5141 inline mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5142 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
5143 { return mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
5145 /** Creates a functor of type sigc::mem_functor6 which wraps a method.
5146 * @param _A_func Pointer to method that should be wrapped.
5147 * @return Functor that executes _A_func on invokation.
5151 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>
5152 inline mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5153 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
5154 { return mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
5156 /** Creates a functor of type sigc::mem_functor7 which wraps a method.
5157 * @param _A_func Pointer to method that should be wrapped.
5158 * @return Functor that executes _A_func on invokation.
5162 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>
5163 inline mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5164 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) )
5165 { return mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
5167 /** Creates a functor of type sigc::const_mem_functor0 which wraps a const method.
5168 * @param _A_func Pointer to method that should be wrapped.
5169 * @return Functor that executes _A_func on invokation.
5173 template <class T_return, class T_obj>
5174 inline const_mem_functor0<T_return, T_obj>
5175 mem_fun(T_return (T_obj::*_A_func)() const)
5176 { return const_mem_functor0<T_return, T_obj>(_A_func); }
5178 /** Creates a functor of type sigc::const_mem_functor1 which wraps a const method.
5179 * @param _A_func Pointer to method that should be wrapped.
5180 * @return Functor that executes _A_func on invokation.
5184 template <class T_arg1, class T_return, class T_obj>
5185 inline const_mem_functor1<T_return, T_obj, T_arg1>
5186 mem_fun(T_return (T_obj::*_A_func)(T_arg1) const)
5187 { return const_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
5189 /** Creates a functor of type sigc::const_mem_functor2 which wraps a const method.
5190 * @param _A_func Pointer to method that should be wrapped.
5191 * @return Functor that executes _A_func on invokation.
5195 template <class T_arg1,class T_arg2, class T_return, class T_obj>
5196 inline const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5197 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const)
5198 { return const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
5200 /** Creates a functor of type sigc::const_mem_functor3 which wraps a const method.
5201 * @param _A_func Pointer to method that should be wrapped.
5202 * @return Functor that executes _A_func on invokation.
5206 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
5207 inline const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5208 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const)
5209 { return const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
5211 /** Creates a functor of type sigc::const_mem_functor4 which wraps a const method.
5212 * @param _A_func Pointer to method that should be wrapped.
5213 * @return Functor that executes _A_func on invokation.
5217 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
5218 inline const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5219 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
5220 { return const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
5222 /** Creates a functor of type sigc::const_mem_functor5 which wraps a const method.
5223 * @param _A_func Pointer to method that should be wrapped.
5224 * @return Functor that executes _A_func on invokation.
5228 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
5229 inline const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5230 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
5231 { return const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
5233 /** Creates a functor of type sigc::const_mem_functor6 which wraps a const method.
5234 * @param _A_func Pointer to method that should be wrapped.
5235 * @return Functor that executes _A_func on invokation.
5239 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>
5240 inline const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5241 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const)
5242 { return const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
5244 /** Creates a functor of type sigc::const_mem_functor7 which wraps a const method.
5245 * @param _A_func Pointer to method that should be wrapped.
5246 * @return Functor that executes _A_func on invokation.
5250 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>
5251 inline const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5252 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const)
5253 { return const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
5255 /** Creates a functor of type sigc::volatile_mem_functor0 which wraps a volatile method.
5256 * @param _A_func Pointer to method that should be wrapped.
5257 * @return Functor that executes _A_func on invokation.
5261 template <class T_return, class T_obj>
5262 inline volatile_mem_functor0<T_return, T_obj>
5263 mem_fun(T_return (T_obj::*_A_func)() volatile)
5264 { return volatile_mem_functor0<T_return, T_obj>(_A_func); }
5266 /** Creates a functor of type sigc::volatile_mem_functor1 which wraps a volatile method.
5267 * @param _A_func Pointer to method that should be wrapped.
5268 * @return Functor that executes _A_func on invokation.
5272 template <class T_arg1, class T_return, class T_obj>
5273 inline volatile_mem_functor1<T_return, T_obj, T_arg1>
5274 mem_fun(T_return (T_obj::*_A_func)(T_arg1) volatile)
5275 { return volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
5277 /** Creates a functor of type sigc::volatile_mem_functor2 which wraps a volatile method.
5278 * @param _A_func Pointer to method that should be wrapped.
5279 * @return Functor that executes _A_func on invokation.
5283 template <class T_arg1,class T_arg2, class T_return, class T_obj>
5284 inline volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5285 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2) volatile)
5286 { return volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
5288 /** Creates a functor of type sigc::volatile_mem_functor3 which wraps a volatile method.
5289 * @param _A_func Pointer to method that should be wrapped.
5290 * @return Functor that executes _A_func on invokation.
5294 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
5295 inline volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5296 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
5297 { return volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
5299 /** Creates a functor of type sigc::volatile_mem_functor4 which wraps a volatile method.
5300 * @param _A_func Pointer to method that should be wrapped.
5301 * @return Functor that executes _A_func on invokation.
5305 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
5306 inline volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5307 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
5308 { return volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
5310 /** Creates a functor of type sigc::volatile_mem_functor5 which wraps a volatile method.
5311 * @param _A_func Pointer to method that should be wrapped.
5312 * @return Functor that executes _A_func on invokation.
5316 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
5317 inline volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5318 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
5319 { return volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
5321 /** Creates a functor of type sigc::volatile_mem_functor6 which wraps a volatile method.
5322 * @param _A_func Pointer to method that should be wrapped.
5323 * @return Functor that executes _A_func on invokation.
5327 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>
5328 inline volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5329 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile)
5330 { return volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
5332 /** Creates a functor of type sigc::volatile_mem_functor7 which wraps a volatile method.
5333 * @param _A_func Pointer to method that should be wrapped.
5334 * @return Functor that executes _A_func on invokation.
5338 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>
5339 inline volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5340 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile)
5341 { return volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
5343 /** Creates a functor of type sigc::const_volatile_mem_functor0 which wraps a const volatile method.
5344 * @param _A_func Pointer to method that should be wrapped.
5345 * @return Functor that executes _A_func on invokation.
5349 template <class T_return, class T_obj>
5350 inline const_volatile_mem_functor0<T_return, T_obj>
5351 mem_fun(T_return (T_obj::*_A_func)() const volatile)
5352 { return const_volatile_mem_functor0<T_return, T_obj>(_A_func); }
5354 /** Creates a functor of type sigc::const_volatile_mem_functor1 which wraps a const volatile method.
5355 * @param _A_func Pointer to method that should be wrapped.
5356 * @return Functor that executes _A_func on invokation.
5360 template <class T_arg1, class T_return, class T_obj>
5361 inline const_volatile_mem_functor1<T_return, T_obj, T_arg1>
5362 mem_fun(T_return (T_obj::*_A_func)(T_arg1) const volatile)
5363 { return const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
5365 /** Creates a functor of type sigc::const_volatile_mem_functor2 which wraps a const volatile method.
5366 * @param _A_func Pointer to method that should be wrapped.
5367 * @return Functor that executes _A_func on invokation.
5371 template <class T_arg1,class T_arg2, class T_return, class T_obj>
5372 inline const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5373 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const volatile)
5374 { return const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
5376 /** Creates a functor of type sigc::const_volatile_mem_functor3 which wraps a const volatile method.
5377 * @param _A_func Pointer to method that should be wrapped.
5378 * @return Functor that executes _A_func on invokation.
5382 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
5383 inline const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5384 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
5385 { return const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
5387 /** Creates a functor of type sigc::const_volatile_mem_functor4 which wraps a const volatile method.
5388 * @param _A_func Pointer to method that should be wrapped.
5389 * @return Functor that executes _A_func on invokation.
5393 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
5394 inline const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5395 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
5396 { return const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
5398 /** Creates a functor of type sigc::const_volatile_mem_functor5 which wraps a const volatile method.
5399 * @param _A_func Pointer to method that should be wrapped.
5400 * @return Functor that executes _A_func on invokation.
5404 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
5405 inline const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5406 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile)
5407 { return const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
5409 /** Creates a functor of type sigc::const_volatile_mem_functor6 which wraps a const volatile method.
5410 * @param _A_func Pointer to method that should be wrapped.
5411 * @return Functor that executes _A_func on invokation.
5415 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>
5416 inline const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5417 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile)
5418 { return const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
5420 /** Creates a functor of type sigc::const_volatile_mem_functor7 which wraps a const volatile method.
5421 * @param _A_func Pointer to method that should be wrapped.
5422 * @return Functor that executes _A_func on invokation.
5426 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>
5427 inline const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5428 mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile)
5429 { 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); }
5431 /** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
5432 * @param _A_obj Pointer to object instance the functor should operate on.
5433 * @param _A_func Pointer to method that should be wrapped.
5434 * @return Functor that executes @e _A_func on invokation.
5438 template <class T_return, class T_obj, class T_obj2>
5439 inline bound_mem_functor0<T_return, T_obj>
5440 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() )
5441 { return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5443 /** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
5444 * @param _A_obj Reference 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_return, class T_obj, class T_obj2>
5451 inline bound_mem_functor0<T_return, T_obj>
5452 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() )
5453 { return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5455 /** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
5456 * @param _A_obj Pointer to object instance the functor should operate on.
5457 * @param _A_func Pointer to method that should be wrapped.
5458 * @return Functor that executes @e _A_func on invokation.
5462 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5463 inline bound_mem_functor1<T_return, T_obj, T_arg1>
5464 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
5465 { return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5467 /** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
5468 * @param _A_obj Reference to object instance the functor should operate on.
5469 * @param _A_func Pointer to method that should be wrapped.
5470 * @return Functor that executes @e _A_func on invokation.
5474 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5475 inline bound_mem_functor1<T_return, T_obj, T_arg1>
5476 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
5477 { return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5479 /** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
5480 * @param _A_obj Pointer to object instance the functor should operate on.
5481 * @param _A_func Pointer to method that should be wrapped.
5482 * @return Functor that executes @e _A_func on invokation.
5486 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
5487 inline bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5488 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
5489 { return bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
5491 /** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
5492 * @param _A_obj Reference to object instance the functor should operate on.
5493 * @param _A_func Pointer to method that should be wrapped.
5494 * @return Functor that executes @e _A_func on invokation.
5498 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
5499 inline bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5500 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
5501 { return bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
5503 /** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
5504 * @param _A_obj Pointer to object instance the functor should operate on.
5505 * @param _A_func Pointer to method that should be wrapped.
5506 * @return Functor that executes @e _A_func on invokation.
5510 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
5511 inline bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5512 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
5513 { return bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
5515 /** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
5516 * @param _A_obj Reference to object instance the functor should operate on.
5517 * @param _A_func Pointer to method that should be wrapped.
5518 * @return Functor that executes @e _A_func on invokation.
5522 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
5523 inline bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5524 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
5525 { return bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
5527 /** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
5528 * @param _A_obj Pointer to object instance the functor should operate on.
5529 * @param _A_func Pointer to method that should be wrapped.
5530 * @return Functor that executes @e _A_func on invokation.
5534 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
5535 inline bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5536 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
5537 { return bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
5539 /** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
5540 * @param _A_obj Reference to object instance the functor should operate on.
5541 * @param _A_func Pointer to method that should be wrapped.
5542 * @return Functor that executes @e _A_func on invokation.
5546 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
5547 inline bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5548 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
5549 { return bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
5551 /** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
5552 * @param _A_obj Pointer to object instance the functor should operate on.
5553 * @param _A_func Pointer to method that should be wrapped.
5554 * @return Functor that executes @e _A_func on invokation.
5558 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>
5559 inline bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5560 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
5561 { return bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
5563 /** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
5564 * @param _A_obj Reference to object instance the functor should operate on.
5565 * @param _A_func Pointer to method that should be wrapped.
5566 * @return Functor that executes @e _A_func on invokation.
5570 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>
5571 inline bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5572 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
5573 { return bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
5575 /** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
5576 * @param _A_obj Pointer to object instance the functor should operate on.
5577 * @param _A_func Pointer to method that should be wrapped.
5578 * @return Functor that executes @e _A_func on invokation.
5582 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>
5583 inline bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5584 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
5585 { return bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
5587 /** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
5588 * @param _A_obj Reference to object instance the functor should operate on.
5589 * @param _A_func Pointer to method that should be wrapped.
5590 * @return Functor that executes @e _A_func on invokation.
5594 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>
5595 inline bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5596 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
5597 { return bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
5599 /** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
5600 * @param _A_obj Pointer to object instance the functor should operate on.
5601 * @param _A_func Pointer to method that should be wrapped.
5602 * @return Functor that executes @e _A_func on invokation.
5606 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>
5607 inline bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5608 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) )
5609 { 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); }
5611 /** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
5612 * @param _A_obj Reference to object instance the functor should operate on.
5613 * @param _A_func Pointer to method that should be wrapped.
5614 * @return Functor that executes @e _A_func on invokation.
5618 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>
5619 inline bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5620 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) )
5621 { 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); }
5623 /** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
5624 * @param _A_obj Pointer to object instance the functor should operate on.
5625 * @param _A_func Pointer to method that should be wrapped.
5626 * @return Functor that executes @e _A_func on invokation.
5630 template <class T_return, class T_obj, class T_obj2>
5631 inline bound_const_mem_functor0<T_return, T_obj>
5632 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const)
5633 { return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5635 /** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
5636 * @param _A_obj Reference to object instance the functor should operate on.
5637 * @param _A_func Pointer to method that should be wrapped.
5638 * @return Functor that executes @e _A_func on invokation.
5642 template <class T_return, class T_obj, class T_obj2>
5643 inline bound_const_mem_functor0<T_return, T_obj>
5644 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const)
5645 { return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5647 /** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
5648 * @param _A_obj Pointer to object instance the functor should operate on.
5649 * @param _A_func Pointer to method that should be wrapped.
5650 * @return Functor that executes @e _A_func on invokation.
5654 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5655 inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
5656 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
5657 { return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5659 /** Creates a functor of type sigc::bound_const_mem_functor1 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_return, class T_obj, class T_obj2>
5667 inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
5668 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
5669 { return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5671 /** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
5672 * @param _A_obj Pointer to object instance the functor should operate on.
5673 * @param _A_func Pointer to method that should be wrapped.
5674 * @return Functor that executes @e _A_func on invokation.
5678 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
5679 inline bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5680 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
5681 { return bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
5683 /** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
5684 * @param _A_obj Reference to object instance the functor should operate on.
5685 * @param _A_func Pointer to method that should be wrapped.
5686 * @return Functor that executes @e _A_func on invokation.
5690 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
5691 inline bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5692 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
5693 { return bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
5695 /** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
5696 * @param _A_obj Pointer to object instance the functor should operate on.
5697 * @param _A_func Pointer to method that should be wrapped.
5698 * @return Functor that executes @e _A_func on invokation.
5702 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
5703 inline bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5704 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
5705 { return bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
5707 /** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
5708 * @param _A_obj Reference to object instance the functor should operate on.
5709 * @param _A_func Pointer to method that should be wrapped.
5710 * @return Functor that executes @e _A_func on invokation.
5714 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
5715 inline bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5716 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
5717 { return bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
5719 /** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
5720 * @param _A_obj Pointer to object instance the functor should operate on.
5721 * @param _A_func Pointer to method that should be wrapped.
5722 * @return Functor that executes @e _A_func on invokation.
5726 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
5727 inline bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5728 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
5729 { return bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
5731 /** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
5732 * @param _A_obj Reference to object instance the functor should operate on.
5733 * @param _A_func Pointer to method that should be wrapped.
5734 * @return Functor that executes @e _A_func on invokation.
5738 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
5739 inline bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5740 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
5741 { return bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
5743 /** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
5744 * @param _A_obj Pointer to object instance the functor should operate on.
5745 * @param _A_func Pointer to method that should be wrapped.
5746 * @return Functor that executes @e _A_func on invokation.
5750 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>
5751 inline bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5752 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
5753 { return bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
5755 /** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
5756 * @param _A_obj Reference to object instance the functor should operate on.
5757 * @param _A_func Pointer to method that should be wrapped.
5758 * @return Functor that executes @e _A_func on invokation.
5762 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>
5763 inline bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5764 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
5765 { return bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
5767 /** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
5768 * @param _A_obj Pointer to object instance the functor should operate on.
5769 * @param _A_func Pointer to method that should be wrapped.
5770 * @return Functor that executes @e _A_func on invokation.
5774 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>
5775 inline bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5776 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)
5777 { 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); }
5779 /** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
5780 * @param _A_obj Reference to object instance the functor should operate on.
5781 * @param _A_func Pointer to method that should be wrapped.
5782 * @return Functor that executes @e _A_func on invokation.
5786 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>
5787 inline bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5788 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)
5789 { 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); }
5791 /** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
5792 * @param _A_obj Pointer to object instance the functor should operate on.
5793 * @param _A_func Pointer to method that should be wrapped.
5794 * @return Functor that executes @e _A_func on invokation.
5798 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>
5799 inline bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5800 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)
5801 { 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); }
5803 /** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
5804 * @param _A_obj Reference to object instance the functor should operate on.
5805 * @param _A_func Pointer to method that should be wrapped.
5806 * @return Functor that executes @e _A_func on invokation.
5810 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>
5811 inline bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5812 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)
5813 { 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); }
5815 /** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
5816 * @param _A_obj Pointer to object instance the functor should operate on.
5817 * @param _A_func Pointer to method that should be wrapped.
5818 * @return Functor that executes @e _A_func on invokation.
5822 template <class T_return, class T_obj, class T_obj2>
5823 inline bound_volatile_mem_functor0<T_return, T_obj>
5824 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() volatile)
5825 { return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5827 /** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
5828 * @param _A_obj Reference to object instance the functor should operate on.
5829 * @param _A_func Pointer to method that should be wrapped.
5830 * @return Functor that executes @e _A_func on invokation.
5834 template <class T_return, class T_obj, class T_obj2>
5835 inline bound_volatile_mem_functor0<T_return, T_obj>
5836 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() volatile)
5837 { return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
5839 /** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
5840 * @param _A_obj Pointer to object instance the functor should operate on.
5841 * @param _A_func Pointer to method that should be wrapped.
5842 * @return Functor that executes @e _A_func on invokation.
5846 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5847 inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
5848 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
5849 { return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5851 /** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
5852 * @param _A_obj Reference to object instance the functor should operate on.
5853 * @param _A_func Pointer to method that should be wrapped.
5854 * @return Functor that executes @e _A_func on invokation.
5858 template <class T_arg1, class T_return, class T_obj, class T_obj2>
5859 inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
5860 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
5861 { return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
5863 /** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
5864 * @param _A_obj Pointer to object instance the functor should operate on.
5865 * @param _A_func Pointer to method that should be wrapped.
5866 * @return Functor that executes @e _A_func on invokation.
5870 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
5871 inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5872 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
5873 { return bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
5875 /** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
5876 * @param _A_obj Reference to object instance the functor should operate on.
5877 * @param _A_func Pointer to method that should be wrapped.
5878 * @return Functor that executes @e _A_func on invokation.
5882 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
5883 inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
5884 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
5885 { return bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
5887 /** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
5888 * @param _A_obj Pointer to object instance the functor should operate on.
5889 * @param _A_func Pointer to method that should be wrapped.
5890 * @return Functor that executes @e _A_func on invokation.
5894 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
5895 inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5896 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
5897 { return bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
5899 /** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
5900 * @param _A_obj Reference to object instance the functor should operate on.
5901 * @param _A_func Pointer to method that should be wrapped.
5902 * @return Functor that executes @e _A_func on invokation.
5906 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
5907 inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
5908 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
5909 { return bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
5911 /** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
5912 * @param _A_obj Pointer to object instance the functor should operate on.
5913 * @param _A_func Pointer to method that should be wrapped.
5914 * @return Functor that executes @e _A_func on invokation.
5918 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
5919 inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5920 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
5921 { return bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
5923 /** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
5924 * @param _A_obj Reference to object instance the functor should operate on.
5925 * @param _A_func Pointer to method that should be wrapped.
5926 * @return Functor that executes @e _A_func on invokation.
5930 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
5931 inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
5932 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
5933 { return bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
5935 /** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
5936 * @param _A_obj Pointer to object instance the functor should operate on.
5937 * @param _A_func Pointer to method that should be wrapped.
5938 * @return Functor that executes @e _A_func on invokation.
5942 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>
5943 inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5944 mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
5945 { return bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
5947 /** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
5948 * @param _A_obj Reference to object instance the functor should operate on.
5949 * @param _A_func Pointer to method that should be wrapped.
5950 * @return Functor that executes @e _A_func on invokation.
5954 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>
5955 inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
5956 mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
5957 { return bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
5959 /** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
5960 * @param _A_obj Pointer to object instance the functor should operate on.
5961 * @param _A_func Pointer to method that should be wrapped.
5962 * @return Functor that executes @e _A_func on invokation.
5966 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>
5967 inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5968 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)
5969 { 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); }
5971 /** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
5972 * @param _A_obj Reference to object instance the functor should operate on.
5973 * @param _A_func Pointer to method that should be wrapped.
5974 * @return Functor that executes @e _A_func on invokation.
5978 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>
5979 inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
5980 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)
5981 { 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); }
5983 /** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
5984 * @param _A_obj Pointer to object instance the functor should operate on.
5985 * @param _A_func Pointer to method that should be wrapped.
5986 * @return Functor that executes @e _A_func on invokation.
5990 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>
5991 inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
5992 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)
5993 { 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); }
5995 /** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
5996 * @param _A_obj Reference to object instance the functor should operate on.
5997 * @param _A_func Pointer to method that should be wrapped.
5998 * @return Functor that executes @e _A_func on invokation.
6002 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>
6003 inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
6004 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)
6005 { 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); }
6007 /** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
6008 * @param _A_obj Pointer to object instance the functor should operate on.
6009 * @param _A_func Pointer to method that should be wrapped.
6010 * @return Functor that executes @e _A_func on invokation.
6014 template <class T_return, class T_obj, class T_obj2>
6015 inline bound_const_volatile_mem_functor0<T_return, T_obj>
6016 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const volatile)
6017 { return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6019 /** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
6020 * @param _A_obj Reference to object instance the functor should operate on.
6021 * @param _A_func Pointer to method that should be wrapped.
6022 * @return Functor that executes @e _A_func on invokation.
6026 template <class T_return, class T_obj, class T_obj2>
6027 inline bound_const_volatile_mem_functor0<T_return, T_obj>
6028 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const volatile)
6029 { return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
6031 /** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
6032 * @param _A_obj Pointer to object instance the functor should operate on.
6033 * @param _A_func Pointer to method that should be wrapped.
6034 * @return Functor that executes @e _A_func on invokation.
6038 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6039 inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
6040 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
6041 { return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6043 /** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
6044 * @param _A_obj Reference to object instance the functor should operate on.
6045 * @param _A_func Pointer to method that should be wrapped.
6046 * @return Functor that executes @e _A_func on invokation.
6050 template <class T_arg1, class T_return, class T_obj, class T_obj2>
6051 inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
6052 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
6053 { return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
6055 /** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
6056 * @param _A_obj Pointer to object instance the functor should operate on.
6057 * @param _A_func Pointer to method that should be wrapped.
6058 * @return Functor that executes @e _A_func on invokation.
6062 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
6063 inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
6064 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
6065 { return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
6067 /** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
6068 * @param _A_obj Reference to object instance the functor should operate on.
6069 * @param _A_func Pointer to method that should be wrapped.
6070 * @return Functor that executes @e _A_func on invokation.
6074 template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
6075 inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
6076 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
6077 { return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
6079 /** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
6080 * @param _A_obj Pointer to object instance the functor should operate on.
6081 * @param _A_func Pointer to method that should be wrapped.
6082 * @return Functor that executes @e _A_func on invokation.
6086 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
6087 inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
6088 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
6089 { return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
6091 /** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
6092 * @param _A_obj Reference to object instance the functor should operate on.
6093 * @param _A_func Pointer to method that should be wrapped.
6094 * @return Functor that executes @e _A_func on invokation.
6098 template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
6099 inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
6100 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
6101 { return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
6103 /** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
6104 * @param _A_obj Pointer to object instance the functor should operate on.
6105 * @param _A_func Pointer to method that should be wrapped.
6106 * @return Functor that executes @e _A_func on invokation.
6110 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
6111 inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
6112 mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
6113 { return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
6115 /** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
6116 * @param _A_obj Reference to object instance the functor should operate on.
6117 * @param _A_func Pointer to method that should be wrapped.
6118 * @return Functor that executes @e _A_func on invokation.
6122 template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
6123 inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
6124 mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
6125 { return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
6127 /** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
6128 * @param _A_obj Pointer to object instance the functor should operate on.
6129 * @param _A_func Pointer to method that should be wrapped.
6130 * @return Functor that executes @e _A_func on invokation.
6134 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>
6135 inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
6136 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)
6137 { return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
6139 /** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
6140 * @param _A_obj Reference to object instance the functor should operate on.
6141 * @param _A_func Pointer to method that should be wrapped.
6142 * @return Functor that executes @e _A_func on invokation.
6146 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>
6147 inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
6148 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)
6149 { return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
6151 /** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
6152 * @param _A_obj Pointer to object instance the functor should operate on.
6153 * @param _A_func Pointer to method that should be wrapped.
6154 * @return Functor that executes @e _A_func on invokation.
6158 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>
6159 inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
6160 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)
6161 { 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); }
6163 /** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
6164 * @param _A_obj Reference to object instance the functor should operate on.
6165 * @param _A_func Pointer to method that should be wrapped.
6166 * @return Functor that executes @e _A_func on invokation.
6170 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>
6171 inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
6172 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)
6173 { 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); }
6175 /** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
6176 * @param _A_obj Pointer to object instance the functor should operate on.
6177 * @param _A_func Pointer to method that should be wrapped.
6178 * @return Functor that executes @e _A_func on invokation.
6182 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>
6183 inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
6184 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)
6185 { 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); }
6187 /** Creates a functor of type sigc::bound_const_volatile_mem_functor7 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_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>
6195 inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
6196 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)
6197 { 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); }
6200 } /* namespace sigc */
6201 #endif /* _SIGC_FUNCTORS_MACROS_MEM_FUNHM4_ */