summaryrefslogtreecommitdiff
path: root/libs/sigc++2/sigc++
diff options
context:
space:
mode:
Diffstat (limited to 'libs/sigc++2/sigc++')
-rw-r--r--libs/sigc++2/sigc++/.cvsignore4
-rw-r--r--libs/sigc++2/sigc++/Makefile.am97
-rw-r--r--libs/sigc++2/sigc++/adaptors/.cvsignore1
-rw-r--r--libs/sigc++2/sigc++/adaptors/adaptor_trait.h362
-rw-r--r--libs/sigc++2/sigc++/adaptors/adaptors.h32
-rw-r--r--libs/sigc++2/sigc++/adaptors/bind.h2262
-rw-r--r--libs/sigc++2/sigc++/adaptors/bind_return.h204
-rw-r--r--libs/sigc++2/sigc++/adaptors/compose.h294
-rw-r--r--libs/sigc++2/sigc++/adaptors/deduce_result_type.h121
-rw-r--r--libs/sigc++2/sigc++/adaptors/exception_catch.h319
-rw-r--r--libs/sigc++2/sigc++/adaptors/hide.h1063
-rw-r--r--libs/sigc++2/sigc++/adaptors/lambda/.cvsignore1
-rw-r--r--libs/sigc++2/sigc++/adaptors/lambda/base.h392
-rw-r--r--libs/sigc++2/sigc++/adaptors/lambda/group.h734
-rw-r--r--libs/sigc++2/sigc++/adaptors/lambda/lambda.cc15
-rw-r--r--libs/sigc++2/sigc++/adaptors/lambda/lambda.h28
-rw-r--r--libs/sigc++2/sigc++/adaptors/lambda/operator.h1697
-rw-r--r--libs/sigc++2/sigc++/adaptors/lambda/select.h346
-rw-r--r--libs/sigc++2/sigc++/adaptors/retype.h1247
-rw-r--r--libs/sigc++2/sigc++/adaptors/retype_return.h308
-rw-r--r--libs/sigc++2/sigc++/bind.h65
-rw-r--r--libs/sigc++2/sigc++/bind_return.h34
-rw-r--r--libs/sigc++2/sigc++/class_slot.h568
-rw-r--r--libs/sigc++2/sigc++/compatibility.h42
-rw-r--r--libs/sigc++2/sigc++/connection.cc111
-rw-r--r--libs/sigc++2/sigc++/connection.h154
-rw-r--r--libs/sigc++2/sigc++/functors/.cvsignore1
-rw-r--r--libs/sigc++2/sigc++/functors/functor_trait.h307
-rw-r--r--libs/sigc++2/sigc++/functors/functors.h27
-rw-r--r--libs/sigc++2/sigc++/functors/mem_fun.h5976
-rw-r--r--libs/sigc++2/sigc++/functors/ptr_fun.h542
-rw-r--r--libs/sigc++2/sigc++/functors/slot.cc25
-rw-r--r--libs/sigc++2/sigc++/functors/slot.h1263
-rw-r--r--libs/sigc++2/sigc++/functors/slot_base.cc165
-rw-r--r--libs/sigc++2/sigc++/functors/slot_base.h319
-rw-r--r--libs/sigc++2/sigc++/hide.h105
-rw-r--r--libs/sigc++2/sigc++/method_slot.h387
-rw-r--r--libs/sigc++2/sigc++/object.h35
-rw-r--r--libs/sigc++2/sigc++/object_slot.h536
-rw-r--r--libs/sigc++2/sigc++/reference_wrapper.h118
-rw-r--r--libs/sigc++2/sigc++/retype.h321
-rw-r--r--libs/sigc++2/sigc++/retype_return.h35
-rw-r--r--libs/sigc++2/sigc++/sigc++.h30
-rw-r--r--libs/sigc++2/sigc++/signal.cc25
-rw-r--r--libs/sigc++2/sigc++/signal.h3188
-rw-r--r--libs/sigc++2/sigc++/signal_base.cc151
-rw-r--r--libs/sigc++2/sigc++/signal_base.h261
-rw-r--r--libs/sigc++2/sigc++/slot.h614
-rw-r--r--libs/sigc++2/sigc++/trackable.cc124
-rw-r--r--libs/sigc++2/sigc++/trackable.h148
-rw-r--r--libs/sigc++2/sigc++/type_traits.h121
-rw-r--r--libs/sigc++2/sigc++/visit_each.h128
52 files changed, 0 insertions, 25453 deletions
diff --git a/libs/sigc++2/sigc++/.cvsignore b/libs/sigc++2/sigc++/.cvsignore
deleted file mode 100644
index 6f2fbbd6d8..0000000000
--- a/libs/sigc++2/sigc++/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-Makefile
-Makefile.in
-.deps
-*.os
diff --git a/libs/sigc++2/sigc++/Makefile.am b/libs/sigc++2/sigc++/Makefile.am
deleted file mode 100644
index 6f9af23e0b..0000000000
--- a/libs/sigc++2/sigc++/Makefile.am
+++ /dev/null
@@ -1,97 +0,0 @@
-# Base (./)
-base_m4 = template.macros.m4 signal.h.m4 slot.h.m4 method_slot.h.m4 \
- object_slot.h.m4 class_slot.h.m4 hide.h.m4 retype.h.m4
-base_built_cc =
-base_built_h = signal.h slot.h method_slot.h \
- object_slot.h class_slot.h hide.h retype.h
-
-signal.cc : signal.h signal_base.h functors/slot.h functors/slot_base.h functors/mem_fun.h functors/functor_trait.h
-
-# Functors (functors/)
-functors_m4 = functor_trait.h.m4 slot.h.m4 ptr_fun.h.m4 mem_fun.h.m4
-functors_built_cc =
-functors_built_h = functor_trait.h slot.h ptr_fun.h mem_fun.h
-
-functors/slot.cc : functors/slot.h functors/slot_base.h functors/functor_trait.h
-
-# Adaptors (adaptors/)
-adaptors_m4 = deduce_result_type.h.m4 adaptor_trait.h.m4 bind.h.m4 bind_return.h.m4 \
- retype_return.h.m4 hide.h.m4 retype.h.m4 compose.h.m4 exception_catch.h.m4
-adaptors_built_cc =
-adaptors_built_h = deduce_result_type.h adaptor_trait.h bind.h bind_return.h \
- retype_return.h hide.h retype.h compose.h exception_catch.h
-
-# Lambda (adaptors/lambda)
-lambda_m4 = base.h.m4 select.h.m4 operator.h.m4 group.h.m4 lambda.cc.m4
-lambda_built_cc = lambda.cc
-lambda_built_h = base.h select.h operator.h group.h
-
-adaptors/lambda/lambda.cc : adaptors/lambda/select.h adaptors/lambda/base.h \
- adaptors/adaptor_trait.h adaptors/deduce_result_type.h \
- functors/ptr_fun.h functors/mem_fun.h functors/functor_trait.h
-
-# Subdirectories needed also in the build dir
-build_subdirs = functors adaptors adaptors/lambda
-
-# Combine all the above parts with right directories prefixed
-sigc_m4 = $(base_m4:%=macros/%) \
- $(functors_m4:%=functors/macros/%) \
- $(adaptors_m4:%=adaptors/macros/%) \
- $(lambda_m4:%=adaptors/lambda/macros/%)
-sigc_built_cc = $(base_built_cc) \
- $(functors_built_cc:%=functors/%) \
- $(adaptors_built_cc:%=adaptors/%) \
- $(lambda_built_cc:%=adaptors/lambda/%)
-sigc_built_h = $(base_built_h) \
- $(functors_built_h:%=functors/%) \
- $(adaptors_built_h:%=adaptors/%) \
- $(lambda_built_h:%=adaptors/lambda/%)
-
-EXTRA_DIST = $(sigc_m4) $(sigc_built_h) $(sigc_built_cc)
-
-# install the headers
-library_includedir = $(includedir)/sigc++-2.0/sigc++
-nobase_library_include_HEADERS = $(sigc_m4) $(sigc_built_h) \
- sigc++.h connection.h trackable.h reference_wrapper.h type_traits.h visit_each.h \
- object.h retype_return.h bind.h bind_return.h compatibility.h signal_base.h \
- functors/functors.h \
- functors/slot_base.h \
- adaptors/adaptors.h \
- adaptors/lambda/lambda.h
-
-# build the library
-#lib_LTLIBRARIES = libsigc-2.0.la
-#libsigc_2_0_la_SOURCES = signal.cc signal_base.cc trackable.cc connection.cc \
- functors/slot.cc functors/slot_base.cc \
- adaptors/lambda/lambda.cc
-#libsigc_2_0_la_LDFLAGS =
-
-BUILT_SOURCES = $(sigc_built_h) $(sigc_built_cc)
-
-CLEANFILES = build-subdirs-stamp
-
-# Remove the generated sources during maintainer-clean:
-MAINTAINERCLEANFILES = $(built_sources)
-
-M4_DIR = $(top_srcdir)/sigc++/macros
-
-# Rules to generate .h and .cc from .h.m4 and .cc.m4:
-%.h: macros/%.h.m4 $(M4_DIR)/template.macros.m4
- $(M4) $(M4_INCLUDES) $(DEFINES) -I $(M4_DIR) -I macros $< > $@
-
-%.cc: macros/%.cc.m4 $(M4_DIR)/template.macros.m4
- $(M4) $(M4_INCLUDES) $(DEFINES) -I $(M4_DIR) -I macros $< > $@
-
-# This would be a necessary target for VPATH builds from a clean CVS checkout,
-# but I'm not sure where to invoke it... [rotty]
-build-subdirs-stamp:
- for dir in $(build_subdirs); do \
- test -d $$dir || mkdir $$dir; \
- done
- touch build-subdirs-stamp
-
-# Remove current directory from DEFAULT_INCLUDES because signal.h has
-# the same name as a standard header:
-DEFAULT_INCLUDES =
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
-
diff --git a/libs/sigc++2/sigc++/adaptors/.cvsignore b/libs/sigc++2/sigc++/adaptors/.cvsignore
deleted file mode 100644
index 1edeb79fd1..0000000000
--- a/libs/sigc++2/sigc++/adaptors/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.os
diff --git a/libs/sigc++2/sigc++/adaptors/adaptor_trait.h b/libs/sigc++2/sigc++/adaptors/adaptor_trait.h
deleted file mode 100644
index 8b618d7450..0000000000
--- a/libs/sigc++2/sigc++/adaptors/adaptor_trait.h
+++ /dev/null
@@ -1,362 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_ADAPTORS_MACROS_ADAPTOR_TRAITHM4_
-#define _SIGC_ADAPTORS_MACROS_ADAPTOR_TRAITHM4_
-#include <sigc++config.h> //To get SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD
-#include <sigc++/visit_each.h>
-#include <sigc++/functors/functor_trait.h>
-#include <sigc++/functors/ptr_fun.h>
-#include <sigc++/functors/mem_fun.h>
-#include <sigc++/adaptors/deduce_result_type.h>
-
-namespace sigc {
-
-// Call either operator()<>() or sun_forte_workaround<>(),
-// depending on the compiler:
-#ifdef SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- #define SIGC_WORKAROUND_OPERATOR_PARENTHESES template operator()
- #define SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-#else
- #ifdef SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- #define SIGC_WORKAROUND_OPERATOR_PARENTHESES operator()
- #define SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- #else
- #define SIGC_WORKAROUND_OPERATOR_PARENTHESES sun_forte_workaround
- #endif
-#endif
-
-
-template <class T_functor> struct adapts;
-
-/** @defgroup adaptors Adaptors
- * Adaptors are functors that alter the signature of a functor's
- * operator()().
- *
- * The adaptor types libsigc++ provides
- * are created with bind(), bind_return(), hide(), hide_return(),
- * retype_return(), retype(), compose(), exception_catch() and group().
- *
- * You can easily derive your own adaptor type from sigc::adapts.
- */
-
-/** Converts an arbitrary functor into an adaptor type.
- * All adaptor tyes in libsigc++ are unnumbered and have
- * a <tt>template operator()</tt> member of every argument count
- * they support. These functions in turn invoke a stored adaptor's
- * <tt>template operator()</tt> processing the arguments and return
- * value in a characteristic manner. Explicit function template
- * instantiation is used to pass type hints thus saving copy costs.
- *
- * adaptor_functor is a glue between adaptors and arbitrary functors
- * that just passes on the arguments. You won't use this type directly.
- *
- * The template argument @e T_functor determines the type of stored
- * functor.
- *
- * @ingroup adaptors
- */
-template <class T_functor>
-struct adaptor_functor : public adaptor_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename sigc::deduce_result_type<T_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type; };
- typedef typename functor_trait<T_functor>::result_type result_type;
-
- /** Invokes the wrapped functor passing on the arguments.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()() const;
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- result_type sun_forte_workaround() const
- { return operator(); }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1) const
- { return functor_(_A_arg1); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1) const
- { //Just calling operator() tries to copy the argument:
- return functor_(_A_arg1);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2) const
- { return functor_(_A_arg1,_A_arg2); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2) const
- { //Just calling operator() tries to copy the argument:
- return functor_(_A_arg1,_A_arg2);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3) const
- { return functor_(_A_arg1,_A_arg2,_A_arg3); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3) const
- { //Just calling operator() tries to copy the argument:
- return functor_(_A_arg1,_A_arg2,_A_arg3);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4) const
- { return functor_(_A_arg1,_A_arg2,_A_arg3,_A_arg4); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4) const
- { //Just calling operator() tries to copy the argument:
- return functor_(_A_arg1,_A_arg2,_A_arg3,_A_arg4);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5) const
- { return functor_(_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5) const
- { //Just calling operator() tries to copy the argument:
- return functor_(_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6) const
- { return functor_(_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5,_A_arg6); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6) const
- { //Just calling operator() tries to copy the argument:
- return functor_(_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5,_A_arg6);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @param _A_arg7 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6,T_arg7 _A_arg7) const
- { return functor_(_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5,_A_arg6,_A_arg7); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6,T_arg7 _A_arg7) const
- { //Just calling operator() tries to copy the argument:
- return functor_(_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5,_A_arg6,_A_arg7);
- }
- #endif
-
- /// Constructs an invalid functor.
- adaptor_functor()
- {}
-
- /** Constructs an adaptor_functor object that wraps the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit adaptor_functor(const T_functor& _A_functor)
- : functor_(_A_functor)
- {}
-
- /** Constructs an adaptor_functor object that wraps the passed (member)
- * function pointer.
- * @param _A_type Pointer to function or class method to invoke from operator()().
- */
- template <class T_type>
- explicit adaptor_functor(const T_type& _A_type)
- : functor_(_A_type)
- {}
-
- /// Functor that is invoked from operator()().
- mutable T_functor functor_;
-};
-
-template <class T_functor>
-typename adaptor_functor<T_functor>::result_type
-adaptor_functor<T_functor>::operator()() const
- { return functor_(); }
-
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::adaptor_functor performs a functor
- * on the functor stored in the sigc::adaptor_functor object.
- *
- * @ingroup adaptors
- */
-template <class T_action, class T_functor>
-void visit_each(const T_action& _A_action,
- const adaptor_functor<T_functor>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
-}
-
-
-/** Trait that specifies what is the adaptor version of a functor type.
- * Template specializations for sigc::adaptor_base derived functors,
- * for function pointers and for class methods are provided.
- *
- * The template argument @e T_functor is the functor type to convert.
- * @e I_isadaptor indicates whether @e T_functor inherits from sigc::adaptor_base.
- *
- * @ingroup adaptors
- */
-template <class T_functor, bool I_isadaptor = is_base_and_derived<adaptor_base, T_functor>::value> struct adaptor_trait;
-
-/** Trait that specifies what is the adaptor version of a functor type.
- * This template specialization is used for types that inherit from adaptor_base.
- * adaptor_type is equal to @p T_functor in this case.
- */
-template <class T_functor>
-struct adaptor_trait<T_functor, true>
-{
- typedef typename T_functor::result_type result_type;
- typedef T_functor functor_type;
- typedef T_functor adaptor_type;
-};
-
-/** Trait that specifies what is the adaptor version of a functor type.
- * This template specialization is used for arbitrary functors,
- * for function pointers and for class methods are provided.
- * The latter are converted into @p pointer_functor or @p mem_functor types.
- * adaptor_type is equal to @p adaptor_functor<functor_type>.
- */
-template <class T_functor>
-struct adaptor_trait<T_functor, false>
-{
- typedef typename functor_trait<T_functor>::result_type result_type;
- typedef typename functor_trait<T_functor>::functor_type functor_type;
- typedef adaptor_functor<functor_type> adaptor_type;
-};
-
-
-/** Base type for adaptors.
- * adapts wraps adaptors, functors, function pointers and class methods.
- * It contains a single member functor which is always a sigc::adaptor_base.
- * The typedef adaptor_type defines the exact type that is used
- * to store the adaptor, functor, function pointer or class method passed
- * into the constructor. It differs from @e T_functor unless @e T_functor
- * inherits from sigc::adaptor_base.
- *
- * @par Example of a simple adaptor:
- * @code
- * template <T_functor>
- * struct my_adpator : public sigc::adapts<T_functor>
- * {
- * template <class T_arg1=void, class T_arg2=void>
- * struct deduce_result_type
- * { typedef typename sigc::deduce_result_type<T_functor, T_arg1, T_arg2>::type type; };
- * typedef typename sigc::functor_trait<T_functor>::result_type result_type;
- *
- * result_type
- * operator()() const;
- *
- * template <class T_arg1>
- * typename deduce_result_type<T_arg1>::type
- * operator()(T_arg1 _A_arg1) const;
- *
- * template <class T_arg1, class T_arg2>
- * typename deduce_result_type<T_arg1, T_arg2>::type
- * operator()(T_arg1 _A_arg1, class T_arg2) const;
- *
- * explicit adaptor_functor(const T_functor& _A_functor) // Constructs a my_functor object that wraps the passed functor.
- * : sigc::adapts<T_functor>(_A_functor) {}
- *
- * mutable T_functor functor_; // Functor that is invoked from operator()().
- * };
- * @endcode
- *
- * @ingroup adaptors
- */
-template <class T_functor>
-struct adapts : public adaptor_base
-{
- typedef typename adaptor_trait<T_functor>::result_type result_type;
- typedef typename adaptor_trait<T_functor>::adaptor_type adaptor_type;
-
- /** Constructs an adaptor that wraps the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit adapts(const T_functor& _A_functor)
- : functor_(_A_functor)
- {}
-
- /// Adaptor that is invoked from operator()().
- mutable adaptor_type functor_;
-};
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_ADAPTOR_TRAITHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/adaptors.h b/libs/sigc++2/sigc++/adaptors/adaptors.h
deleted file mode 100644
index 950063b122..0000000000
--- a/libs/sigc++2/sigc++/adaptors/adaptors.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_ADAPTOR_HPP_
-#define _SIGC_ADAPTOR_HPP_
-
-#include <sigc++/adaptors/bind.h>
-#include <sigc++/adaptors/bind_return.h>
-#include <sigc++/adaptors/hide.h>
-#include <sigc++/adaptors/retype_return.h>
-#include <sigc++/adaptors/retype.h>
-#include <sigc++/adaptors/compose.h>
-#include <sigc++/adaptors/exception_catch.h>
-#include <sigc++/adaptors/lambda/lambda.h>
-
-#endif /* _SIGC_ADAPTOR_HPP_ */
diff --git a/libs/sigc++2/sigc++/adaptors/bind.h b/libs/sigc++2/sigc++/adaptors/bind.h
deleted file mode 100644
index 180a5f26e7..0000000000
--- a/libs/sigc++2/sigc++/adaptors/bind.h
+++ /dev/null
@@ -1,2262 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_ADAPTORS_MACROS_BINDHM4_
-#define _SIGC_ADAPTORS_MACROS_BINDHM4_
-#include <sigc++/adaptors/adaptor_trait.h>
-
-namespace sigc {
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-
-namespace internal {
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-struct count_void
- { static const int value=0; };
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-struct count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,void>
- { static const int value=1; };
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-struct count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,void,void>
- { static const int value=2; };
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-struct count_void<T_arg1,T_arg2,T_arg3,T_arg4,void,void,void>
- { static const int value=3; };
-template <class T_arg1,class T_arg2,class T_arg3>
-struct count_void<T_arg1,T_arg2,T_arg3,void,void,void,void>
- { static const int value=4; };
-template <class T_arg1,class T_arg2>
-struct count_void<T_arg1,T_arg2,void,void,void,void,void>
- { static const int value=5; };
-template <class T_arg1>
-struct count_void<T_arg1,void,void,void,void,void,void>
- { static const int value=6; };
-template <>
-struct count_void<void,void,void,void,void,void,void>
- { static const int value=7; };
-
-} /* namespace internal */
-
-#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
-
-
-/** @defgroup bind bind(), bind_return()
- * sigc::bind() alters an arbitrary functor by fixing arguments to certain values.
- * Up to 7 arguments can be bound at a time.
- * For single argument binding overloads of sigc::bind() are provided that let you
- * specify the zero-based position of the argument to fix with the first template parameter.
- * (A value of @p -1 fixes the last argument so sigc::bind<-1>() gives the same result as sigc::bind().)
- * The types of the arguments can optionally be specified if not deduced.
- *
- * @par Examples:
- * @code
- * void foo(int, int, int);
- * // single argument binding ...
- * sigc::bind(&foo,1)(2,3); //fixes the last (third) argument and calls foo(2,3,1)
- * sigc::bind<-1>(&foo,1)(2,3); //same as bind(&foo,1)(2,3) (calls foo(2,3,1))
- * sigc::bind<0>(&foo,1)(2,3); //fixes the first argument and calls foo(1,2,3)
- * sigc::bind<1>(&foo,1)(2,3); //fixes the second argument and calls foo(2,1,3)
- * sigc::bind<2>(&foo,1)(2,3); //fixes the third argument and calls foo(2,3,1)
- * // multi argument binding ...
- * sigc::bind(&foo,1,2)(3); //fixes the last two arguments and calls foo(3,1,2)
- * sigc::bind(&foo,1,2,3)(); //fixes all three arguments and calls foo(1,2,3)
- * @endcode
- *
- * The functor sigc::bind() returns can be passed into
- * sigc::signal::connect() directly.
- *
- * @par Example:
- * @code
- * sigc::signal<void> some_signal;
- * void foo(int);
- * some_signal.connect(sigc::bind(&foo,1));
- * @endcode
- *
- * sigc::bind_return() alters an arbitrary functor by
- * fixing its return value to a certain value.
- *
- * @par Example:
- * @code
- * void foo();
- * std::cout << sigc::bind_return(&foo, 5)(); // calls foo() and returns 5
- * @endcode
- *
- * You can bind references to functors by passing the objects through
- * the sigc::ref() helper function.
- *
- * @par Example:
- * @code
- * int some_int;
- * sigc::signal<void> some_signal;
- * void foo(int&);
- * some_signal.connect(sigc::bind(&foo,sigc::ref(some_int)));
- * @endcode
- *
- * If you bind an object of a sigc::trackable derived type to a functor
- * by reference, a slot assigned to the bind adaptor is cleared automatically
- * when the object goes out of scope.
- *
- * @par Example:
- * @code
- * struct bar : public sigc::trackable {} some_bar;
- * sigc::signal<void> some_signal;
- * void foo(bar&);
- * some_signal.connect(sigc::bind(&foo,sigc::ref(some_bar)));
- * // disconnected automatically if some_bar goes out of scope
- * @endcode
- *
- * For a more powerful version of this functionality see the lambda
- * library adaptor sigc::group() which can bind, hide and reorder
- * arguments arbitrarily. Although sigc::group() is more flexible,
- * sigc::bind() provides a means of binding parameters when then total
- * number of parameters called is variable.
- *
- * @ingroup adaptors
- */
-
-/** Adaptor that binds an argument to the wrapped functor.
- * Use the convenience function sigc::bind() to create an instance of sigc::bind_functor.
- *
- * The following template arguments are used:
- * - @e I_location Zero-based position of the argument to fix (@p -1 for the last argument).
-
- * - @e T_type1 Type of the 1st bound argument.
- * - @e T_type2 Type of the 2st bound argument.
- * - @e T_type3 Type of the 3st bound argument.
- * - @e T_type4 Type of the 4st bound argument.
- * - @e T_type5 Type of the 5st bound argument.
- * - @e T_type6 Type of the 6st bound argument.
- * - @e T_type7 Type of the 7st bound argument.
- * - @e T_functor Type of the functor to wrap.
- *
- * @ingroup bind
- */
-template <int I_location, class T_functor, class T_type1=nil_,class T_type2=nil_,class T_type3=nil_,class T_type4=nil_,class T_type5=nil_,class T_type6=nil_,class T_type7=nil_>
-struct bind_functor;
-
-/** Adaptor that binds an argument to the wrapped functor.
- * This template specialization fixes the 1th argument of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_bound>
-struct bind_functor<0, T_functor, T_bound> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 1th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass>
- (bound_, _A_arg1);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass>
- (bound_, _A_arg1);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 1th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass>
- (bound_, _A_arg1, _A_arg2);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass>
- (bound_, _A_arg1, _A_arg2);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 1th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (bound_, _A_arg1, _A_arg2, _A_arg3);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (bound_, _A_arg1, _A_arg2, _A_arg3);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 1th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (bound_, _A_arg1, _A_arg2, _A_arg3, _A_arg4);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (bound_, _A_arg1, _A_arg2, _A_arg3, _A_arg4);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 1th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (bound_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (bound_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 1th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (bound_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5, _A_arg6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass, typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (bound_, _A_arg1, _A_arg2, _A_arg3, _A_arg4, _A_arg5, _A_arg6);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_bound>::take _A_bound)
- : adapts<T_functor>(_A_func), bound_(_A_bound)
- {}
-
- /// The argument bound to the functor.
- T_bound bound_;
-};
-
-template <class T_functor, class T_bound>
-typename bind_functor<0, T_functor, T_bound>::result_type
-bind_functor<0, T_functor, T_bound>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass> (bound_); }
-
-/** Adaptor that binds an argument to the wrapped functor.
- * This template specialization fixes the 2th argument of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_bound>
-struct bind_functor<1, T_functor, T_bound> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1, bound_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1, bound_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass>
- (_A_arg1, bound_, _A_arg2);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass>
- (_A_arg1, bound_, _A_arg2);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (_A_arg1, bound_, _A_arg2, _A_arg3);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (_A_arg1, bound_, _A_arg2, _A_arg3);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_arg1, bound_, _A_arg2, _A_arg3, _A_arg4);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_arg1, bound_, _A_arg2, _A_arg3, _A_arg4);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_arg1, bound_, _A_arg2, _A_arg3, _A_arg4, _A_arg5);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_arg1, bound_, _A_arg2, _A_arg3, _A_arg4, _A_arg5);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1, bound_, _A_arg2, _A_arg3, _A_arg4, _A_arg5, _A_arg6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1, bound_, _A_arg2, _A_arg3, _A_arg4, _A_arg5, _A_arg6);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_bound>::take _A_bound)
- : adapts<T_functor>(_A_func), bound_(_A_bound)
- {}
-
- /// The argument bound to the functor.
- T_bound bound_;
-};
-
-template <class T_functor, class T_bound>
-typename bind_functor<1, T_functor, T_bound>::result_type
-bind_functor<1, T_functor, T_bound>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass> (bound_); }
-
-/** Adaptor that binds an argument to the wrapped functor.
- * This template specialization fixes the 3th argument of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_bound>
-struct bind_functor<2, T_functor, T_bound> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2, bound_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2, bound_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass>
- (_A_arg1,_A_arg2, bound_, _A_arg3);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass>
- (_A_arg1,_A_arg2, bound_, _A_arg3);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_arg1,_A_arg2, bound_, _A_arg3, _A_arg4);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_arg1,_A_arg2, bound_, _A_arg3, _A_arg4);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_arg1,_A_arg2, bound_, _A_arg3, _A_arg4, _A_arg5);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_arg1,_A_arg2, bound_, _A_arg3, _A_arg4, _A_arg5);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1,_A_arg2, bound_, _A_arg3, _A_arg4, _A_arg5, _A_arg6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1,_A_arg2, bound_, _A_arg3, _A_arg4, _A_arg5, _A_arg6);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_bound>::take _A_bound)
- : adapts<T_functor>(_A_func), bound_(_A_bound)
- {}
-
- /// The argument bound to the functor.
- T_bound bound_;
-};
-
-template <class T_functor, class T_bound>
-typename bind_functor<2, T_functor, T_bound>::result_type
-bind_functor<2, T_functor, T_bound>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass> (bound_); }
-
-/** Adaptor that binds an argument to the wrapped functor.
- * This template specialization fixes the 4th argument of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_bound>
-struct bind_functor<3, T_functor, T_bound> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 4th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 4th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg4>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound_, _A_arg4);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg4>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound_, _A_arg4);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 4th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound_, _A_arg4, _A_arg5);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound_, _A_arg4, _A_arg5);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 4th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound_, _A_arg4, _A_arg5, _A_arg6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound_, _A_arg4, _A_arg5, _A_arg6);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_bound>::take _A_bound)
- : adapts<T_functor>(_A_func), bound_(_A_bound)
- {}
-
- /// The argument bound to the functor.
- T_bound bound_;
-};
-
-template <class T_functor, class T_bound>
-typename bind_functor<3, T_functor, T_bound>::result_type
-bind_functor<3, T_functor, T_bound>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass> (bound_); }
-
-/** Adaptor that binds an argument to the wrapped functor.
- * This template specialization fixes the 5th argument of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_bound>
-struct bind_functor<4, T_functor, T_bound> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 5th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 5th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg5>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound_, _A_arg5);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg5>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound_, _A_arg5);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 5th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound_, _A_arg5, _A_arg6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound_, _A_arg5, _A_arg6);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_bound>::take _A_bound)
- : adapts<T_functor>(_A_func), bound_(_A_bound)
- {}
-
- /// The argument bound to the functor.
- T_bound bound_;
-};
-
-template <class T_functor, class T_bound>
-typename bind_functor<4, T_functor, T_bound>::result_type
-bind_functor<4, T_functor, T_bound>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass> (bound_); }
-
-/** Adaptor that binds an argument to the wrapped functor.
- * This template specialization fixes the 6th argument of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_bound>
-struct bind_functor<5, T_functor, T_bound> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg6>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 6th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5, bound_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5, bound_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 6th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5, bound_, _A_arg6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_bound>::pass, typename type_trait<T_arg6>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5, bound_, _A_arg6);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_bound>::take _A_bound)
- : adapts<T_functor>(_A_func), bound_(_A_bound)
- {}
-
- /// The argument bound to the functor.
- T_bound bound_;
-};
-
-template <class T_functor, class T_bound>
-typename bind_functor<5, T_functor, T_bound>::result_type
-bind_functor<5, T_functor, T_bound>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass> (bound_); }
-
-/** Adaptor that binds an argument to the wrapped functor.
- * This template specialization fixes the 7th argument of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_bound>
-struct bind_functor<6, T_functor, T_bound> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass, typename type_trait<T_bound>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * bound_ is passed as the 7th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5,_A_arg6, bound_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass, typename type_trait<T_bound>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5,_A_arg6, bound_);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_bound>::take _A_bound)
- : adapts<T_functor>(_A_func), bound_(_A_bound)
- {}
-
- /// The argument bound to the functor.
- T_bound bound_;
-};
-
-template <class T_functor, class T_bound>
-typename bind_functor<6, T_functor, T_bound>::result_type
-bind_functor<6, T_functor, T_bound>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_bound>::pass> (bound_); }
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_functor performs a functor on the
- * functor and on the object instances stored in the sigc::bind_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, int T_loc, class T_functor, class T_bound>
-void visit_each(const T_action& _A_action,
- const bind_functor<T_loc, T_functor, T_bound>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.bound_);
-}
-
-/** Adaptor that binds 1 argument(s) to the wrapped functor.
- * This template specialization fixes the last 1 argument(s) of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_type1>
-struct bind_functor<-1, T_functor, T_type1> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- template <int count, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass, typename type_trait<T_type1>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_type1>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<3, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<4, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<5, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<6, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass>::type type; };
-#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type {
- typedef typename deduce_result_type_internal<internal::count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::value,
- T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type;
- };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 1 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1, bound1_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1, bound1_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 1 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2, bound1_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2, bound1_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 1 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound1_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound1_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 1 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound1_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound1_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 1 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5, bound1_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5, bound1_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 1 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5,_A_arg6, bound1_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5,T_arg6 _A_arg6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass, typename type_trait<T_type1>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5,_A_arg6, bound1_);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_bound1)
- : adapts<T_functor>(_A_func), bound1_(_A_bound1)
- {}
-
- /// The argument bound to the functor.
- T_type1 bound1_;
-};
-
-template <class T_functor, class T_type1>
-typename bind_functor<-1, T_functor, T_type1>::result_type
-bind_functor<-1, T_functor, T_type1>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::pass> (bound1_); }
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_functor performs a functor on the
- * functor and on the object instances stored in the sigc::bind_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, class T_functor, class T_type1>
-void visit_each(const T_action& _A_action,
- const bind_functor<-1, T_functor, T_type1>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.bound1_);
-}
-
-/** Adaptor that binds 2 argument(s) to the wrapped functor.
- * This template specialization fixes the last 2 argument(s) of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_type1,class T_type2>
-struct bind_functor<-1, T_functor, T_type1,T_type2> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- template <int count, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<3, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<4, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<5, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<6, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>::type type; };
-#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type {
- typedef typename deduce_result_type_internal<internal::count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::value,
- T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type;
- };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 2 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1, bound1_,bound2_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1, bound1_,bound2_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 2 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1,_A_arg2, bound1_,bound2_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1,_A_arg2, bound1_,bound2_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 2 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound1_,bound2_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound1_,bound2_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 2 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound1_,bound2_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound1_,bound2_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 2 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5, bound1_,bound2_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4,T_arg5 _A_arg5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4,_A_arg5, bound1_,bound2_);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_bound1,typename type_trait<T_type2>::take _A_bound2)
- : adapts<T_functor>(_A_func), bound1_(_A_bound1),bound2_(_A_bound2)
- {}
-
- /// The argument bound to the functor.
- T_type1 bound1_;
- T_type2 bound2_;
-};
-
-template <class T_functor, class T_type1,class T_type2>
-typename bind_functor<-1, T_functor, T_type1,T_type2>::result_type
-bind_functor<-1, T_functor, T_type1,T_type2>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass> (bound1_,bound2_); }
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_functor performs a functor on the
- * functor and on the object instances stored in the sigc::bind_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, class T_functor, class T_type1,class T_type2>
-void visit_each(const T_action& _A_action,
- const bind_functor<-1, T_functor, T_type1,T_type2>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.bound1_);
- visit_each(_A_action, _A_target.bound2_);
-}
-
-/** Adaptor that binds 3 argument(s) to the wrapped functor.
- * This template specialization fixes the last 3 argument(s) of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_type1,class T_type2,class T_type3>
-struct bind_functor<-1, T_functor, T_type1,T_type2,T_type3> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- template <int count, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<4, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<5, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<6, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>::type type; };
-#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type {
- typedef typename deduce_result_type_internal<internal::count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::value,
- T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type;
- };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 3 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>
- (_A_arg1, bound1_,bound2_,bound3_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>
- (_A_arg1, bound1_,bound2_,bound3_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 3 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>
- (_A_arg1,_A_arg2, bound1_,bound2_,bound3_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>
- (_A_arg1,_A_arg2, bound1_,bound2_,bound3_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 3 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound1_,bound2_,bound3_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound1_,bound2_,bound3_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 3 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound1_,bound2_,bound3_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3,T_arg4 _A_arg4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass>
- (_A_arg1,_A_arg2,_A_arg3,_A_arg4, bound1_,bound2_,bound3_);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_bound1,typename type_trait<T_type2>::take _A_bound2,typename type_trait<T_type3>::take _A_bound3)
- : adapts<T_functor>(_A_func), bound1_(_A_bound1),bound2_(_A_bound2),bound3_(_A_bound3)
- {}
-
- /// The argument bound to the functor.
- T_type1 bound1_;
- T_type2 bound2_;
- T_type3 bound3_;
-};
-
-template <class T_functor, class T_type1,class T_type2,class T_type3>
-typename bind_functor<-1, T_functor, T_type1,T_type2,T_type3>::result_type
-bind_functor<-1, T_functor, T_type1,T_type2,T_type3>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass> (bound1_,bound2_,bound3_); }
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_functor performs a functor on the
- * functor and on the object instances stored in the sigc::bind_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, class T_functor, class T_type1,class T_type2,class T_type3>
-void visit_each(const T_action& _A_action,
- const bind_functor<-1, T_functor, T_type1,T_type2,T_type3>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.bound1_);
- visit_each(_A_action, _A_target.bound2_);
- visit_each(_A_action, _A_target.bound3_);
-}
-
-/** Adaptor that binds 4 argument(s) to the wrapped functor.
- * This template specialization fixes the last 4 argument(s) of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4>
-struct bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- template <int count, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<5, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<6, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>::type type; };
-#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type {
- typedef typename deduce_result_type_internal<internal::count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::value,
- T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type;
- };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 4 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>
- (_A_arg1, bound1_,bound2_,bound3_,bound4_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>
- (_A_arg1, bound1_,bound2_,bound3_,bound4_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 4 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>
- (_A_arg1,_A_arg2, bound1_,bound2_,bound3_,bound4_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>
- (_A_arg1,_A_arg2, bound1_,bound2_,bound3_,bound4_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 4 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound1_,bound2_,bound3_,bound4_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2,T_arg3 _A_arg3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass>
- (_A_arg1,_A_arg2,_A_arg3, bound1_,bound2_,bound3_,bound4_);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_bound1,typename type_trait<T_type2>::take _A_bound2,typename type_trait<T_type3>::take _A_bound3,typename type_trait<T_type4>::take _A_bound4)
- : adapts<T_functor>(_A_func), bound1_(_A_bound1),bound2_(_A_bound2),bound3_(_A_bound3),bound4_(_A_bound4)
- {}
-
- /// The argument bound to the functor.
- T_type1 bound1_;
- T_type2 bound2_;
- T_type3 bound3_;
- T_type4 bound4_;
-};
-
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4>
-typename bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4>::result_type
-bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass> (bound1_,bound2_,bound3_,bound4_); }
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_functor performs a functor on the
- * functor and on the object instances stored in the sigc::bind_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, class T_functor, class T_type1,class T_type2,class T_type3,class T_type4>
-void visit_each(const T_action& _A_action,
- const bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.bound1_);
- visit_each(_A_action, _A_target.bound2_);
- visit_each(_A_action, _A_target.bound3_);
- visit_each(_A_action, _A_target.bound4_);
-}
-
-/** Adaptor that binds 5 argument(s) to the wrapped functor.
- * This template specialization fixes the last 5 argument(s) of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5>
-struct bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- template <int count, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass>::type type; };
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal<6, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass>::type type; };
-#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type {
- typedef typename deduce_result_type_internal<internal::count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::value,
- T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type;
- };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 5 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass>
- (_A_arg1, bound1_,bound2_,bound3_,bound4_,bound5_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass>
- (_A_arg1, bound1_,bound2_,bound3_,bound4_,bound5_);
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 5 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass>
- (_A_arg1,_A_arg2, bound1_,bound2_,bound3_,bound4_,bound5_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_arg1,T_arg2 _A_arg2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass>
- (_A_arg1,_A_arg2, bound1_,bound2_,bound3_,bound4_,bound5_);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_bound1,typename type_trait<T_type2>::take _A_bound2,typename type_trait<T_type3>::take _A_bound3,typename type_trait<T_type4>::take _A_bound4,typename type_trait<T_type5>::take _A_bound5)
- : adapts<T_functor>(_A_func), bound1_(_A_bound1),bound2_(_A_bound2),bound3_(_A_bound3),bound4_(_A_bound4),bound5_(_A_bound5)
- {}
-
- /// The argument bound to the functor.
- T_type1 bound1_;
- T_type2 bound2_;
- T_type3 bound3_;
- T_type4 bound4_;
- T_type5 bound5_;
-};
-
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5>
-typename bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5>::result_type
-bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass> (bound1_,bound2_,bound3_,bound4_,bound5_); }
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_functor performs a functor on the
- * functor and on the object instances stored in the sigc::bind_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5>
-void visit_each(const T_action& _A_action,
- const bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.bound1_);
- visit_each(_A_action, _A_target.bound2_);
- visit_each(_A_action, _A_target.bound3_);
- visit_each(_A_action, _A_target.bound4_);
- visit_each(_A_action, _A_target.bound5_);
-}
-
-/** Adaptor that binds 6 argument(s) to the wrapped functor.
- * This template specialization fixes the last 6 argument(s) of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6>
-struct bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- template <int count, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass,typename type_trait<T_type6>::pass>::type type; };
-#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type {
- typedef typename deduce_result_type_internal<internal::count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::value,
- T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type;
- };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Invokes the wrapped functor passing on the arguments.
- * The last 6 argument(s) are fixed.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass,typename type_trait<T_type6>::pass>
- (_A_arg1, bound1_,bound2_,bound3_,bound4_,bound5_,bound6_);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_arg1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass,typename type_trait<T_type6>::pass>
- (_A_arg1, bound1_,bound2_,bound3_,bound4_,bound5_,bound6_);
- }
- #endif
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_bound1,typename type_trait<T_type2>::take _A_bound2,typename type_trait<T_type3>::take _A_bound3,typename type_trait<T_type4>::take _A_bound4,typename type_trait<T_type5>::take _A_bound5,typename type_trait<T_type6>::take _A_bound6)
- : adapts<T_functor>(_A_func), bound1_(_A_bound1),bound2_(_A_bound2),bound3_(_A_bound3),bound4_(_A_bound4),bound5_(_A_bound5),bound6_(_A_bound6)
- {}
-
- /// The argument bound to the functor.
- T_type1 bound1_;
- T_type2 bound2_;
- T_type3 bound3_;
- T_type4 bound4_;
- T_type5 bound5_;
- T_type6 bound6_;
-};
-
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6>
-typename bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6>::result_type
-bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass,typename type_trait<T_type6>::pass> (bound1_,bound2_,bound3_,bound4_,bound5_,bound6_); }
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_functor performs a functor on the
- * functor and on the object instances stored in the sigc::bind_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6>
-void visit_each(const T_action& _A_action,
- const bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.bound1_);
- visit_each(_A_action, _A_target.bound2_);
- visit_each(_A_action, _A_target.bound3_);
- visit_each(_A_action, _A_target.bound4_);
- visit_each(_A_action, _A_target.bound5_);
- visit_each(_A_action, _A_target.bound6_);
-}
-
-/** Adaptor that binds 7 argument(s) to the wrapped functor.
- * This template specialization fixes the last 7 argument(s) of the wrapped functor.
- *
- * @ingroup bind
- */
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-struct bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
- template <int count, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- struct deduce_result_type_internal
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass,typename type_trait<T_type6>::pass,typename type_trait<T_type7>::pass>::type type; };
-#endif /*DOXYGEN_SHOULD_SKIP_THIS*/
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type {
- typedef typename deduce_result_type_internal<internal::count_void<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::value,
- T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type;
- };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor passing on the bound argument only.
- * @return The return value of the functor invocation.
- */
- result_type
- operator()();
-
- /** Constructs a bind_functor object that binds an argument to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_bound Argument to bind to the functor.
- */
- bind_functor(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_bound1,typename type_trait<T_type2>::take _A_bound2,typename type_trait<T_type3>::take _A_bound3,typename type_trait<T_type4>::take _A_bound4,typename type_trait<T_type5>::take _A_bound5,typename type_trait<T_type6>::take _A_bound6,typename type_trait<T_type7>::take _A_bound7)
- : adapts<T_functor>(_A_func), bound1_(_A_bound1),bound2_(_A_bound2),bound3_(_A_bound3),bound4_(_A_bound4),bound5_(_A_bound5),bound6_(_A_bound6),bound7_(_A_bound7)
- {}
-
- /// The argument bound to the functor.
- T_type1 bound1_;
- T_type2 bound2_;
- T_type3 bound3_;
- T_type4 bound4_;
- T_type5 bound5_;
- T_type6 bound6_;
- T_type7 bound7_;
-};
-
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-typename bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>::result_type
-bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>::operator()()
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::pass,typename type_trait<T_type2>::pass,typename type_trait<T_type3>::pass,typename type_trait<T_type4>::pass,typename type_trait<T_type5>::pass,typename type_trait<T_type6>::pass,typename type_trait<T_type7>::pass> (bound1_,bound2_,bound3_,bound4_,bound5_,bound6_,bound7_); }
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_functor performs a functor on the
- * functor and on the object instances stored in the sigc::bind_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-void visit_each(const T_action& _A_action,
- const bind_functor<-1, T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.bound1_);
- visit_each(_A_action, _A_target.bound2_);
- visit_each(_A_action, _A_target.bound3_);
- visit_each(_A_action, _A_target.bound4_);
- visit_each(_A_action, _A_target.bound5_);
- visit_each(_A_action, _A_target.bound6_);
- visit_each(_A_action, _A_target.bound7_);
-}
-
-
-/** Creates an adaptor of type sigc::bind_functor which binds the passed argument to the passed functor.
- * The optional template argument @e I_location specifies the zero-based
- * position of the argument to be fixed (@p -1 stands for the last argument).
- *
- * @param _A_func Functor that should be wrapped.
- * @param _A_b1 Argument to bind to @e _A_func.
- * @return Adaptor that executes @e _A_func with the bound argument on invokation.
- *
- * @ingroup bind
- */
-template <int I_location, class T_bound1, class T_functor>
-inline bind_functor<I_location, T_functor, typename unwrap_reference<T_bound1>::type>
-bind(const T_functor& _A_func, T_bound1 _A_b1)
-{
- return bind_functor<I_location, T_functor, typename unwrap_reference<T_bound1>::type>
- (_A_func, _A_b1);
-}
-
-/** Creates an adaptor of type sigc::bind_functor which fixes the last 1 argument(s) of the passed functor.
- * This function overload fixes the last 1 argument(s) of @e _A_func.
- *
- * @param _A_func Functor that should be wrapped.
- * @param _A_b1 Argument to bind to @e _A_func.
- * @return Adaptor that executes _A_func with the bound argument on invokation.
- *
- * @ingroup bind
- */
-template <class T_type1, class T_functor>
-inline bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type>
-bind(const T_functor& _A_func, T_type1 _A_b1)
-{ return bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type>
- (_A_func, _A_b1);
-}
-
-/** Creates an adaptor of type sigc::bind_functor which fixes the last 2 argument(s) of the passed functor.
- * This function overload fixes the last 2 argument(s) of @e _A_func.
- *
- * @param _A_func Functor that should be wrapped.
- * @param _A_b1 Argument to bind to @e _A_func.
- * @param _A_b2 Argument to bind to @e _A_func.
- * @return Adaptor that executes _A_func with the bound argument on invokation.
- *
- * @ingroup bind
- */
-template <class T_type1,class T_type2, class T_functor>
-inline bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type>
-bind(const T_functor& _A_func, T_type1 _A_b1,T_type2 _A_b2)
-{ return bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type>
- (_A_func, _A_b1,_A_b2);
-}
-
-/** Creates an adaptor of type sigc::bind_functor which fixes the last 3 argument(s) of the passed functor.
- * This function overload fixes the last 3 argument(s) of @e _A_func.
- *
- * @param _A_func Functor that should be wrapped.
- * @param _A_b1 Argument to bind to @e _A_func.
- * @param _A_b2 Argument to bind to @e _A_func.
- * @param _A_b3 Argument to bind to @e _A_func.
- * @return Adaptor that executes _A_func with the bound argument on invokation.
- *
- * @ingroup bind
- */
-template <class T_type1,class T_type2,class T_type3, class T_functor>
-inline bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type>
-bind(const T_functor& _A_func, T_type1 _A_b1,T_type2 _A_b2,T_type3 _A_b3)
-{ return bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type>
- (_A_func, _A_b1,_A_b2,_A_b3);
-}
-
-/** Creates an adaptor of type sigc::bind_functor which fixes the last 4 argument(s) of the passed functor.
- * This function overload fixes the last 4 argument(s) of @e _A_func.
- *
- * @param _A_func Functor that should be wrapped.
- * @param _A_b1 Argument to bind to @e _A_func.
- * @param _A_b2 Argument to bind to @e _A_func.
- * @param _A_b3 Argument to bind to @e _A_func.
- * @param _A_b4 Argument to bind to @e _A_func.
- * @return Adaptor that executes _A_func with the bound argument on invokation.
- *
- * @ingroup bind
- */
-template <class T_type1,class T_type2,class T_type3,class T_type4, class T_functor>
-inline bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type,
- typename unwrap_reference<T_type4>::type>
-bind(const T_functor& _A_func, T_type1 _A_b1,T_type2 _A_b2,T_type3 _A_b3,T_type4 _A_b4)
-{ return bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type,
- typename unwrap_reference<T_type4>::type>
- (_A_func, _A_b1,_A_b2,_A_b3,_A_b4);
-}
-
-/** Creates an adaptor of type sigc::bind_functor which fixes the last 5 argument(s) of the passed functor.
- * This function overload fixes the last 5 argument(s) of @e _A_func.
- *
- * @param _A_func Functor that should be wrapped.
- * @param _A_b1 Argument to bind to @e _A_func.
- * @param _A_b2 Argument to bind to @e _A_func.
- * @param _A_b3 Argument to bind to @e _A_func.
- * @param _A_b4 Argument to bind to @e _A_func.
- * @param _A_b5 Argument to bind to @e _A_func.
- * @return Adaptor that executes _A_func with the bound argument on invokation.
- *
- * @ingroup bind
- */
-template <class T_type1,class T_type2,class T_type3,class T_type4,class T_type5, class T_functor>
-inline bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type,
- typename unwrap_reference<T_type4>::type,
- typename unwrap_reference<T_type5>::type>
-bind(const T_functor& _A_func, T_type1 _A_b1,T_type2 _A_b2,T_type3 _A_b3,T_type4 _A_b4,T_type5 _A_b5)
-{ return bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type,
- typename unwrap_reference<T_type4>::type,
- typename unwrap_reference<T_type5>::type>
- (_A_func, _A_b1,_A_b2,_A_b3,_A_b4,_A_b5);
-}
-
-/** Creates an adaptor of type sigc::bind_functor which fixes the last 6 argument(s) of the passed functor.
- * This function overload fixes the last 6 argument(s) of @e _A_func.
- *
- * @param _A_func Functor that should be wrapped.
- * @param _A_b1 Argument to bind to @e _A_func.
- * @param _A_b2 Argument to bind to @e _A_func.
- * @param _A_b3 Argument to bind to @e _A_func.
- * @param _A_b4 Argument to bind to @e _A_func.
- * @param _A_b5 Argument to bind to @e _A_func.
- * @param _A_b6 Argument to bind to @e _A_func.
- * @return Adaptor that executes _A_func with the bound argument on invokation.
- *
- * @ingroup bind
- */
-template <class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6, class T_functor>
-inline bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type,
- typename unwrap_reference<T_type4>::type,
- typename unwrap_reference<T_type5>::type,
- typename unwrap_reference<T_type6>::type>
-bind(const T_functor& _A_func, T_type1 _A_b1,T_type2 _A_b2,T_type3 _A_b3,T_type4 _A_b4,T_type5 _A_b5,T_type6 _A_b6)
-{ return bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type,
- typename unwrap_reference<T_type4>::type,
- typename unwrap_reference<T_type5>::type,
- typename unwrap_reference<T_type6>::type>
- (_A_func, _A_b1,_A_b2,_A_b3,_A_b4,_A_b5,_A_b6);
-}
-
-/** Creates an adaptor of type sigc::bind_functor which fixes the last 7 argument(s) of the passed functor.
- * This function overload fixes the last 7 argument(s) of @e _A_func.
- *
- * @param _A_func Functor that should be wrapped.
- * @param _A_b1 Argument to bind to @e _A_func.
- * @param _A_b2 Argument to bind to @e _A_func.
- * @param _A_b3 Argument to bind to @e _A_func.
- * @param _A_b4 Argument to bind to @e _A_func.
- * @param _A_b5 Argument to bind to @e _A_func.
- * @param _A_b6 Argument to bind to @e _A_func.
- * @param _A_b7 Argument to bind to @e _A_func.
- * @return Adaptor that executes _A_func with the bound argument on invokation.
- *
- * @ingroup bind
- */
-template <class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7, class T_functor>
-inline bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type,
- typename unwrap_reference<T_type4>::type,
- typename unwrap_reference<T_type5>::type,
- typename unwrap_reference<T_type6>::type,
- typename unwrap_reference<T_type7>::type>
-bind(const T_functor& _A_func, T_type1 _A_b1,T_type2 _A_b2,T_type3 _A_b3,T_type4 _A_b4,T_type5 _A_b5,T_type6 _A_b6,T_type7 _A_b7)
-{ return bind_functor<-1, T_functor,
- typename unwrap_reference<T_type1>::type,
- typename unwrap_reference<T_type2>::type,
- typename unwrap_reference<T_type3>::type,
- typename unwrap_reference<T_type4>::type,
- typename unwrap_reference<T_type5>::type,
- typename unwrap_reference<T_type6>::type,
- typename unwrap_reference<T_type7>::type>
- (_A_func, _A_b1,_A_b2,_A_b3,_A_b4,_A_b5,_A_b6,_A_b7);
-}
-
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_BINDHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/bind_return.h b/libs/sigc++2/sigc++/adaptors/bind_return.h
deleted file mode 100644
index 40e3524090..0000000000
--- a/libs/sigc++2/sigc++/adaptors/bind_return.h
+++ /dev/null
@@ -1,204 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_ADAPTORS_MACROS_BIND_RETURNHM4_
-#define _SIGC_ADAPTORS_MACROS_BIND_RETURNHM4_
-#include <sigc++/adaptors/adaptor_trait.h>
-
-namespace sigc {
-
-/** Adaptor that fixes the return value of the wrapped functor.
- * Use the convenience function sigc::bind_return() to create an instance of sigc::bind_return_functor.
- *
- * The following template arguments are used:
- * - @e T_return Type of the fixed return value.
- * - @e T_functor Type of the functor to wrap.
- *
- * @ingroup bind
- */
-template <class T_return, class T_functor>
-struct bind_return_functor : public adapts<T_functor>
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_return type; };
- typedef T_return result_type;
-
- /** Invokes the wrapped functor dropping its return value.
- * @return The fixed return value.
- */
- T_return operator()();
-
- /** Invokes the wrapped functor passing on the arguments.,
- * @param _A_arg%1 Argument to be passed on to the functor.)
- * @return The fixed return value.
- */
- template <class T_arg1>
- inline T_return operator()(T_arg1 _A_a1)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1); return ret_value_;
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- inline T_return sun_forte_workaround(T_arg1 _A_a1)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1); return ret_value_;
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.,
- * @param _A_arg%1 Argument to be passed on to the functor.)
- * @return The fixed return value.
- */
- template <class T_arg1,class T_arg2>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_a1,_A_a2); return ret_value_;
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_a1,_A_a2); return ret_value_;
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.,
- * @param _A_arg%1 Argument to be passed on to the functor.)
- * @return The fixed return value.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_a1,_A_a2,_A_a3); return ret_value_;
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_a1,_A_a2,_A_a3); return ret_value_;
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.,
- * @param _A_arg%1 Argument to be passed on to the functor.)
- * @return The fixed return value.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4); return ret_value_;
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4); return ret_value_;
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.,
- * @param _A_arg%1 Argument to be passed on to the functor.)
- * @return The fixed return value.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); return ret_value_;
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); return ret_value_;
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.,
- * @param _A_arg%1 Argument to be passed on to the functor.)
- * @return The fixed return value.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); return ret_value_;
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); return ret_value_;
- }
- #endif
-
- /** Invokes the wrapped functor passing on the arguments.,
- * @param _A_arg%1 Argument to be passed on to the functor.)
- * @return The fixed return value.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); return ret_value_;
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); return ret_value_;
- }
- #endif
-
-
- /** Constructs a bind_return_functor object that fixes the return value to @p _A_ret_value.
- * @param _A_functor Functor to invoke from operator()().
- * @param _A_ret_value Value to return from operator()().
- */
- bind_return_functor(typename type_trait<T_functor>::take _A_functor, typename type_trait<T_return>::take _A_ret_value)
- : adapts<T_functor>(_A_functor), ret_value_(_A_ret_value)
- {}
-
- /// The fixed return value.
- T_return ret_value_; // public, so that visit_each() can access it
-};
-
-template <class T_return, class T_functor>
-T_return bind_return_functor<T_return, T_functor>::operator()()
- { this->functor_(); return ret_value_; }
-
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bind_return_functor performs a functor on the
- * functor and on the object instance stored in the sigc::bind_return_functor object.
- *
- * @ingroup bind
- */
-template <class T_action, class T_return, class T_functor>
-void visit_each(const T_action& _A_action,
- const bind_return_functor<T_return, T_functor>& _A_target)
-{
- visit_each(_A_action, _A_target.ret_value_);
- visit_each(_A_action, _A_target.functor_);
-}
-
-
-/** Creates an adaptor of type sigc::bind_return_functor which fixes the return value of the passed functor to the passed argument.
- *
- * @param _A_functor Functor that should be wrapped.
- * @param _A_ret_value Argument to fix the return value of @e _A_functor to.
- * @return Adaptor that executes @e _A_functor on invokation and returns @e _A_ret_value.
- *
- * @ingroup bind
- */
-template <class T_return, class T_functor>
-inline bind_return_functor<typename unwrap_reference<T_return>::type, T_functor>
-bind_return(const T_functor& _A_functor, T_return _A_ret_value)
-{ return bind_return_functor<typename unwrap_reference<T_return>::type, T_functor>(_A_functor, _A_ret_value); }
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_BIND_RETURNHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/compose.h b/libs/sigc++2/sigc++/adaptors/compose.h
deleted file mode 100644
index 0f098ff2df..0000000000
--- a/libs/sigc++2/sigc++/adaptors/compose.h
+++ /dev/null
@@ -1,294 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-#ifndef _SIGC_ADAPTORS_MACROS_COMPOSEHM4_
-#define _SIGC_ADAPTORS_MACROS_COMPOSEHM4_
-#include <sigc++/adaptors/adaptor_trait.h>
-
-namespace sigc {
-
-/** @defgroup compose compose()
- * sigc::compose() combines two or three arbitrary functors.
- * On invokation parameters are passed on to one or two getter functor(s).
- * The return value(s) are then passed on to the setter function.
- *
- * @par Examples:
- * @code
- * float square_root(float a) { return sqrtf(a); }
- * float sum(float a, float b) { return a+b; }
- * std::cout << sigc::compose(&square_root, &sum)(9, 16); // calls square_root(sum(3,6))
- * std::cout << sigc::compose(&sum, &square_root, &square_root)(9); // calls sum(square_root(9), square_root(9))
- * @endcode
- *
- * The functor sigc::compose() returns can be passed into
- * sigc::signal::connect() directly.
- *
- * @par Example:
- * @code
- * sigc::signal<float,float,float> some_signal;
- * some_signal.connect(sigc::compose(&square_root, &sum));
- * @endcode
- *
- * For a more powerful version of this functionality see the lambda
- * library adaptor sigc::group() which can bind, hide and reorder
- * arguments arbitrarily. Although sigc::group() is more flexible,
- * sigc::bind() provides a means of binding parameters when then total
- * number of parameters called is variable.
- *
- * @ingroup adaptors
- */
-
-/** Adaptor that combines two functors.
- * Use the convenience function sigc::compose() to create an instance of sigc::compose1_functor.
- *
- * The following template arguments are used:
- * - @e T_setter Type of the setter functor to wrap.
- * - @e T_getter Type of the getter functor to wrap.
- *
- * @ingroup compose
- */
-template <class T_setter, class T_getter>
-struct compose1_functor : public adapts<T_setter>
-{
- typedef typename adapts<T_setter>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<
- typename sigc::deduce_result_type<T_getter, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- >::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- result_type
- operator()();
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_a1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter, T_arg1>::type>
- (get_(_A_a1));
- }
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter, T_arg1,T_arg2>::type>
- (get_(_A_a1,_A_a2));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter, T_arg1,T_arg2,T_arg3>::type>
- (get_(_A_a1,_A_a2,_A_a3));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter, T_arg1,T_arg2,T_arg3,T_arg4>::type>
- (get_(_A_a1,_A_a2,_A_a3,_A_a4));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>
- (get_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>
- (get_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>
- (get_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7));
- }
-
-
- /** Constructs a compose1_functor object that combines the passed functors.
- * @param _A_setter Functor that receives the return values of the invokation of @e _A_getter1 and @e _A_getter2.
- * @param _A_getter1 Functor to invoke from operator()().
- * @param _A_getter2 Functor to invoke from operator()().
- */
- compose1_functor(const T_setter& _A_setter, const T_getter& _A_getter)
- : adapts<T_setter>(_A_setter), get_(_A_getter)
- {}
-
- T_getter get_; // public, so that visit_each() can access it
-};
-
-template <class T_setter, class T_getter>
-typename compose1_functor<T_setter, T_getter>::result_type
-compose1_functor<T_setter, T_getter>::operator()()
- { return this->functor_(get_()); }
-
-/** Adaptor that combines three functors.
- * Use the convenience function sigc::compose() to create an instance of sigc::compose2_functor.
- *
- * The following template arguments are used:
- * - @e T_setter Type of the setter functor to wrap.
- * - @e T_getter1 Type of the first getter functor to wrap.
- * - @e T_getter2 Type of the second getter functor to wrap.
- *
- * @ingroup compose
- */
-template <class T_setter, class T_getter1, class T_getter2>
-struct compose2_functor : public adapts<T_setter>
-{
- typedef typename adapts<T_setter>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<
- typename sigc::deduce_result_type<T_getter1, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type,
- typename sigc::deduce_result_type<T_getter2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- >::type result_type; };
- typedef typename adaptor_type::result_type result_type;
-
- result_type
- operator()();
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_a1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter1, T_arg1>::type,
- typename sigc::deduce_result_type<T_getter2, T_arg1>::type>
- (get1_(_A_a1), get2_(_A_a1));
- }
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter1, T_arg1,T_arg2>::type,
- typename sigc::deduce_result_type<T_getter2, T_arg1,T_arg2>::type>
- (get1_(_A_a1,_A_a2), get2_(_A_a1,_A_a2));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter1, T_arg1,T_arg2,T_arg3>::type,
- typename sigc::deduce_result_type<T_getter2, T_arg1,T_arg2,T_arg3>::type>
- (get1_(_A_a1,_A_a2,_A_a3), get2_(_A_a1,_A_a2,_A_a3));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter1, T_arg1,T_arg2,T_arg3,T_arg4>::type,
- typename sigc::deduce_result_type<T_getter2, T_arg1,T_arg2,T_arg3,T_arg4>::type>
- (get1_(_A_a1,_A_a2,_A_a3,_A_a4), get2_(_A_a1,_A_a2,_A_a3,_A_a4));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter1, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type,
- typename sigc::deduce_result_type<T_getter2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>
- (get1_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5), get2_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter1, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type,
- typename sigc::deduce_result_type<T_getter2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>
- (get1_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6), get2_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6));
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename sigc::deduce_result_type<T_getter1, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type,
- typename sigc::deduce_result_type<T_getter2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>
- (get1_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7), get2_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7));
- }
-
-
- /** Constructs a compose2_functor object that combines the passed functors.
- * @param _A_setter Functor that receives the return values of the invokation of @e _A_getter1 and @e _A_getter2.
- * @param _A_getter1 Functor to invoke from operator()().
- * @param _A_getter2 Functor to invoke from operator()().
- */
- compose2_functor(const T_setter& _A_setter,
- const T_getter1& _A_getter1,
- const T_getter2& _A_getter2)
- : adapts<T_setter>(_A_setter), get1_(_A_getter1), get2_(_A_getter2)
- {}
-
- T_getter1 get1_; // public, so that visit_each() can access it
- T_getter2 get2_; // public, so that visit_each() can access it
-};
-
-template <class T_setter, class T_getter1, class T_getter2>
-typename compose2_functor<T_setter, T_getter1, T_getter2>::result_type
-compose2_functor<T_setter, T_getter1, T_getter2>::operator()()
- { return this->functor_(get1_(), get2_()); }
-
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::compose1_functor performs a functor on the
- * functors stored in the sigc::compose1_functor object.
- *
- * @ingroup compose
- */
-template <class T_action, class T_setter, class T_getter>
-void visit_each(const T_action& _A_action,
- const compose1_functor<T_setter, T_getter>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.get_);
-}
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::compose2_functor performs a functor on the
- * functors stored in the sigc::compose2_functor object.
- *
- * @ingroup compose
- */
-template <class T_action, class T_setter, class T_getter1, class T_getter2>
-void visit_each(const T_action& _A_action,
- const compose2_functor<T_setter, T_getter1, T_getter2>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.get1_);
- visit_each(_A_action, _A_target.get2_);
-}
-
-
-/** Creates an adaptor of type sigc::compose1_functor which combines two functors.
- *
- * @param _A_setter Functor that receives the return value of the invokation of @e _A_getter.
- * @param _A_getter Functor to invoke from operator()().
- * @return Adaptor that executes @e _A_setter with the value returned from invokation of @e _A_getter.
- *
- * @ingroup compose
- */
-template <class T_setter, class T_getter>
-inline compose1_functor<T_setter, T_getter>
-compose(const T_setter& _A_setter, const T_getter& _A_getter)
- { return compose1_functor<T_setter, T_getter>(_A_setter, _A_getter); }
-
-/** Creates an adaptor of type sigc::compose2_functor which combines three functors.
- *
- * @param _A_setter Functor that receives the return values of the invokation of @e _A_getter1 and @e _A_getter2.
- * @param _A_getter1 Functor to invoke from operator()().
- * @param _A_getter2 Functor to invoke from operator()().
- * @return Adaptor that executes @e _A_setter with the values return from invokation of @e _A_getter1 and @e _A_getter2.
- *
- * @ingroup compose
- */
-template <class T_setter, class T_getter1, class T_getter2>
-inline compose2_functor<T_setter, T_getter1, T_getter2>
-compose(const T_setter& _A_setter, const T_getter1& _A_getter1, const T_getter2& _A_getter2)
- { return compose2_functor<T_setter, T_getter1, T_getter2>(_A_setter, _A_getter1, _A_getter2); }
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_COMPOSEHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/deduce_result_type.h b/libs/sigc++2/sigc++/adaptors/deduce_result_type.h
deleted file mode 100644
index 397bb50ff7..0000000000
--- a/libs/sigc++2/sigc++/adaptors/deduce_result_type.h
+++ /dev/null
@@ -1,121 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-/*
-*/
-#ifndef _SIGC_ADAPTORS_MACROS_DEDUCE_RESULT_TYPEHM4_
-#define _SIGC_ADAPTORS_MACROS_DEDUCE_RESULT_TYPEHM4_
-#include <sigc++/functors/functor_trait.h>
-
-
-namespace sigc {
-
-/** A hint to the compiler.
- * Functors which have all methods based on templates
- * should publicly inherit from this hint and define
- * a nested template class @p deduce_result_type that
- * can be used to deduce the methods' return types.
- *
- * adaptor_base inherits from the functor_base hint so
- * derived types should also have a result_type defined.
- *
- * Adaptors don't inherit from this type directly. They use
- * use sigc::adapts as a base type instead. sigc::adaptors
- * wraps arbitrary functor types as well as function pointers
- * and class methods.
- *
- * @ingroup adaptors
- */
-struct adaptor_base : public functor_base {};
-
-
-/** Deduce the return type of a functor.
- * <tt>typename deduce_result_type<functor_type, list of arg_types>::type</tt>
- * deduces a functor's result type if @p functor_type inherits from
- * sigc::functor_base and defines @p result_type or if @p functor_type
- * is actually a (member) function type. Multi-type functors are not
- * supported.
- *
- * sigc++ adaptors use
- * <tt>typename deduce_result_type<functor_type, list of arg_types>::type</tt>
- * to determine the return type of their <tt>templated operator()</tt> overloads.
- *
- * Adaptors in turn define a nested template class @p deduce_result_type
- * that is used by template specializations of the global deduce_result_type
- * template to correctly deduce the return types of the adaptor's suitable
- * <tt>template operator()</tt> overload.
- *
- * @ingroup adaptors
- */
-template <class T_functor,
- class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void,
- bool I_derives_adaptor_base=is_base_and_derived<adaptor_base,T_functor>::value>
-struct deduce_result_type
- { typedef typename functor_trait<T_functor>::result_type type; };
-
-/** Deduce the return type of a functor.
- * This is the template specialization of the sigc::deduce_result_type template
- * for 0 arguments.
- */
-template <class T_functor>
-struct deduce_result_type<T_functor, void,void,void,void,void,void,void, true>
- { typedef typename T_functor::template deduce_result_type<>::type type; };
-
-/** Deduce the return type of a functor.
- * This is the template specialization of the sigc::deduce_result_type template
- * for 1 arguments.
- */
-template <class T_functor, class T_arg1>
-struct deduce_result_type<T_functor, T_arg1, void,void,void,void,void,void, true>
- { typedef typename T_functor::template deduce_result_type<T_arg1>::type type; };
-
-/** Deduce the return type of a functor.
- * This is the template specialization of the sigc::deduce_result_type template
- * for 2 arguments.
- */
-template <class T_functor, class T_arg1,class T_arg2>
-struct deduce_result_type<T_functor, T_arg1,T_arg2, void,void,void,void,void, true>
- { typedef typename T_functor::template deduce_result_type<T_arg1,T_arg2>::type type; };
-
-/** Deduce the return type of a functor.
- * This is the template specialization of the sigc::deduce_result_type template
- * for 3 arguments.
- */
-template <class T_functor, class T_arg1,class T_arg2,class T_arg3>
-struct deduce_result_type<T_functor, T_arg1,T_arg2,T_arg3, void,void,void,void, true>
- { typedef typename T_functor::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type type; };
-
-/** Deduce the return type of a functor.
- * This is the template specialization of the sigc::deduce_result_type template
- * for 4 arguments.
- */
-template <class T_functor, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-struct deduce_result_type<T_functor, T_arg1,T_arg2,T_arg3,T_arg4, void,void,void, true>
- { typedef typename T_functor::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type type; };
-
-/** Deduce the return type of a functor.
- * This is the template specialization of the sigc::deduce_result_type template
- * for 5 arguments.
- */
-template <class T_functor, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-struct deduce_result_type<T_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, void,void, true>
- { typedef typename T_functor::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type type; };
-
-/** Deduce the return type of a functor.
- * This is the template specialization of the sigc::deduce_result_type template
- * for 6 arguments.
- */
-template <class T_functor, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-struct deduce_result_type<T_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, void, true>
- { typedef typename T_functor::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type type; };
-
-/** Deduce the return type of a functor.
- * This is the template specialization of the sigc::deduce_result_type template
- * for 7 arguments.
- */
-template <class T_functor, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-struct deduce_result_type<T_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, true>
- { typedef typename T_functor::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type type; };
-
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_DEDUCE_RESULT_TYPEHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/exception_catch.h b/libs/sigc++2/sigc++/adaptors/exception_catch.h
deleted file mode 100644
index cd7c41e67d..0000000000
--- a/libs/sigc++2/sigc++/adaptors/exception_catch.h
+++ /dev/null
@@ -1,319 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_ADAPTORS_MACROS_EXCEPTION_CATCHHM4_
-#define _SIGC_ADAPTORS_MACROS_EXCEPTION_CATCHHM4_
-#include <sigc++/adaptors/adaptor_trait.h>
-
-namespace sigc {
-
-/*
- functor adaptor: exception_catch(functor, catcher)
-
- usage:
-
-
- Future directions:
- The catcher should be told what type of return it needs to
- return for multiple type functors, to do this the user
- will need to derive from catcher_base.
-*/
-/** @defgroup exception_catch exception_catch()
- * sigc::exception_catch() catches an exception thrown from within
- * the wrapped functor and directs it to a catcher functor.
- * This catcher can then rethrow the exception and catch it with the proper type.
- *
- * Note that the catcher is expected to return the same type
- * as the wrapped functor so that normal flow can continue.
- *
- * Catchers can be cascaded to catch multiple types because uncaught
- * rethrown exceptions proceed to the next catcher adaptor.
- *
- * @par Examples:
- * @code
- * struct my_catch
- * {
- * int operator()()
- * {
- * try { throw; }
- * catch (std::range_error e) // catch what types we know
- * { std::cerr << "caught " << e.what() << std::endl; }
- * return 1;
- * }
- * }
- * int foo(); // throws std::range_error
- * sigc::exception_catch(&foo, my_catch())();
- * @endcode
- *
- * The functor sigc::execption_catch() returns can be passed into
- * sigc::signal::connect() directly.
- *
- * @par Example:
- * @code
- * sigc::signal<int> some_signal;
- * some_signal.connect(sigc::exception_catch(&foo, my_catch));
- * @endcode
- *
- * @ingroup adaptors
- */
-
-template <class T_functor, class T_catcher, class T_return = typename adapts<T_functor>::result_type>
-struct exception_catch_functor : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type type; };
- typedef T_return result_type;
-
- result_type
- operator()();
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_a1)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_a1,_A_a2);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_a1,_A_a2,_A_a3);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- }
- catch (...)
- { return catcher_(); }
- }
-
- exception_catch_functor(const T_functor& _A_func,
- const T_catcher& _A_catcher)
- : adapts<T_functor>(_A_func), catcher_(_A_catcher)
- {}
-
- protected:
- T_catcher catcher_;
-};
-
-template <class T_functor, class T_catcher, class T_return>
-typename exception_catch_functor<T_functor, T_catcher, T_return>::result_type
-exception_catch_functor<T_functor, T_catcher, T_return>::operator()()
- {
- try
- { return this->functor_(); }
- catch (...)
- { return catcher_(); }
- }
-
-// void specialization
-template <class T_functor, class T_catcher>
-struct exception_catch_functor<T_functor, T_catcher, void> : public adapts<T_functor>
-{
- typedef void result_type;
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- void
- operator()();
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_a1)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_a1,_A_a2);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_a1,_A_a2,_A_a3);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- }
- catch (...)
- { return catcher_(); }
- }
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- {
- try
- {
- return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- }
- catch (...)
- { return catcher_(); }
- }
-
- exception_catch_functor() {}
- exception_catch_functor(const T_functor& _A_func,
- const T_catcher& _A_catcher)
- : adapts<T_functor>(_A_func), catcher_(_A_catcher)
- {}
- ~exception_catch_functor() {}
-
- protected:
- T_catcher catcher_;
-};
-
-template <class T_functor, class T_catcher>
-void exception_catch_functor<T_functor, T_catcher, void>::operator()()
- {
- try
- { this->functor_(); } // I don't understand why void return doesn't work here (Martin)
- catch (...)
- { this->catcher_(); }
- }
-
-
-template <class T_action, class T_functor, class T_catcher, class T_return>
-void visit_each(const T_action& _A_action,
- const exception_catch_functor<T_functor, T_catcher, T_return>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
- visit_each(_A_action, _A_target.catcher_);
-}
-
-
-template <class T_functor, class T_catcher>
-inline exception_catch_functor<T_functor, T_catcher>
-exception_catch(const T_functor& _A_func, const T_catcher& _A_catcher)
- { return exception_catch_functor<T_functor, T_catcher>(_A_func, _A_catcher); }
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_EXCEPTION_CATCHHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/hide.h b/libs/sigc++2/sigc++/adaptors/hide.h
deleted file mode 100644
index 1b820fea6b..0000000000
--- a/libs/sigc++2/sigc++/adaptors/hide.h
+++ /dev/null
@@ -1,1063 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_ADAPTORS_MACROS_HIDEHM4_
-#define _SIGC_ADAPTORS_MACROS_HIDEHM4_
-#include <sigc++/adaptors/adaptor_trait.h>
-
-namespace sigc {
-
-/** @defgroup hide hide(), hide_return()
- * sigc::hide() alters an arbitrary functor in that it adds a parameter
- * whose value is ignored on invocation of the returned functor.
- * Thus you can discard one or more of the arguments of a signal.
- *
- * You may optionally specify the zero-based position of the parameter
- * to ignore as a template argument. The default is to ignore the last
- * parameter.
- * (A value of @p -1 adds a parameter at the end so sigc::hide<-1>() gives the same result as sigc::hide().)
- *
- * The type of the parameter can optionally be specified if not deduced.
- *
- * @par Examples:
- * @code
- * void foo(int, int);
- * // single argument hiding ...
- * sigc::hide(&foo)(1,2,3); // adds a dummy parameter at the back and calls foo(1,2)
- * sigc::hide<-1>(&foo)(1,2,3); // same as sigc::hide(&foo)(1,2,3) (calls foo(1,2))
- * sigc::hide<0>(&foo)(1,2,3); // adds a dummy parameter at the beginning and calls foo(2,3)
- * sigc::hide<1>(&foo)(1,2,3); // adds a dummy parameter in the middle and calls foo(1,3)
- * sigc::hide<2>(&foo)(1,2,3); // adds a dummy parameter at the back and calls foo(1,2)
- * // multiple argument hiding ...
- * sigc::hide(sigc::hide(&foo))(1,2,3,4); // adds two dummy parameters at the back and calls foo(1,2)
- * @endcode
- *
- * The functor sigc::hide() returns can be passed into
- * sigc::signal::connect() directly.
- *
- * @par Example:
- * @code
- * sigc::signal<void,int> some_signal;
- * void foo();
- * some_signal.connect(sigc::hide(&foo));
- * @endcode
- *
- * sigc::hide_return() alters an arbitrary functor by
- * dropping its return value, thus converting it to a void functor.
- *
- * For a more powerful version of this functionality see the lambda
- * library adaptor sigc::group() which can bind, hide and reorder
- * arguments arbitrarily. Although sigc::group() is more flexible,
- * sigc::hide() provides a means of hiding parameters when then total
- * number of parameters called is variable.
- *
- * @ingroup adaptors
- */
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * Use the convenience function sigc::hide() to create an instance of sigc::hide_functor.
- *
- * The following template arguments are used:
- * - @e I_location Zero-based position of the dummy parameter (@p -1 for the last parameter).
- * - @e T_type Type of the dummy parameter.
- * - @e T_functor Type of the functor to wrap.
- *
- * @ingroup hide
- */
-template <int I_location, class T_functor>
-struct hide_functor;
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * This template specialization ignores the value of the last parameter in operator()().
- *
- * @ingroup hide
- */
-template <class T_functor>
-struct hide_functor <-1, T_functor> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor ignoring the only argument.
- * @param _A_arg%1 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_a1)
- { return this->functor_(); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_a1)
- { return this->functor_(); }
- #endif
-
- /** Invokes the wrapped functor ignoring the last argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1); }
- #endif
-
- /** Invokes the wrapped functor ignoring the last argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass>
- (_A_a1, _A_a2); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass>
- (_A_a1, _A_a2); }
- #endif
-
- /** Invokes the wrapped functor ignoring the last argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (_A_a1, _A_a2, _A_a3); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (_A_a1, _A_a2, _A_a3); }
- #endif
-
- /** Invokes the wrapped functor ignoring the last argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4); }
- #endif
-
- /** Invokes the wrapped functor ignoring the last argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
- #endif
-
- /** Invokes the wrapped functor ignoring the last argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @param _A_arg7 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
- #endif
-
-
- /** Constructs a hide_functor object that adds a dummy parameter to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit hide_functor(const T_functor& _A_func)
- : adapts<T_functor>(_A_func)
- {}
-};
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * This template specialization ignores the value of the 0th parameter in operator()().
- *
- * @ingroup hide
- */
-template <class T_functor>
-struct hide_functor <0, T_functor> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor ignoring the only argument.
- * @param _A_arg%1 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_a1)
- { return this->functor_(); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_a1)
- { return this->functor_(); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 1th argument.
- * @param _A_arg1 Argument to be ignored.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass>
- (_A_a2); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass>
- (_A_a2); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 1th argument.
- * @param _A_arg1 Argument to be ignored.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (_A_a2, _A_a3); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (_A_a2, _A_a3); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 1th argument.
- * @param _A_arg1 Argument to be ignored.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_a2, _A_a3, _A_a4); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_a2, _A_a3, _A_a4); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 1th argument.
- * @param _A_arg1 Argument to be ignored.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a2, _A_a3, _A_a4, _A_a5); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a2, _A_a3, _A_a4, _A_a5); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 1th argument.
- * @param _A_arg1 Argument to be ignored.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 1th argument.
- * @param _A_arg1 Argument to be ignored.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @param _A_arg7 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a2, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
- #endif
-
-
- /** Constructs a hide_functor object that adds a dummy parameter to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit hide_functor(const T_functor& _A_func)
- : adapts<T_functor>(_A_func)
- {}
-};
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * This template specialization ignores the value of the 1th parameter in operator()().
- *
- * @ingroup hide
- */
-template <class T_functor>
-struct hide_functor <1, T_functor> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor ignoring the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be ignored.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass>
- (_A_a1, _A_a3); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass>
- (_A_a1, _A_a3); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be ignored.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_a1, _A_a3, _A_a4); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_a1, _A_a3, _A_a4); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be ignored.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a3, _A_a4, _A_a5); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a3, _A_a4, _A_a5); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be ignored.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a3, _A_a4, _A_a5, _A_a6); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a3, _A_a4, _A_a5, _A_a6); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 2th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be ignored.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @param _A_arg7 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a3, _A_a4, _A_a5, _A_a6, _A_a7); }
- #endif
-
-
- /** Constructs a hide_functor object that adds a dummy parameter to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit hide_functor(const T_functor& _A_func)
- : adapts<T_functor>(_A_func)
- {}
-};
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * This template specialization ignores the value of the 2th parameter in operator()().
- *
- * @ingroup hide
- */
-template <class T_functor>
-struct hide_functor <2, T_functor> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor ignoring the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass>
- (_A_a1, _A_a2); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass>
- (_A_a1, _A_a2); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be ignored.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass>
- (_A_a1, _A_a2, _A_a4); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass>
- (_A_a1, _A_a2, _A_a4); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be ignored.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a2, _A_a4, _A_a5); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a2, _A_a4, _A_a5); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be ignored.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a4, _A_a5, _A_a6); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a4, _A_a5, _A_a6); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 3th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be ignored.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @param _A_arg7 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a2, _A_a4, _A_a5, _A_a6, _A_a7); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a2, _A_a4, _A_a5, _A_a6, _A_a7); }
- #endif
-
-
- /** Constructs a hide_functor object that adds a dummy parameter to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit hide_functor(const T_functor& _A_func)
- : adapts<T_functor>(_A_func)
- {}
-};
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * This template specialization ignores the value of the 3th parameter in operator()().
- *
- * @ingroup hide
- */
-template <class T_functor>
-struct hide_functor <3, T_functor> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor ignoring the 4th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (_A_a1, _A_a2, _A_a3); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass>
- (_A_a1, _A_a2, _A_a3); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 4th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be ignored.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a5); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a5); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 4th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be ignored.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a5, _A_a6); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a5, _A_a6); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 4th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be ignored.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @param _A_arg7 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a5, _A_a6, _A_a7); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a5, _A_a6, _A_a7); }
- #endif
-
-
- /** Constructs a hide_functor object that adds a dummy parameter to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit hide_functor(const T_functor& _A_func)
- : adapts<T_functor>(_A_func)
- {}
-};
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * This template specialization ignores the value of the 4th parameter in operator()().
- *
- * @ingroup hide
- */
-template <class T_functor>
-struct hide_functor <4, T_functor> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor ignoring the 5th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 5th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be ignored.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a6); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a6); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 5th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be ignored.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @param _A_arg7 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a6, _A_a7); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg6>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a6, _A_a7); }
- #endif
-
-
- /** Constructs a hide_functor object that adds a dummy parameter to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit hide_functor(const T_functor& _A_func)
- : adapts<T_functor>(_A_func)
- {}
-};
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * This template specialization ignores the value of the 5th parameter in operator()().
- *
- * @ingroup hide
- */
-template <class T_functor>
-struct hide_functor <5, T_functor> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass, typename type_trait<T_arg7>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor ignoring the 6th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5); }
- #endif
-
- /** Invokes the wrapped functor ignoring the 6th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be ignored.
- * @param _A_arg7 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a7); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg7>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a7); }
- #endif
-
-
- /** Constructs a hide_functor object that adds a dummy parameter to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit hide_functor(const T_functor& _A_func)
- : adapts<T_functor>(_A_func)
- {}
-};
-
-/** Adaptor that adds a dummy parameter to the wrapped functor.
- * This template specialization ignores the value of the 6th parameter in operator()().
- *
- * @ingroup hide
- */
-template <class T_functor>
-struct hide_functor <6, T_functor> : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::type type; };
- typedef typename adaptor_type::result_type result_type;
-
- /** Invokes the wrapped functor ignoring the 7th argument.
- * @param _A_arg1 Argument to be passed on to the functor.
- * @param _A_arg2 Argument to be passed on to the functor.
- * @param _A_arg3 Argument to be passed on to the functor.
- * @param _A_arg4 Argument to be passed on to the functor.
- * @param _A_arg5 Argument to be passed on to the functor.
- * @param _A_arg6 Argument to be passed on to the functor.
- * @param _A_arg7 Argument to be ignored.
- * @return The return value of the functor invocation.
- */
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass, typename type_trait<T_arg2>::pass, typename type_trait<T_arg3>::pass, typename type_trait<T_arg4>::pass, typename type_trait<T_arg5>::pass, typename type_trait<T_arg6>::pass>
- (_A_a1, _A_a2, _A_a3, _A_a4, _A_a5, _A_a6); }
- #endif
-
-
- /** Constructs a hide_functor object that adds a dummy parameter to the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit hide_functor(const T_functor& _A_func)
- : adapts<T_functor>(_A_func)
- {}
-};
-
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::hide_functor performs a functor on the
- * functor stored in the sigc::hide_functor object.
- *
- * @ingroup hide
- */
-template <class T_action, int I_location, class T_functor>
-void visit_each(const T_action& _A_action,
- const hide_functor<I_location, T_functor>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
-}
-
-
-/** Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor.
- * The optional template argument @e I_location specifies the zero-based
- * position of the dummy parameter in the returned functor (@p -1 stands for the last parameter).
- *
- * @param _A_func Functor that should be wrapped.
- * @return Adaptor that executes @e _A_func ignoring the value of the dummy parameter.
- *
- * @ingroup hide
- */
-template <int I_location, class T_functor>
-inline hide_functor<I_location, T_functor>
-hide(const T_functor& _A_func)
- { return hide_functor<I_location, T_functor>(_A_func); }
-
-/** Creates an adaptor of type sigc::hide_functor which adds a dummy parameter to the passed functor.
- * This overload adds a dummy parameter at the back of the functor's parameter list.
- *
- * @param _A_func Functor that should be wrapped.
- * @return Adaptor that executes @e _A_func ignoring the value of the last parameter.
- *
- * @ingroup hide
- */
-template <class T_functor>
-inline hide_functor<-1, T_functor>
-hide(const T_functor& _A_func)
- { return hide_functor<-1, T_functor> (_A_func); }
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_HIDEHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/lambda/.cvsignore b/libs/sigc++2/sigc++/adaptors/lambda/.cvsignore
deleted file mode 100644
index 1edeb79fd1..0000000000
--- a/libs/sigc++2/sigc++/adaptors/lambda/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.os
diff --git a/libs/sigc++2/sigc++/adaptors/lambda/base.h b/libs/sigc++2/sigc++/adaptors/lambda/base.h
deleted file mode 100644
index 6a2c402c89..0000000000
--- a/libs/sigc++2/sigc++/adaptors/lambda/base.h
+++ /dev/null
@@ -1,392 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_LAMBDA_BASE_HPP_
-#define _SIGC_LAMBDA_BASE_HPP_
-#include <sigc++/adaptors/adaptor_trait.h>
-
-namespace sigc {
-
-/** @defgroup lambdas Lambdas
- * libsigc++ ships with basic lambda functionality and the sigc::group adaptor that uses lambdas to transform a functor's parameter list.
- *
- * The lambda selectors sigc::_1, sigc::_2, ..., sigc::_9 are used to select the
- * first, second, ..., nineth argument from a list.
- *
- * @par Examples:
- * @code
- * std::cout << sigc::_1(10,20,30); // returns 10
- * std::cout << sigc::_2(10,20,30); // returns 20
- * ...
- * @endcode
- *
- * Operators are defined so that lambda selectors can be used e.g. as placeholders in
- * arithmetic expressions.
- *
- * @par Examples:
- * @code
- * std::cout << (sigc::_1 + 5)(3); // returns (3 + 5)
- * std::cout << (sigc::_1 * sigc::_2)(7,10); // returns (7 * 10)
- * @endcode
- */
-
-/** A hint to the compiler.
- * All lambda types publically inherit from this hint.
- *
- * @ingroup lambdas
- */
-struct lambda_base : public adaptor_base {};
-
-// Forward declaration of lambda.
-template <class T_type> struct lambda;
-
-
-namespace internal {
-
-/** Abstracts lambda functionality.
- * Objects of this type store a value that may be of type lambda itself.
- * In this case, operator()() executes the lambda (a lambda is always a functor at the same time).
- * Otherwise, operator()() simply returns the stored value.
- */
-template <class T_type, bool I_islambda = is_base_and_derived<lambda_base, T_type>::value> struct lambda_core;
-
-/// Abstracts lambda functionality (template specialization for lambda values).
-template <class T_type>
-struct lambda_core<T_type, true> : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename T_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type type; };
- typedef typename T_type::result_type result_type;
- typedef T_type lambda_type;
-
- result_type
- operator()() const;
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator ()(T_arg1 _A_1) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_1) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1);
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2);
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3);
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4);
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5);
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6);
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return value_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7);
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- lambda_core() {}
-
- explicit lambda_core(const T_type& v)
- : value_(v) {}
-
- T_type value_;
-};
-
-template <class T_type>
-typename lambda_core<T_type, true>::result_type
-lambda_core<T_type, true>::operator()() const
- { return value_(); }
-
-
-/// Abstracts lambda functionality (template specialization for other value types).
-template <class T_type>
-struct lambda_core<T_type, false> : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_type type; };
- typedef T_type result_type; // all operator() overloads return T_type.
- typedef lambda<T_type> lambda_type;
-
- result_type operator()() const;
-
- template <class T_arg1>
- result_type operator ()(T_arg1 _A_1) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- result_type sun_forte_workaround(T_arg1 _A_1) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2>
- result_type operator ()(T_arg1 _A_1,T_arg2 _A_2) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- result_type sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3>
- result_type operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- result_type sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- result_type operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- result_type sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- result_type operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- result_type sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- result_type operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- result_type sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- result_type operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return value_; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- result_type sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return value_; }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- explicit lambda_core(typename type_trait<T_type>::take v)
- : value_(v) {}
-
- T_type value_;
-};
-
-template <class T_type>
-typename lambda_core<T_type, false>::result_type lambda_core<T_type, false>::operator()() const
- { return value_; }
-
-} /* namespace internal */
-
-
-template <class T_action, class T_functor, bool I_islambda>
-void visit_each(const T_action& _A_action,
- const internal::lambda_core<T_functor, I_islambda>& _A_target)
-{
- visit_each(_A_action, _A_target.value_);
-}
-
-
-// forward declarations for lambda operators other<subscript> and other<assign>
-template <class T_type>
-struct other;
-struct subscript;
-struct assign;
-
-template <class T_action, class T_type1, class T_type2>
-struct lambda_operator;
-
-template <class T_type>
-struct unwrap_lambda_type;
-
-
-/** Lambda type.
- * Objects of this type store a value that may be of type lambda itself.
- * In this case, operator()() executes the lambda (a lambda is always a functor at the same time).
- * Otherwise, operator()() simply returns the stored value.
- * The assign and subscript operators are defined to return a lambda operator.
- *
- * @ingroup lambdas
- */
-template <class T_type>
-struct lambda : public internal::lambda_core<T_type>
-{
- typedef lambda<T_type> self;
-
- lambda()
- {}
-
- lambda(typename type_trait<T_type>::take v)
- : internal::lambda_core<T_type>(v)
- {}
-
- // operators for other<subscript>
- template <class T_arg>
- lambda<lambda_operator<other<subscript>, self, typename unwrap_lambda_type<T_arg>::type> >
- operator [] (const T_arg& a) const
- { typedef lambda_operator<other<subscript>, self, typename unwrap_lambda_type<T_arg>::type> lambda_operator_type;
- return lambda<lambda_operator_type>(lambda_operator_type(this->value_, unwrap_lambda_value(a))); }
-
- // operators for other<assign>
- template <class T_arg>
- lambda<lambda_operator<other<assign>, self, typename unwrap_lambda_type<T_arg>::type> >
- operator = (const T_arg& a) const
- { typedef lambda_operator<other<assign>, self, typename unwrap_lambda_type<T_arg>::type> lambda_operator_type;
- return lambda<lambda_operator_type>(lambda_operator_type(this->value_, unwrap_lambda_value(a))); }
-};
-
-
-template <class T_action, class T_type>
-void visit_each(const T_action& _A_action,
- const lambda<T_type>& _A_target)
-{
- visit_each(_A_action, _A_target.value_);
-}
-
-
-/// Converts a reference into a lambda object.
-template <class T_type>
-lambda<T_type&> var(T_type& v)
-{ return lambda<T_type&>(v); }
-
-/// Converts a constant reference into a lambda object.
-template <class T_type>
-lambda<const T_type&> var(const T_type& v)
-{ return lambda<const T_type&>(v); }
-
-
-/** Deduces the type of the object stored in an object of the passed lambda type.
- * If the type passed as template argument is no lambda type,
- * type is defined to unwrap_reference<T_type>::type.
- */
-template <class T_type>
-struct unwrap_lambda_type
-{ typedef typename unwrap_reference<T_type>::type type; };
-
-template <class T_type>
-struct unwrap_lambda_type<lambda<T_type> >
-{ typedef T_type type; };
-
-
-/** Gets the object stored inside a lambda object.
- * Returns the object passed as argument if it is not of type lambda.
- */
-template <class T_type>
-T_type& unwrap_lambda_value(T_type& a)
-{ return a; }
-
-template <class T_type>
-const T_type& unwrap_lambda_value(const T_type& a)
-{ return a; }
-
-template <class T_type>
-const T_type& unwrap_lambda_value(const lambda<T_type>& a)
-{ return a.value_; }
-
-} /* namespace sigc */
-
-#endif /* _SIGC_LAMBDA_BASE_HPP_ */
diff --git a/libs/sigc++2/sigc++/adaptors/lambda/group.h b/libs/sigc++2/sigc++/adaptors/lambda/group.h
deleted file mode 100644
index 7b7525dc41..0000000000
--- a/libs/sigc++2/sigc++/adaptors/lambda/group.h
+++ /dev/null
@@ -1,734 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_ADAPTORS_LAMBDA_MACROS_GROUPHM4_
-#define _SIGC_ADAPTORS_LAMBDA_MACROS_GROUPHM4_
-#include <sigc++/adaptors/lambda/base.h>
-
-/** @defgroup group_ group()
- * sigc::group() alters an arbitrary functor by rebuilding its arguments from one or more lambda expressions.
- * For each parameter that should be passed to the wrapped functor one lambda expression
- * has to be passed into group(). Lambda selectors can be used as placeholders for the
- * arguments passed into the new functor. Arguments that don't have a placeholder in one
- * of the lambda expressions are dropped.
- *
- * @par Examples:
- * @code
- * void foo(int, int);
- * int bar(int);
- * // argument binding ...
- * sigc::group(&foo,10,sigc::_1)(20); //fixes the first argument and calls foo(10,20)
- * sigc::group(&foo,sigc::_1,30)(40); //fixes the second argument and calls foo(40,30)
- * // argument reordering ...
- * sigc::group(&foo,sigc::_2,sigc::_1)(1,2); //calls foo(2,1)
- * // argument hiding ...
- * sigc::group(&foo,sigc::_1,sigc::_2)(1,2,3); //calls foo(1,2)
- * // functor composition ...
- * sigc::group(&foo,sigc::_1,sigc::group(&bar,sigc::_2))(1,2); //calls foo(1,bar(2))
- * // algebraic expressions ...
- * sigc::group(&foo,sigc::_1*sigc::_2,sigc::_1/sigc::_2)(6,3); //calls foo(6*3,6/3)
- * @endcode
- *
- * The functor sigc::group() returns can be passed into
- * sigc::signal::connect() directly.
- *
- * @par Example:
- * @code
- * sigc::signal<void,int,int> some_signal;
- * void foo(int);
- * some_signal.connect(sigc::group(&foo,sigc::_2));
- * @endcode
- *
- * Like in sigc::bind() you can bind references to functors by passing the objects
- * through the sigc::ref() helper function.
- *
- * @par Example:
- * @code
- * int some_int;
- * sigc::signal<void> some_signal;
- * void foo(int&);
- * some_signal.connect(sigc::group(&foo,sigc::ref(some_int)));
- * @endcode
- *
- * If you bind an object of a sigc::trackable derived type to a functor
- * by reference, a slot assigned to the group adaptor is cleared automatically
- * when the object goes out of scope.
- *
- * @par Example:
- * @code
- * struct bar : public sigc::trackable {} some_bar;
- * sigc::signal<void> some_signal;
- * void foo(bar&);
- * some_signal.connect(sigc::group(&foo,sigc::ref(some_bar)));
- * // disconnected automatically if some_bar goes out of scope
- * @endcode
- *
- * @ingroup adaptors, lambdas
- */
-
-namespace sigc {
-
-template <class T_functor, class T_type1>
-struct lambda_group1 : public lambda_base
-{
- typedef typename functor_trait<T_functor>::result_type result_type;
- typedef typename lambda<T_type1>::lambda_type value1_type;
- typedef typename adaptor_trait<T_functor>::adaptor_type functor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename functor_type::template deduce_result_type<
- typename value1_type::template deduce_result_type<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type
- >::type type; };
-
- result_type
- operator ()() const;
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator() (T_arg1 _A_1) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround (T_arg1 _A_1) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- lambda_group1(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_1)
- : value1_(_A_1), func_(_A_func) {}
-
- value1_type value1_;
- mutable functor_type func_;
-};
-
-template <class T_functor, class T_type1>
-typename lambda_group1<T_functor, T_type1>::result_type
-lambda_group1<T_functor, T_type1>::operator ()() const
- { return func_(value1_()); }
-
-
-template <class T_action, class T_functor, class T_type1>
-void visit_each(const T_action& _A_action,
- const lambda_group1<T_functor, T_type1>& _A_target)
-{
- visit_each(_A_action, _A_target.value1_);
- visit_each(_A_action, _A_target.func_);
-}
-
-
-template <class T_functor, class T_type1,class T_type2>
-struct lambda_group2 : public lambda_base
-{
- typedef typename functor_trait<T_functor>::result_type result_type;
- typedef typename lambda<T_type1>::lambda_type value1_type;
- typedef typename lambda<T_type2>::lambda_type value2_type;
- typedef typename adaptor_trait<T_functor>::adaptor_type functor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename functor_type::template deduce_result_type<
- typename value1_type::template deduce_result_type<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type,
- typename value2_type::template deduce_result_type<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type
- >::type type; };
-
- result_type
- operator ()() const;
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator() (T_arg1 _A_1) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1>::type,
- typename value2_type::template deduce_result_type<T_arg1>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround (T_arg1 _A_1) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1>::type,
- typename value2_type::template deduce_result_type<T_arg1>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- lambda_group2(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_1,typename type_trait<T_type2>::take _A_2)
- : value1_(_A_1),value2_(_A_2), func_(_A_func) {}
-
- value1_type value1_;
- value2_type value2_;
- mutable functor_type func_;
-};
-
-template <class T_functor, class T_type1,class T_type2>
-typename lambda_group2<T_functor, T_type1,T_type2>::result_type
-lambda_group2<T_functor, T_type1,T_type2>::operator ()() const
- { return func_(value1_(),value2_()); }
-
-
-template <class T_action, class T_functor, class T_type1,class T_type2>
-void visit_each(const T_action& _A_action,
- const lambda_group2<T_functor, T_type1,T_type2>& _A_target)
-{
- visit_each(_A_action, _A_target.value1_);
- visit_each(_A_action, _A_target.value2_);
- visit_each(_A_action, _A_target.func_);
-}
-
-
-template <class T_functor, class T_type1,class T_type2,class T_type3>
-struct lambda_group3 : public lambda_base
-{
- typedef typename functor_trait<T_functor>::result_type result_type;
- typedef typename lambda<T_type1>::lambda_type value1_type;
- typedef typename lambda<T_type2>::lambda_type value2_type;
- typedef typename lambda<T_type3>::lambda_type value3_type;
- typedef typename adaptor_trait<T_functor>::adaptor_type functor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename functor_type::template deduce_result_type<
- typename value1_type::template deduce_result_type<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type,
- typename value2_type::template deduce_result_type<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type,
- typename value3_type::template deduce_result_type<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type
- >::type type; };
-
- result_type
- operator ()() const;
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator() (T_arg1 _A_1) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1>::type,
- typename value2_type::template deduce_result_type<T_arg1>::type,
- typename value3_type::template deduce_result_type<T_arg1>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround (T_arg1 _A_1) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1>::type,
- typename value2_type::template deduce_result_type<T_arg1>::type,
- typename value3_type::template deduce_result_type<T_arg1>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass>(_A_1)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>(_A_1,_A_2)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>(_A_1,_A_2,_A_3)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>(_A_1,_A_2,_A_3,_A_4)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator() (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7)); }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround (T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- { return this->func_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename value1_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type,
- typename value2_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type,
- typename value3_type::template deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type>(
- this->value1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7),
- this->value2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7),
- this->value3_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<
- typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>(_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7)); }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- lambda_group3(typename type_trait<T_functor>::take _A_func, typename type_trait<T_type1>::take _A_1,typename type_trait<T_type2>::take _A_2,typename type_trait<T_type3>::take _A_3)
- : value1_(_A_1),value2_(_A_2),value3_(_A_3), func_(_A_func) {}
-
- value1_type value1_;
- value2_type value2_;
- value3_type value3_;
- mutable functor_type func_;
-};
-
-template <class T_functor, class T_type1,class T_type2,class T_type3>
-typename lambda_group3<T_functor, T_type1,T_type2,T_type3>::result_type
-lambda_group3<T_functor, T_type1,T_type2,T_type3>::operator ()() const
- { return func_(value1_(),value2_(),value3_()); }
-
-
-template <class T_action, class T_functor, class T_type1,class T_type2,class T_type3>
-void visit_each(const T_action& _A_action,
- const lambda_group3<T_functor, T_type1,T_type2,T_type3>& _A_target)
-{
- visit_each(_A_action, _A_target.value1_);
- visit_each(_A_action, _A_target.value2_);
- visit_each(_A_action, _A_target.value3_);
- visit_each(_A_action, _A_target.func_);
-}
-
-
-
-template <class T_functor, class T_type1>
-lambda<lambda_group1<T_functor, typename unwrap_reference<T_type1>::type> >
-group(const T_functor& _A_func, T_type1 _A_1)
-{
- typedef lambda_group1<T_functor, typename unwrap_reference<T_type1>::type> T_lambda;
- return lambda<T_lambda>(T_lambda(_A_func, _A_1));
-}
-
-template <class T_functor, class T_type1,class T_type2>
-lambda<lambda_group2<T_functor, typename unwrap_reference<T_type1>::type,typename unwrap_reference<T_type2>::type> >
-group(const T_functor& _A_func, T_type1 _A_1,T_type2 _A_2)
-{
- typedef lambda_group2<T_functor, typename unwrap_reference<T_type1>::type,typename unwrap_reference<T_type2>::type> T_lambda;
- return lambda<T_lambda>(T_lambda(_A_func, _A_1,_A_2));
-}
-
-template <class T_functor, class T_type1,class T_type2,class T_type3>
-lambda<lambda_group3<T_functor, typename unwrap_reference<T_type1>::type,typename unwrap_reference<T_type2>::type,typename unwrap_reference<T_type3>::type> >
-group(const T_functor& _A_func, T_type1 _A_1,T_type2 _A_2,T_type3 _A_3)
-{
- typedef lambda_group3<T_functor, typename unwrap_reference<T_type1>::type,typename unwrap_reference<T_type2>::type,typename unwrap_reference<T_type3>::type> T_lambda;
- return lambda<T_lambda>(T_lambda(_A_func, _A_1,_A_2,_A_3));
-}
-
-
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_LAMBDA_MACROS_GROUPHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/lambda/lambda.cc b/libs/sigc++2/sigc++/adaptors/lambda/lambda.cc
deleted file mode 100644
index 78fd516df2..0000000000
--- a/libs/sigc++2/sigc++/adaptors/lambda/lambda.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#include <sigc++/adaptors/lambda/select.h>
-
-namespace sigc {
-
-const lambda<internal::lambda_select1> _1;
-const lambda<internal::lambda_select2> _2;
-const lambda<internal::lambda_select3> _3;
-const lambda<internal::lambda_select4> _4;
-const lambda<internal::lambda_select5> _5;
-const lambda<internal::lambda_select6> _6;
-const lambda<internal::lambda_select7> _7;
-
-} /* namespace sigc */
diff --git a/libs/sigc++2/sigc++/adaptors/lambda/lambda.h b/libs/sigc++2/sigc++/adaptors/lambda/lambda.h
deleted file mode 100644
index 487522ad10..0000000000
--- a/libs/sigc++2/sigc++/adaptors/lambda/lambda.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_LAMBDA_HPP_
-#define _SIGC_LAMBDA_HPP_
-
-#include <sigc++/adaptors/lambda/base.h>
-#include <sigc++/adaptors/lambda/select.h>
-#include <sigc++/adaptors/lambda/operator.h>
-#include <sigc++/adaptors/lambda/group.h>
-
-#endif /* _SIGC_LAMBDA_HPP_ */
diff --git a/libs/sigc++2/sigc++/adaptors/lambda/operator.h b/libs/sigc++2/sigc++/adaptors/lambda/operator.h
deleted file mode 100644
index 5d9e00bcde..0000000000
--- a/libs/sigc++2/sigc++/adaptors/lambda/operator.h
+++ /dev/null
@@ -1,1697 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_LAMBDA_OPERATOR_HPP_
-#define _SIGC_LAMBDA_OPERATOR_HPP_
-#include <sigc++/adaptors/lambda/base.h>
-
-namespace sigc {
-
-/** Deduces the base type of a reference or a pointer.
- * @ingroup internal
- */
-template <class T_type>
-struct dereference_trait
- { typedef void type; };
-
-template <class T_type>
-struct dereference_trait<T_type*>
- { typedef T_type type; };
-
-template <class T_type>
-struct dereference_trait<const T_type*>
- { typedef const T_type type; };
-
-template <class T_type>
-struct dereference_trait<T_type*&>
- { typedef T_type type; };
-
-template <class T_type>
-struct dereference_trait<const T_type*&>
- { typedef const T_type type; };
-
-template <class T_type>
-struct dereference_trait<T_type* const&>
- { typedef T_type type; };
-
-template <class T_type>
-struct dereference_trait<const T_type* const&>
- { typedef const T_type type; };
-
-template <class T_type>
-struct arithmetic {};
-
-template <class T_type>
-struct bitwise {};
-
-template <class T_type>
-struct logical {};
-
-template <class T_type>
-struct relational {};
-
-template <class T_type>
-struct arithmetic_assign {};
-
-template <class T_type>
-struct bitwise_assign {};
-
-template <class T_type>
-struct other {};
-
-template <class T_type>
-struct unary_arithmetic {};
-
-template <class T_type>
-struct unary_bitwise {};
-
-template <class T_type>
-struct unary_logical {};
-
-template <class T_type>
-struct unary_other {};
-
-template <class T_type>
-struct cast_ {};
-
-struct plus {};
-struct minus {};
-struct multiplies {};
-struct divides {};
-struct modulus {};
-struct leftshift {};
-struct rightshift {};
-struct and_ {};
-struct or_ {};
-struct xor_ {};
-struct less {};
-struct greater {};
-struct less_equal {};
-struct greater_equal {};
-struct equal_to {};
-struct not_equal_to {};
-struct subscript {};
-struct assign {};
-struct pre_increment {};
-struct pre_decrement {};
-struct negate {};
-struct not_ {};
-struct address {};
-struct dereference {};
-struct reinterpret_ {};
-struct static_ {};
-struct dynamic_ {};
-
-template <class T_action, class T_test1, class T_test2>
-struct lambda_action_deduce_result_type
- { typedef typename type_trait<T_test1>::type type; }; // TODO: e.g. T_test1=int, T_test2=double yields int but it should yield double !
-
-template <class T_action, class T_test1, class T_test2>
-struct lambda_action_deduce_result_type<logical<T_action>, T_test1, T_test2>
- { typedef bool type; };
-
-template <class T_action, class T_test1, class T_test2>
-struct lambda_action_deduce_result_type<relational<T_action>, T_test1, T_test2>
- { typedef bool type; };
-
-template <class T_action, class T_test1, class T_test2>
-struct lambda_action_deduce_result_type<arithmetic_assign<T_action>, T_test1, T_test2>
- { typedef T_test1 type; };
-
-template <class T_action, class T_test1, class T_test2>
-struct lambda_action_deduce_result_type<bitwise_assign<T_action>, T_test1, T_test2>
- { typedef T_test1 type; };
-
-template <class T_test1, class T_test2>
-struct lambda_action_deduce_result_type<other<subscript>, T_test1, T_test2>
- { typedef typename type_trait<typename dereference_trait<T_test1>::type>::pass type; };
-
-template <class T_action, class T_test>
-struct lambda_action_unary_deduce_result_type
- { typedef typename type_trait<T_test>::type type; };
-
-template <class T_action, class T_type, class T_test>
-struct lambda_action_convert_deduce_result_type
- { typedef typename type_trait<T_type>::type type; };
-
-template <class T_action, class T_test>
-struct lambda_action_unary_deduce_result_type<unary_logical<T_action>, T_test>
- { typedef bool type; };
-
-template <class T_test>
-struct lambda_action_unary_deduce_result_type<unary_other<address>, T_test>
- { typedef typename type_trait<T_test>::pointer type; };
-
-template <class T_test>
-struct lambda_action_unary_deduce_result_type<unary_other<dereference>, T_test>
- { typedef typename type_trait<typename dereference_trait<T_test>::type>::pass type; };
-
-
-
-template <class T_action>
-struct lambda_action {};
-
-template <class T_action>
-struct lambda_action_unary {};
-
-template <class T_action, class T_type>
-struct lambda_action_convert {};
-
-template <>
-struct lambda_action<arithmetic<plus> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic<plus>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 + _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic<minus> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic<minus>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 - _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic<multiplies> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic<multiplies>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 * _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic<divides> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic<divides>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 / _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic<modulus> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic<modulus>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 % _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise<leftshift> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise<leftshift>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 << _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise<rightshift> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise<rightshift>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 >> _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise<and_> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise<and_>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 & _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise<or_> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise<or_>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 | _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise<xor_> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise<xor_>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 ^ _A_2; }
-};
-
-template <>
-struct lambda_action<logical<and_> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<logical<and_>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 && _A_2; }
-};
-
-template <>
-struct lambda_action<logical<or_> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<logical<or_>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 || _A_2; }
-};
-
-template <>
-struct lambda_action<relational<less> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<relational<less>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 < _A_2; }
-};
-
-template <>
-struct lambda_action<relational<greater> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<relational<greater>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 > _A_2; }
-};
-
-template <>
-struct lambda_action<relational<less_equal> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<relational<less_equal>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 <= _A_2; }
-};
-
-template <>
-struct lambda_action<relational<greater_equal> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<relational<greater_equal>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 >= _A_2; }
-};
-
-template <>
-struct lambda_action<relational<equal_to> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<relational<equal_to>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 == _A_2; }
-};
-
-template <>
-struct lambda_action<relational<not_equal_to> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<relational<not_equal_to>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 != _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic_assign<plus> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic_assign<plus>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 += _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic_assign<minus> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic_assign<minus>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 -= _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic_assign<multiplies> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic_assign<multiplies>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 *= _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic_assign<divides> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic_assign<divides>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 /= _A_2; }
-};
-
-template <>
-struct lambda_action<arithmetic_assign<modulus> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<arithmetic_assign<modulus>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 %= _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise_assign<leftshift> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise_assign<leftshift>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 <<= _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise_assign<rightshift> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise_assign<rightshift>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 >>= _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise_assign<and_> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise_assign<and_>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 &= _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise_assign<or_> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise_assign<or_>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 |= _A_2; }
-};
-
-template <>
-struct lambda_action<bitwise_assign<xor_> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<bitwise_assign<xor_>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 ^= _A_2; }
-};
-
-template <>
-struct lambda_action<other<subscript> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<other<subscript>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1[_A_2]; }
-};
-
-template <>
-struct lambda_action<other<assign> >
-{
- template <class T_arg1, class T_arg2>
- static typename lambda_action_deduce_result_type<other<assign>, T_arg1, T_arg2>::type
- do_action(T_arg1 _A_1, T_arg2 _A_2)
- { return _A_1 = _A_2; }
-};
-
-template <>
-struct lambda_action_unary<unary_arithmetic<pre_increment> >
-{
- template <class T_arg>
- static typename lambda_action_unary_deduce_result_type<unary_arithmetic<pre_increment>, T_arg>::type
- do_action(T_arg _Aa)
- { return ++_Aa; }
-};
-
-template <>
-struct lambda_action_unary<unary_arithmetic<pre_decrement> >
-{
- template <class T_arg>
- static typename lambda_action_unary_deduce_result_type<unary_arithmetic<pre_decrement>, T_arg>::type
- do_action(T_arg _Aa)
- { return --_Aa; }
-};
-
-template <>
-struct lambda_action_unary<unary_arithmetic<negate> >
-{
- template <class T_arg>
- static typename lambda_action_unary_deduce_result_type<unary_arithmetic<negate>, T_arg>::type
- do_action(T_arg _Aa)
- { return -_Aa; }
-};
-
-template <>
-struct lambda_action_unary<unary_bitwise<not_> >
-{
- template <class T_arg>
- static typename lambda_action_unary_deduce_result_type<unary_bitwise<not_>, T_arg>::type
- do_action(T_arg _Aa)
- { return ~_Aa; }
-};
-
-template <>
-struct lambda_action_unary<unary_logical<not_> >
-{
- template <class T_arg>
- static typename lambda_action_unary_deduce_result_type<unary_logical<not_>, T_arg>::type
- do_action(T_arg _Aa)
- { return !_Aa; }
-};
-
-template <>
-struct lambda_action_unary<unary_other<address> >
-{
- template <class T_arg>
- static typename lambda_action_unary_deduce_result_type<unary_other<address>, T_arg>::type
- do_action(T_arg _Aa)
- { return &_Aa; }
-};
-
-template <>
-struct lambda_action_unary<unary_other<dereference> >
-{
- template <class T_arg>
- static typename lambda_action_unary_deduce_result_type<unary_other<dereference>, T_arg>::type
- do_action(T_arg _Aa)
- { return *_Aa; }
-};
-
-template <class T_type>
-struct lambda_action_convert<cast_<reinterpret_>, T_type>
-{
- template <class T_arg>
- static typename lambda_action_convert_deduce_result_type<cast_<reinterpret_>, T_type, T_arg>::type
- do_action(T_arg _Aa)
- { return reinterpret_cast<T_type>(_Aa); }
-};
-
-template <class T_type>
-struct lambda_action_convert<cast_<static_>, T_type>
-{
- template <class T_arg>
- static typename lambda_action_convert_deduce_result_type<cast_<static_>, T_type, T_arg>::type
- do_action(T_arg _Aa)
- { return static_cast<T_type>(_Aa); }
-};
-
-template <class T_type>
-struct lambda_action_convert<cast_<dynamic_>, T_type>
-{
- template <class T_arg>
- static typename lambda_action_convert_deduce_result_type<cast_<dynamic_>, T_type, T_arg>::type
- do_action(T_arg _Aa)
- { return dynamic_cast<T_type>(_Aa); }
-};
-
-
-
-template <class T_action, class T_type1, class T_type2>
-struct lambda_operator : public lambda_base
-{
- typedef typename lambda<T_type1>::lambda_type arg1_type;
- typedef typename lambda<T_type2>::lambda_type arg2_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename arg1_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type left_type;
- typedef typename arg2_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type right_type;
- typedef typename lambda_action_deduce_result_type<T_action, left_type, right_type>::type type;
- };
- typedef typename lambda_action_deduce_result_type<
- T_action,
- typename arg1_type::result_type,
- typename arg2_type::result_type
- >::type result_type;
-
- result_type
- operator ()() const;
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator ()(T_arg1 _A_1) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_1) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- {
- return lambda_action<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::left_type,
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::right_type>
- (arg1_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7),
- arg2_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7));
- }
- #endif //SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-
- lambda_operator(typename type_trait<T_type1>::take a1, typename type_trait<T_type2>::take a2 )
- : arg1_(a1), arg2_(a2) {}
-
- arg1_type arg1_;
- arg2_type arg2_;
-};
-
-template <class T_action, class T_type1, class T_type2>
-typename lambda_operator<T_action, T_type1, T_type2>::result_type
-lambda_operator<T_action, T_type1, T_type2>::operator ()() const
- { return lambda_action<T_action>::template do_action<
- typename arg1_type::result_type,
- typename arg2_type::result_type>
- (arg1_(), arg2_()); }
-
-template <class T_action, class T_lambda_action, class T_arg1, class T_arg2>
-void visit_each(const T_action& _A_action,
- const lambda_operator<T_lambda_action, T_arg1, T_arg2>& _A_target)
-{
- visit_each(_A_action, _A_target.arg1_);
- visit_each(_A_action, _A_target.arg2_);
-}
-
-
-template <class T_action, class T_type>
-struct lambda_operator_unary : public lambda_base
-{
- typedef typename lambda<T_type>::lambda_type arg_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename arg_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type operand_type;
- typedef typename lambda_action_unary_deduce_result_type<T_action, operand_type>::type type;
- };
- typedef typename lambda_action_unary_deduce_result_type<
- T_action,
- typename arg_type::result_type
- >::type result_type;
-
- result_type
- operator ()() const;
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator ()(T_arg1 _A_1) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_1) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1));
- }
- #endif
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- {
- return lambda_action_unary<T_action>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7));
- }
- #endif
-
- lambda_operator_unary(typename type_trait<T_type>::take a)
- : arg_(a) {}
-
- arg_type arg_;
-};
-
-template <class T_action, class T_type>
-typename lambda_operator_unary<T_action, T_type>::result_type
-lambda_operator_unary<T_action, T_type>::operator ()() const
- { return lambda_action_unary<T_action>::template do_action<
- typename arg_type::result_type>
- (arg_()); }
-
-template <class T_action, class T_lambda_action, class T_arg>
-void visit_each(const T_action& _A_action,
- const lambda_operator_unary<T_lambda_action, T_arg>& _A_target)
-{
- visit_each(_A_action, _A_target.arg_);
-}
-
-
-template <class T_action, class T_type, class T_arg>
-struct lambda_operator_convert : public lambda_base
-{
- typedef typename lambda<T_arg>::lambda_type arg_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename arg_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type operand_type;
- typedef typename lambda_action_convert_deduce_result_type<T_action, T_type, operand_type>::type type;
- };
- typedef typename lambda_action_convert_deduce_result_type<
- T_action, T_type,
- typename arg_type::result_type
- >::type result_type;
-
- result_type
- operator ()() const;
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator ()(T_arg1 _A_1) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_1) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_1));
- }
- #endif
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_1,_A_2));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_1,_A_2,_A_3));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_1,_A_2,_A_3,_A_4));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const
- {
- return lambda_action_convert<T_action, T_type>::template do_action<
- typename deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::operand_type>
- (arg_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7));
- }
- #endif
-
- lambda_operator_convert(typename type_trait<T_arg>::take a)
- : arg_(a) {}
-
- arg_type arg_;
-};
-
-template <class T_action, class T_type, class T_arg>
-typename lambda_operator_convert<T_action, T_type, T_arg>::result_type
-lambda_operator_convert<T_action, T_type, T_arg>::operator ()() const
- { return lambda_action_convert<T_action, T_type>::template do_action<
- typename arg_type::result_type>
- (arg_()); }
-
-template <class T_action, class T_lambda_action, class T_type, class T_arg>
-void visit_each(const T_action& _A_action,
- const lambda_operator_convert<T_lambda_action, T_type, T_arg>& _A_target)
-{
- visit_each(_A_action, _A_target.arg_);
-}
-
-
-// Operators for lambda action arithmetic<plus>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<plus>, T_arg1, T_arg2> >
-operator + (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<plus>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<plus>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator + (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic<plus>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<plus>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator + (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<plus>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic<minus>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<minus>, T_arg1, T_arg2> >
-operator - (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<minus>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<minus>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator - (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic<minus>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<minus>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator - (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<minus>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic<multiplies>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<multiplies>, T_arg1, T_arg2> >
-operator * (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<multiplies>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<multiplies>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator * (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic<multiplies>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<multiplies>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator * (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<multiplies>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic<divides>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<divides>, T_arg1, T_arg2> >
-operator / (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<divides>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<divides>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator / (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic<divides>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<divides>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator / (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<divides>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic<modulus>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<modulus>, T_arg1, T_arg2> >
-operator % (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<modulus>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<modulus>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator % (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic<modulus>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic<modulus>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator % (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic<modulus>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise<leftshift>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<leftshift>, T_arg1, T_arg2> >
-operator << (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<leftshift>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<leftshift>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator << (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise<leftshift>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<leftshift>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator << (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<leftshift>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise<rightshift>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<rightshift>, T_arg1, T_arg2> >
-operator >> (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<rightshift>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<rightshift>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator >> (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise<rightshift>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<rightshift>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator >> (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<rightshift>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise<and_>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<and_>, T_arg1, T_arg2> >
-operator & (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<and_>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<and_>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator & (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise<and_>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<and_>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator & (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<and_>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise<or_>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<or_>, T_arg1, T_arg2> >
-operator | (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<or_>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<or_>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator | (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise<or_>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<or_>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator | (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<or_>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise<xor_>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<xor_>, T_arg1, T_arg2> >
-operator ^ (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<xor_>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<xor_>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator ^ (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise<xor_>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise<xor_>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator ^ (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise<xor_>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action logical<and_>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<logical<and_>, T_arg1, T_arg2> >
-operator && (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<logical<and_>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<logical<and_>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator && (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<logical<and_>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<logical<and_>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator && (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<logical<and_>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action logical<or_>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<logical<or_>, T_arg1, T_arg2> >
-operator || (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<logical<or_>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<logical<or_>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator || (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<logical<or_>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<logical<or_>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator || (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<logical<or_>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action relational<less>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<less>, T_arg1, T_arg2> >
-operator < (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<less>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<less>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator < (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<relational<less>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<less>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator < (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<less>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action relational<greater>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<greater>, T_arg1, T_arg2> >
-operator > (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<greater>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<greater>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator > (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<relational<greater>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<greater>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator > (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<greater>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action relational<less_equal>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<less_equal>, T_arg1, T_arg2> >
-operator <= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<less_equal>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<less_equal>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator <= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<relational<less_equal>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<less_equal>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator <= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<less_equal>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action relational<greater_equal>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<greater_equal>, T_arg1, T_arg2> >
-operator >= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<greater_equal>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<greater_equal>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator >= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<relational<greater_equal>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<greater_equal>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator >= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<greater_equal>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action relational<equal_to>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<equal_to>, T_arg1, T_arg2> >
-operator == (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<equal_to>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<equal_to>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator == (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<relational<equal_to>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<equal_to>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator == (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<equal_to>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action relational<not_equal_to>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<not_equal_to>, T_arg1, T_arg2> >
-operator != (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<not_equal_to>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<not_equal_to>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator != (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<relational<not_equal_to>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<relational<not_equal_to>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator != (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<relational<not_equal_to>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic_assign<plus>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<plus>, T_arg1, T_arg2> >
-operator += (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<plus>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<plus>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator += (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic_assign<plus>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<plus>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator += (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<plus>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic_assign<minus>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<minus>, T_arg1, T_arg2> >
-operator -= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<minus>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<minus>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator -= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic_assign<minus>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<minus>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator -= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<minus>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic_assign<multiplies>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<multiplies>, T_arg1, T_arg2> >
-operator *= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<multiplies>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<multiplies>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator *= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic_assign<multiplies>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<multiplies>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator *= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<multiplies>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic_assign<divides>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<divides>, T_arg1, T_arg2> >
-operator /= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<divides>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<divides>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator /= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic_assign<divides>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<divides>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator /= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<divides>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action arithmetic_assign<modulus>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<modulus>, T_arg1, T_arg2> >
-operator %= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<modulus>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<modulus>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator %= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<arithmetic_assign<modulus>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<arithmetic_assign<modulus>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator %= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<arithmetic_assign<modulus>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise_assign<leftshift>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<leftshift>, T_arg1, T_arg2> >
-operator <<= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<leftshift>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<leftshift>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator <<= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise_assign<leftshift>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<leftshift>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator <<= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<leftshift>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise_assign<rightshift>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<rightshift>, T_arg1, T_arg2> >
-operator >>= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<rightshift>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<rightshift>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator >>= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise_assign<rightshift>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<rightshift>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator >>= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<rightshift>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise_assign<and_>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<and_>, T_arg1, T_arg2> >
-operator &= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<and_>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<and_>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator &= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise_assign<and_>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<and_>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator &= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<and_>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise_assign<or_>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<or_>, T_arg1, T_arg2> >
-operator |= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<or_>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<or_>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator |= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise_assign<or_>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<or_>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator |= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<or_>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operators for lambda action bitwise_assign<xor_>. At least one of the arguments needs to be of type lamdba, hence the overloads.
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<xor_>, T_arg1, T_arg2> >
-operator ^= (const lambda<T_arg1>& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<xor_>, T_arg1, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2.value_)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<xor_>, T_arg1, typename unwrap_reference<T_arg2>::type> >
-operator ^= (const lambda<T_arg1>& a1, const T_arg2& a2)
-{ typedef lambda_operator<bitwise_assign<xor_>, T_arg1, typename unwrap_reference<T_arg2>::type> operator_type;
- return lambda<operator_type>(operator_type(a1.value_,a2)); }
-template <class T_arg1, class T_arg2>
-lambda<lambda_operator<bitwise_assign<xor_>, typename unwrap_reference<T_arg1>::type, T_arg2> >
-operator ^= (const T_arg1& a1, const lambda<T_arg2>& a2)
-{ typedef lambda_operator<bitwise_assign<xor_>, typename unwrap_reference<T_arg1>::type, T_arg2> operator_type;
- return lambda<operator_type>(operator_type(a1,a2.value_)); }
-
-// Operator for lambda action unary_arithmetic<pre_increment>.
-template <class T_arg>
-lambda<lambda_operator_unary<unary_arithmetic<pre_increment>, T_arg> >
-operator ++ (const lambda<T_arg>& a)
-{ typedef lambda_operator_unary<unary_arithmetic<pre_increment>, T_arg> operator_type;
- return lambda<operator_type>(operator_type(a.value_)); }
-
-// Operator for lambda action unary_arithmetic<pre_decrement>.
-template <class T_arg>
-lambda<lambda_operator_unary<unary_arithmetic<pre_decrement>, T_arg> >
-operator -- (const lambda<T_arg>& a)
-{ typedef lambda_operator_unary<unary_arithmetic<pre_decrement>, T_arg> operator_type;
- return lambda<operator_type>(operator_type(a.value_)); }
-
-// Operator for lambda action unary_arithmetic<negate>.
-template <class T_arg>
-lambda<lambda_operator_unary<unary_arithmetic<negate>, T_arg> >
-operator - (const lambda<T_arg>& a)
-{ typedef lambda_operator_unary<unary_arithmetic<negate>, T_arg> operator_type;
- return lambda<operator_type>(operator_type(a.value_)); }
-
-// Operator for lambda action unary_bitwise<not_>.
-template <class T_arg>
-lambda<lambda_operator_unary<unary_bitwise<not_>, T_arg> >
-operator ~ (const lambda<T_arg>& a)
-{ typedef lambda_operator_unary<unary_bitwise<not_>, T_arg> operator_type;
- return lambda<operator_type>(operator_type(a.value_)); }
-
-// Operator for lambda action unary_logical<not_>.
-template <class T_arg>
-lambda<lambda_operator_unary<unary_logical<not_>, T_arg> >
-operator ! (const lambda<T_arg>& a)
-{ typedef lambda_operator_unary<unary_logical<not_>, T_arg> operator_type;
- return lambda<operator_type>(operator_type(a.value_)); }
-
-// Operator for lambda action unary_other<address>.
-template <class T_arg>
-lambda<lambda_operator_unary<unary_other<address>, T_arg> >
-operator & (const lambda<T_arg>& a)
-{ typedef lambda_operator_unary<unary_other<address>, T_arg> operator_type;
- return lambda<operator_type>(operator_type(a.value_)); }
-
-// Operator for lambda action unary_other<dereference>.
-template <class T_arg>
-lambda<lambda_operator_unary<unary_other<dereference>, T_arg> >
-operator * (const lambda<T_arg>& a)
-{ typedef lambda_operator_unary<unary_other<dereference>, T_arg> operator_type;
- return lambda<operator_type>(operator_type(a.value_)); }
-
-// Creators for lambda action cast_<reinterpret_>.
-template <class T_type, class T_arg>
-lambda<lambda_operator_convert<cast_<reinterpret_>, T_type, typename unwrap_lambda_type<T_arg>::type> >
-reinterpret_cast_(const T_arg& a)
-{ typedef lambda_operator_convert<cast_<reinterpret_>, T_type, typename unwrap_lambda_type<T_arg>::type> operator_type;
- return lambda<operator_type>(operator_type(unwrap_lambda_value(a))); }
-
-// Creators for lambda action cast_<static_>.
-template <class T_type, class T_arg>
-lambda<lambda_operator_convert<cast_<static_>, T_type, typename unwrap_lambda_type<T_arg>::type> >
-static_cast_(const T_arg& a)
-{ typedef lambda_operator_convert<cast_<static_>, T_type, typename unwrap_lambda_type<T_arg>::type> operator_type;
- return lambda<operator_type>(operator_type(unwrap_lambda_value(a))); }
-
-// Creators for lambda action cast_<dynamic_>.
-template <class T_type, class T_arg>
-lambda<lambda_operator_convert<cast_<dynamic_>, T_type, typename unwrap_lambda_type<T_arg>::type> >
-dynamic_cast_(const T_arg& a)
-{ typedef lambda_operator_convert<cast_<dynamic_>, T_type, typename unwrap_lambda_type<T_arg>::type> operator_type;
- return lambda<operator_type>(operator_type(unwrap_lambda_value(a))); }
-
-
-} /* namespace sigc */
-
-#endif /* _SIGC_LAMBDA_OPERATOR_HPP_ */
diff --git a/libs/sigc++2/sigc++/adaptors/lambda/select.h b/libs/sigc++2/sigc++/adaptors/lambda/select.h
deleted file mode 100644
index 7cbf3eccfb..0000000000
--- a/libs/sigc++2/sigc++/adaptors/lambda/select.h
+++ /dev/null
@@ -1,346 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_LAMBDA_SELECT_HPP_
-#define _SIGC_LAMBDA_SELECT_HPP_
-#include <sigc++/adaptors/lambda/base.h>
-
-namespace sigc {
-
-namespace internal {
-struct lambda_select1 : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_arg1 type; };
- typedef void result_type; // no operator ()() overload
-
- void operator ()() const; // not implemented
- template <class T_arg1>
- T_arg1 operator ()(T_arg1 _A_1) const { return _A_1; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- //Does not work: T_arg1 sun_forte_workaround(T_arg1 _A_1) const { return operator()( _A_1 ); }
- T_arg1 sun_forte_workaround(T_arg1 _A_1) const { return _A_1; }
- #endif
-
- template <class T_arg1,class T_arg2>
- T_arg1 operator ()(T_arg1 _A_1,T_arg2 _A_2) const { return _A_1; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- //Does not work: T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const { return operator()( _A_1,_A_2 ); }
- T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const { return _A_1; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- T_arg1 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return _A_1; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- //Does not work: T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return operator()( _A_1,_A_2,_A_3 ); }
- T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return _A_1; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- T_arg1 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return _A_1; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- //Does not work: T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return operator()( _A_1,_A_2,_A_3,_A_4 ); }
- T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return _A_1; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- T_arg1 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_1; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- //Does not work: T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5 ); }
- T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_1; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- T_arg1 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_1; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- //Does not work: T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6 ); }
- T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_1; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- T_arg1 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_1; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- //Does not work: T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7 ); }
- T_arg1 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_1; }
- #endif
-
-};
-
-struct lambda_select2 : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_arg2 type; };
- typedef void result_type; // no operator ()() overload
-
- void operator ()() const; // not implemented
- template <class T_arg1,class T_arg2>
- T_arg2 operator ()(T_arg1 _A_1,T_arg2 _A_2) const { return _A_2; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- //Does not work: T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const { return operator()( _A_1,_A_2 ); }
- T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2) const { return _A_2; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- T_arg2 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return _A_2; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- //Does not work: T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return operator()( _A_1,_A_2,_A_3 ); }
- T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return _A_2; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- T_arg2 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return _A_2; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- //Does not work: T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return operator()( _A_1,_A_2,_A_3,_A_4 ); }
- T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return _A_2; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- T_arg2 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_2; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- //Does not work: T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5 ); }
- T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_2; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- T_arg2 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_2; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- //Does not work: T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6 ); }
- T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_2; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- T_arg2 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_2; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- //Does not work: T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7 ); }
- T_arg2 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_2; }
- #endif
-
-};
-
-struct lambda_select3 : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_arg3 type; };
- typedef void result_type; // no operator ()() overload
-
- void operator ()() const; // not implemented
- template <class T_arg1,class T_arg2,class T_arg3>
- T_arg3 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return _A_3; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- //Does not work: T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return operator()( _A_1,_A_2,_A_3 ); }
- T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3) const { return _A_3; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- T_arg3 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return _A_3; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- //Does not work: T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return operator()( _A_1,_A_2,_A_3,_A_4 ); }
- T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return _A_3; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- T_arg3 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_3; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- //Does not work: T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5 ); }
- T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_3; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- T_arg3 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_3; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- //Does not work: T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6 ); }
- T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_3; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- T_arg3 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_3; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- //Does not work: T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7 ); }
- T_arg3 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_3; }
- #endif
-
-};
-
-struct lambda_select4 : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_arg4 type; };
- typedef void result_type; // no operator ()() overload
-
- void operator ()() const; // not implemented
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- T_arg4 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return _A_4; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- //Does not work: T_arg4 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return operator()( _A_1,_A_2,_A_3,_A_4 ); }
- T_arg4 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4) const { return _A_4; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- T_arg4 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_4; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- //Does not work: T_arg4 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5 ); }
- T_arg4 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_4; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- T_arg4 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_4; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- //Does not work: T_arg4 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6 ); }
- T_arg4 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_4; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- T_arg4 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_4; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- //Does not work: T_arg4 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7 ); }
- T_arg4 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_4; }
- #endif
-
-};
-
-struct lambda_select5 : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_arg5 type; };
- typedef void result_type; // no operator ()() overload
-
- void operator ()() const; // not implemented
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- T_arg5 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_5; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- //Does not work: T_arg5 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5 ); }
- T_arg5 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5) const { return _A_5; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- T_arg5 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_5; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- //Does not work: T_arg5 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6 ); }
- T_arg5 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_5; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- T_arg5 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_5; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- //Does not work: T_arg5 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7 ); }
- T_arg5 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_5; }
- #endif
-
-};
-
-struct lambda_select6 : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_arg6 type; };
- typedef void result_type; // no operator ()() overload
-
- void operator ()() const; // not implemented
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- T_arg6 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_6; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- //Does not work: T_arg6 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6 ); }
- T_arg6 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6) const { return _A_6; }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- T_arg6 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_6; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- //Does not work: T_arg6 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7 ); }
- T_arg6 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_6; }
- #endif
-
-};
-
-struct lambda_select7 : public lambda_base
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_arg7 type; };
- typedef void result_type; // no operator ()() overload
-
- void operator ()() const; // not implemented
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- T_arg7 operator ()(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_7; }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- //Does not work: T_arg7 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return operator()( _A_1,_A_2,_A_3,_A_4,_A_5,_A_6,_A_7 ); }
- T_arg7 sun_forte_workaround(T_arg1 _A_1,T_arg2 _A_2,T_arg3 _A_3,T_arg4 _A_4,T_arg5 _A_5,T_arg6 _A_6,T_arg7 _A_7) const { return _A_7; }
- #endif
-
-};
-
-
-} /* namespace internal */
-
-extern SIGC_API const lambda<internal::lambda_select1> _1;
-extern SIGC_API const lambda<internal::lambda_select2> _2;
-extern SIGC_API const lambda<internal::lambda_select3> _3;
-extern SIGC_API const lambda<internal::lambda_select4> _4;
-extern SIGC_API const lambda<internal::lambda_select5> _5;
-extern SIGC_API const lambda<internal::lambda_select6> _6;
-extern SIGC_API const lambda<internal::lambda_select7> _7;
-
-
-} /* namespace sigc */
-
-#endif /* _SIGC_LAMBDA_SELECT_HPP_ */
diff --git a/libs/sigc++2/sigc++/adaptors/retype.h b/libs/sigc++2/sigc++/adaptors/retype.h
deleted file mode 100644
index 01f71fcaa7..0000000000
--- a/libs/sigc++2/sigc++/adaptors/retype.h
+++ /dev/null
@@ -1,1247 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_ADAPTORS_MACROS_RETYPEHM4_
-#define _SIGC_ADAPTORS_MACROS_RETYPEHM4_
-#include <sigc++/adaptors/adaptor_trait.h>
-#include <sigc++/functors/ptr_fun.h>
-#include <sigc++/functors/mem_fun.h>
-#include <sigc++/functors/slot.h>
-
-namespace sigc {
-
-/** @defgroup retype retype(), retype_return()
- * sigc::retype() alters a sigc::pointer_functor, a sigc::mem_functor or a sigc::slot
- * in that it makes C-style casts to the functor's parameter types
- * of all parameters passed through operator()().
- *
- * Use this adaptor for inline conversion between numeric or other simple types.
- * @par Example:
- * @code
- * void foo(int);
- * sigc::retype(sigc::ptr_fun(&foo))(5.7F); // calls foo(5)
- * @endcode
- *
- * The functor sigc::retype() returns can be passed into
- * sigc::signal::connect() directly.
- *
- * @par Example:
- * @code
- * sigc::signal<void,float> some_signal;
- * void foo(int);
- * some_signal.connect(sigc::retype(sigc::ptr_fun(&foo)));
- * @endcode
- *
- * This adaptor builds an exception in that it only works on sig::pointer_functor,
- * sigc::mem_functor and sigc::slot because it needs sophisticated information about
- * the parameter types that cannot be deduced from arbitrary functor types.
- *
- * sigc::retype_return() alters the return type of an arbitrary functor.
- * Like in sigc::retype() a C-style cast is preformed. Usage sigc::retype_return() is
- * not restricted to libsigc++ functor types but you need to
- * specify the new return type as a template parameter.
- *
- * @par Example:
- * @code
- * float foo();
- * std::cout << sigc::retype_return<int>(&foo)(); // converts foo's return value to an integer
- * @endcode
- *
- * @ingroup adaptors
- */
-
-/** Adaptor that performs C-style casts on the parameters passed on to the functor.
- * Use the convenience function sigc::retype() to create an instance of retype_functor.
- *
- * The following template arguments are used:
- * - @e T_functor Type of the functor to wrap.
- * - @e T_type1 Type of @e T_functor's 1th argument.
- * - @e T_type2 Type of @e T_functor's 2th argument.
- * - @e T_type3 Type of @e T_functor's 3th argument.
- * - @e T_type4 Type of @e T_functor's 4th argument.
- * - @e T_type5 Type of @e T_functor's 5th argument.
- * - @e T_type6 Type of @e T_functor's 6th argument.
- * - @e T_type7 Type of @e T_functor's 7th argument.
- *
- * @ingroup retype
- */
-template <class T_functor, class T_type1=nil_,class T_type2=nil_,class T_type3=nil_,class T_type4=nil_,class T_type5=nil_,class T_type6=nil_,class T_type7=nil_>
-struct retype_functor
- : public adapts<T_functor>
-{
- typedef typename adapts<T_functor>::adaptor_type adaptor_type;
-
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef typename adaptor_type::template deduce_result_type<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>::type type; };
- typedef typename adapts<T_functor>::result_type result_type;
-
- result_type operator()();
-
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- operator()(T_arg1 _A_a1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take>
- ((T_type1)_A_a1);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- typename deduce_result_type<T_arg1>::type
- sun_forte_workaround(T_arg1 _A_a1)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take>
- ((T_type1)_A_a1);
- }
- #endif
-
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- typename deduce_result_type<T_arg1,T_arg2>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take,typename type_trait<T_type4>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take,typename type_trait<T_type4>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take,typename type_trait<T_type4>::take,typename type_trait<T_type5>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take,typename type_trait<T_type4>::take,typename type_trait<T_type5>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take,typename type_trait<T_type4>::take,typename type_trait<T_type5>::take,typename type_trait<T_type6>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take,typename type_trait<T_type4>::take,typename type_trait<T_type5>::take,typename type_trait<T_type6>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take,typename type_trait<T_type4>::take,typename type_trait<T_type5>::take,typename type_trait<T_type6>::take,typename type_trait<T_type7>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6,(T_type7)_A_a7);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- typename deduce_result_type<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::type
- sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_type1>::take,typename type_trait<T_type2>::take,typename type_trait<T_type3>::take,typename type_trait<T_type4>::take,typename type_trait<T_type5>::take,typename type_trait<T_type6>::take,typename type_trait<T_type7>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6,(T_type7)_A_a7);
- }
- #endif
-
-
- /** Constructs a retype_functor object that performs C-style casts on the parameters passed on to the functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit retype_functor(typename type_trait<T_functor>::take _A_functor)
- : adapts<T_functor>(_A_functor)
- {}
-};
-
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-typename retype_functor<T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>::result_type
-retype_functor<T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>::operator()()
- { return this->functor_(); }
-
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::retype_functor performs a functor on the
- * functor stored in the sigc::retype_functor object.
- *
- * @ingroup retype
- */
-template <class T_action, class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-void visit_each(const T_action& _A_action,
- const retype_functor<T_functor, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
-}
-
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::slot.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-inline retype_functor<slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::pointer_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return>
-inline retype_functor<pointer_functor0<T_return> >
-retype(const pointer_functor0<T_return>& _A_functor)
-{ return retype_functor<pointer_functor0<T_return> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::pointer_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_arg1, class T_return>
-inline retype_functor<pointer_functor1<T_arg1, T_return>, T_arg1 >
-retype(const pointer_functor1<T_arg1, T_return>& _A_functor)
-{ return retype_functor<pointer_functor1<T_arg1, T_return>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::pointer_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_arg1,class T_arg2, class T_return>
-inline retype_functor<pointer_functor2<T_arg1, T_arg2, T_return>, T_arg1,T_arg2 >
-retype(const pointer_functor2<T_arg1,T_arg2, T_return>& _A_functor)
-{ return retype_functor<pointer_functor2<T_arg1, T_arg2, T_return>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::pointer_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return>
-inline retype_functor<pointer_functor3<T_arg1, T_arg2, T_arg3, T_return>, T_arg1,T_arg2,T_arg3 >
-retype(const pointer_functor3<T_arg1,T_arg2,T_arg3, T_return>& _A_functor)
-{ return retype_functor<pointer_functor3<T_arg1, T_arg2, T_arg3, T_return>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::pointer_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return>
-inline retype_functor<pointer_functor4<T_arg1, T_arg2, T_arg3, T_arg4, T_return>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const pointer_functor4<T_arg1,T_arg2,T_arg3,T_arg4, T_return>& _A_functor)
-{ return retype_functor<pointer_functor4<T_arg1, T_arg2, T_arg3, T_arg4, T_return>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::pointer_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return>
-inline retype_functor<pointer_functor5<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_return>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const pointer_functor5<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_return>& _A_functor)
-{ return retype_functor<pointer_functor5<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_return>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::pointer_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_return>
-inline retype_functor<pointer_functor6<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_return>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const pointer_functor6<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_return>& _A_functor)
-{ return retype_functor<pointer_functor6<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_return>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::pointer_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<pointer_functor7<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_return>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const pointer_functor7<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_return>& _A_functor)
-{ return retype_functor<pointer_functor7<T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_return>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj>
-inline retype_functor<mem_functor0<T_return, T_obj> >
-retype(const mem_functor0<T_return, T_obj>& _A_functor)
-{ return retype_functor<mem_functor0<T_return, T_obj> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1>
-inline retype_functor<mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
-retype(const mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
-{ return retype_functor<mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-inline retype_functor<mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
-retype(const mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_functor)
-{ return retype_functor<mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-inline retype_functor<mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
-retype(const mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_functor)
-{ return retype_functor<mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline retype_functor<mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_functor)
-{ return retype_functor<mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline retype_functor<mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_functor)
-{ return retype_functor<mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_functor)
-{ return retype_functor<mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj>
-inline retype_functor<const_mem_functor0<T_return, T_obj> >
-retype(const const_mem_functor0<T_return, T_obj>& _A_functor)
-{ return retype_functor<const_mem_functor0<T_return, T_obj> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1>
-inline retype_functor<const_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
-retype(const const_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
-{ return retype_functor<const_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-inline retype_functor<const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
-retype(const const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_functor)
-{ return retype_functor<const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-inline retype_functor<const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
-retype(const const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_functor)
-{ return retype_functor<const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline retype_functor<const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_functor)
-{ return retype_functor<const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline retype_functor<const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_functor)
-{ return retype_functor<const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_functor)
-{ return retype_functor<const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj>
-inline retype_functor<volatile_mem_functor0<T_return, T_obj> >
-retype(const volatile_mem_functor0<T_return, T_obj>& _A_functor)
-{ return retype_functor<volatile_mem_functor0<T_return, T_obj> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1>
-inline retype_functor<volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
-retype(const volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
-{ return retype_functor<volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-inline retype_functor<volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
-retype(const volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_functor)
-{ return retype_functor<volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-inline retype_functor<volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
-retype(const volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_functor)
-{ return retype_functor<volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline retype_functor<volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_functor)
-{ return retype_functor<volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline retype_functor<volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_functor)
-{ return retype_functor<volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_functor)
-{ return retype_functor<volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj>
-inline retype_functor<const_volatile_mem_functor0<T_return, T_obj> >
-retype(const const_volatile_mem_functor0<T_return, T_obj>& _A_functor)
-{ return retype_functor<const_volatile_mem_functor0<T_return, T_obj> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1>
-inline retype_functor<const_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
-retype(const const_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
-{ return retype_functor<const_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-inline retype_functor<const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
-retype(const const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_functor)
-{ return retype_functor<const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-inline retype_functor<const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
-retype(const const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_functor)
-{ return retype_functor<const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline retype_functor<const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_functor)
-{ return retype_functor<const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline retype_functor<const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_functor)
-{ return retype_functor<const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_functor)
-{ return retype_functor<const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj>
-inline retype_functor<bound_mem_functor0<T_return, T_obj> >
-retype(const bound_mem_functor0<T_return, T_obj>& _A_functor)
-{ return retype_functor<bound_mem_functor0<T_return, T_obj> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1>
-inline retype_functor<bound_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
-retype(const bound_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
-{ return retype_functor<bound_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-inline retype_functor<bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
-retype(const bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_functor)
-{ return retype_functor<bound_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-inline retype_functor<bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
-retype(const bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_functor)
-{ return retype_functor<bound_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline retype_functor<bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_functor)
-{ return retype_functor<bound_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline retype_functor<bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_functor)
-{ return retype_functor<bound_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_functor)
-{ return retype_functor<bound_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<bound_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj>
-inline retype_functor<bound_const_mem_functor0<T_return, T_obj> >
-retype(const bound_const_mem_functor0<T_return, T_obj>& _A_functor)
-{ return retype_functor<bound_const_mem_functor0<T_return, T_obj> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1>
-inline retype_functor<bound_const_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
-retype(const bound_const_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
-{ return retype_functor<bound_const_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-inline retype_functor<bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
-retype(const bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_functor)
-{ return retype_functor<bound_const_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-inline retype_functor<bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
-retype(const bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_functor)
-{ return retype_functor<bound_const_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline retype_functor<bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_functor)
-{ return retype_functor<bound_const_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline retype_functor<bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_functor)
-{ return retype_functor<bound_const_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_functor)
-{ return retype_functor<bound_const_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<bound_const_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj>
-inline retype_functor<bound_volatile_mem_functor0<T_return, T_obj> >
-retype(const bound_volatile_mem_functor0<T_return, T_obj>& _A_functor)
-{ return retype_functor<bound_volatile_mem_functor0<T_return, T_obj> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1>
-inline retype_functor<bound_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
-retype(const bound_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
-{ return retype_functor<bound_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-inline retype_functor<bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
-retype(const bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_functor)
-{ return retype_functor<bound_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-inline retype_functor<bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
-retype(const bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_functor)
-{ return retype_functor<bound_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline retype_functor<bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_functor)
-{ return retype_functor<bound_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline retype_functor<bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_functor)
-{ return retype_functor<bound_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_functor)
-{ return retype_functor<bound_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<bound_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj>
-inline retype_functor<bound_const_volatile_mem_functor0<T_return, T_obj> >
-retype(const bound_const_volatile_mem_functor0<T_return, T_obj>& _A_functor)
-{ return retype_functor<bound_const_volatile_mem_functor0<T_return, T_obj> >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1>
-inline retype_functor<bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
-retype(const bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_functor)
-{ return retype_functor<bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>, T_arg1 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-inline retype_functor<bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
-retype(const bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_functor)
-{ return retype_functor<bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1, T_arg2>, T_arg1,T_arg2 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-inline retype_functor<bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
-retype(const bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_functor)
-{ return retype_functor<bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1, T_arg2, T_arg3>, T_arg1,T_arg2,T_arg3 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline retype_functor<bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
-retype(const bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_functor)
-{ return retype_functor<bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4>, T_arg1,T_arg2,T_arg3,T_arg4 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline retype_functor<bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
-retype(const bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_functor)
-{ return retype_functor<bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
-retype(const bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_functor)
-{ return retype_functor<bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 >
- (_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor.
- * This function template specialization works on sigc::bound_const_volatile_mem_functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on.
- *
- * @ingroup retype
- */
-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>
-inline retype_functor<bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
-retype(const bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_functor)
-{ return retype_functor<bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 >
- (_A_functor); }
-
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_RETYPEHM4_ */
diff --git a/libs/sigc++2/sigc++/adaptors/retype_return.h b/libs/sigc++2/sigc++/adaptors/retype_return.h
deleted file mode 100644
index ea413a0b30..0000000000
--- a/libs/sigc++2/sigc++/adaptors/retype_return.h
+++ /dev/null
@@ -1,308 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_ADAPTORS_MACROS_RETYPE_RETURNHM4_
-#define _SIGC_ADAPTORS_MACROS_RETYPE_RETURNHM4_
-#include <sigc++/adaptors/adaptor_trait.h>
-
-namespace sigc {
-
-/** Adaptor that perform a C-style cast on the return value of a functor.
- * Use the convenience function sigc::retype_return() to create an instance of retype_return_functor.
- *
- * The following template arguments are used:
- * - @e T_return Target type of the C-style cast.
- * - @e T_functor Type of the functor to wrap.
- *
- * @ingroup retype
- */
-template <class T_return, class T_functor>
-struct retype_return_functor : public adapts<T_functor>
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_return type; };
- typedef T_return result_type;
-
- T_return operator()();
-
- template <class T_arg1>
- inline T_return operator()(T_arg1 _A_a1)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- inline T_return sun_forte_workaround(T_arg1 _A_a1)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1));
- }
- #endif
-
- template <class T_arg1,class T_arg2>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_a1,_A_a2));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_a1,_A_a2));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_a1,_A_a2,_A_a3));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_a1,_A_a2,_A_a3));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7));
- }
- #endif
-
- retype_return_functor() {}
-
- /** Constructs a retype_return_functor object that perform a C-style cast on the return value of the passed functor.
- * @param _A_functor Functor to invoke from operator()().
- */
- explicit retype_return_functor(typename type_trait<T_functor>::take _A_functor)
- : adapts<T_functor>(_A_functor)
- {}
-};
-
-template <class T_return, class T_functor>
-T_return retype_return_functor<T_return, T_functor>::operator()()
- { return T_return(this->functor_()); }
-
-
-/** Adaptor that perform a C-style cast on the return value of a functor.
- * This template specialization is for a void return. It drops the return value of the functor it invokes.
- * Use the convenience function sigc::hide_return() to create an instance of sigc::retype_return_functor<void>.
- *
- * @ingroup retype
- */
-/* The void specialization needed because of explicit cast to T_return.
- */
-template <class T_functor>
-struct retype_return_functor<void, T_functor> : public adapts<T_functor>
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef void type; };
- typedef void result_type;
-
- void operator()();
-
- template <class T_arg1>
- inline void operator()(T_arg1 _A_a1)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- inline void sun_forte_workaround(T_arg1 _A_a1)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass>
- (_A_a1);
- }
- #endif
-
- template <class T_arg1,class T_arg2>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_a1,_A_a2);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass>
- (_A_a1,_A_a2);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_a1,_A_a2,_A_a3);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass>
- (_A_a1,_A_a2,_A_a3);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::pass,typename type_trait<T_arg2>::pass,typename type_trait<T_arg3>::pass,typename type_trait<T_arg4>::pass,typename type_trait<T_arg5>::pass,typename type_trait<T_arg6>::pass,typename type_trait<T_arg7>::pass>
- (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- }
- #endif
-
- retype_return_functor() {}
- retype_return_functor(typename type_trait<T_functor>::take _A_functor)
- : adapts<T_functor>(_A_functor)
- {}
-};
-
-template <class T_functor>
-void retype_return_functor<void, T_functor>::operator()()
- { this->functor_(); }
-
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::retype_return_functor performs a functor on the
- * functor stored in the sigc::retype_return_functor object.
- *
- * @ingroup retype
- */
-template <class T_action, class T_return, class T_functor>
-void visit_each(const T_action& _A_action,
- const retype_return_functor<T_return, T_functor>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
-}
-
-
-/** Creates an adaptor of type sigc::retype_return_functor which performs a C-style cast on the return value of the passed functor.
- * The template argument @e T_return specifies the target type of the cast.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor performing a C-style casts on the return value.
- *
- * @ingroup retype
- */
-template <class T_return, class T_functor>
-inline retype_return_functor<T_return, T_functor>
-retype_return(const T_functor& _A_functor)
- { return retype_return_functor<T_return, T_functor>(_A_functor); }
-
-/** Creates an adaptor of type sigc::retype_return_functor which drops the return value of the passed functor.
- *
- * @param _A_functor Functor that should be wrapped.
- * @return Adaptor that executes @e _A_functor dropping its return value.
- *
- * @ingroup hide
- */
-template <class T_functor>
-inline retype_return_functor<void, T_functor>
-hide_return(const T_functor& _A_functor)
- { return retype_return_functor<void, T_functor>(_A_functor); }
-
-} /* namespace sigc */
-#endif /* _SIGC_ADAPTORS_MACROS_RETYPE_RETURNHM4_ */
diff --git a/libs/sigc++2/sigc++/bind.h b/libs/sigc++2/sigc++/bind.h
deleted file mode 100644
index bebf08b58b..0000000000
--- a/libs/sigc++2/sigc++/bind.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_BIND_HPP_
-#define _SIGC_BIND_HPP_
-
-#include <sigc++/adaptors/bind.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-template <class T_bound1, class T_functor>
-inline ::sigc::bind_functor<-1, T_functor,
- typename ::sigc::unwrap_reference<T_bound1>::type>
-bind(const T_functor& _A_functor, T_bound1 _A_b1)
-{ return ::sigc::bind_functor<-1, T_functor,
- typename ::sigc::unwrap_reference<T_bound1>::type>
- (_A_functor, _A_b1);
-}
-
-template <class T_bound1, class T_bound2, class T_functor>
-inline ::sigc::bind_functor<-1, T_functor,
- typename ::sigc::unwrap_reference<T_bound1>::type,
- typename ::sigc::unwrap_reference<T_bound2>::type>
-bind(const T_functor& _A_functor, T_bound1 _A_b1, T_bound2 _A_b2)
-{ return ::sigc::bind_functor<-1, T_functor,
- typename ::sigc::unwrap_reference<T_bound1>::type,
- typename ::sigc::unwrap_reference<T_bound2>::type>
- (_A_functor, _A_b1, _A_b2);
-}
-
-template <class T_bound1, class T_bound2, class T_bound3, class T_functor>
-inline ::sigc::bind_functor<-1, T_functor,
- typename ::sigc::unwrap_reference<T_bound1>::type,
- typename ::sigc::unwrap_reference<T_bound2>::type,
- typename ::sigc::unwrap_reference<T_bound3>::type>
-bind(const T_functor& _A_functor, T_bound1 _A_b1, T_bound2 _A_b2,T_bound3 _A_b3)
-{ return ::sigc::bind_functor<-1, T_functor,
- typename ::sigc::unwrap_reference<T_bound1>::type,
- typename ::sigc::unwrap_reference<T_bound2>::type,
- typename ::sigc::unwrap_reference<T_bound3>::type>
- (_A_functor, _A_b1, _A_b2, _A_b3);
-}
-
-}
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-
-#endif /* _SIGC_BIND_HPP_ */
diff --git a/libs/sigc++2/sigc++/bind_return.h b/libs/sigc++2/sigc++/bind_return.h
deleted file mode 100644
index a0796cf2c3..0000000000
--- a/libs/sigc++2/sigc++/bind_return.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_BIND_RETURN_HPP_
-#define _SIGC_BIND_RETURN_HPP_
-
-#include <sigc++/adaptors/bind_return.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-using ::sigc::bind_return;
-
-}
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-
-#endif /* _SIGC_BIND_RETURN_HPP_ */
diff --git a/libs/sigc++2/sigc++/class_slot.h b/libs/sigc++2/sigc++/class_slot.h
deleted file mode 100644
index df644bfd04..0000000000
--- a/libs/sigc++2/sigc++/class_slot.h
+++ /dev/null
@@ -1,568 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-
-#ifndef _SIGC_MACROS_CLASS_SLOTHM4_
-#define _SIGC_MACROS_CLASS_SLOTHM4_
-
-#include <sigc++/slot.h>
-#include <sigc++/functors/mem_fun.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-// slot_class()
-/** Creates a functor of type SigC::Slot0 that encapsulates a method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj>
-inline Slot0<T_return>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)() )
-{ return ::sigc::bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot1 that encapsulates a method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj>
-inline Slot1<T_return, T_arg1>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1) )
-{ return ::sigc::bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot2 that encapsulates a method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2) )
-{ return ::sigc::bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot3 that encapsulates a method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ return ::sigc::bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot4 that encapsulates a method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ return ::sigc::bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot5 that encapsulates a method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ return ::sigc::bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot6 that encapsulates a method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ return ::sigc::bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot7 that encapsulates a method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) )
-{ return ::sigc::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); }
-
-
-/** Creates a functor of type SigC::Slot0 that encapsulates a const method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj>
-inline Slot0<T_return>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)() const)
-{ return ::sigc::bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot1 that encapsulates a const method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj>
-inline Slot1<T_return, T_arg1>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1) const)
-{ return ::sigc::bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot2 that encapsulates a const method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2) const)
-{ return ::sigc::bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot3 that encapsulates a const method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ return ::sigc::bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot4 that encapsulates a const method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ return ::sigc::bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot5 that encapsulates a const method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ return ::sigc::bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot6 that encapsulates a const method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const)
-{ return ::sigc::bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot7 that encapsulates a const method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const)
-{ return ::sigc::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); }
-
-
-/** Creates a functor of type SigC::Slot0 that encapsulates a volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj>
-inline Slot0<T_return>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)() volatile)
-{ return ::sigc::bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot1 that encapsulates a volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj>
-inline Slot1<T_return, T_arg1>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1) volatile)
-{ return ::sigc::bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot2 that encapsulates a volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2) volatile)
-{ return ::sigc::bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot3 that encapsulates a volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ return ::sigc::bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot4 that encapsulates a volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ return ::sigc::bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot5 that encapsulates a volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ return ::sigc::bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot6 that encapsulates a volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile)
-{ return ::sigc::bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot7 that encapsulates a volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot_class( T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile)
-{ return ::sigc::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); }
-
-
-/** Creates a functor of type SigC::Slot0 that encapsulates a const volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj>
-inline Slot0<T_return>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)() const volatile)
-{ return ::sigc::bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot1 that encapsulates a const volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj>
-inline Slot1<T_return, T_arg1>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1) const volatile)
-{ return ::sigc::bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot2 that encapsulates a const volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2) const volatile)
-{ return ::sigc::bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot3 that encapsulates a const volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ return ::sigc::bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot4 that encapsulates a const volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ return ::sigc::bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot5 that encapsulates a const volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile)
-{ return ::sigc::bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot6 that encapsulates a const volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile)
-{ return ::sigc::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); }
-
-/** Creates a functor of type SigC::Slot7 that encapsulates a const volatile method and an object instance.
- *
- * This function is part of the compatibility module and therefore deprecated.
- * Use sigc::mem_fun() instead.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot_class(const T_obj& _A_obj, T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile)
-{ return ::sigc::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); }
-
-
-
-}
-
-#endif
-#endif /* _SIGC_MACROS_CLASS_SLOTHM4_ */
diff --git a/libs/sigc++2/sigc++/compatibility.h b/libs/sigc++2/sigc++/compatibility.h
deleted file mode 100644
index 3c5006c0f0..0000000000
--- a/libs/sigc++2/sigc++/compatibility.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_COMPATIBILITY_HPP_
-#define _SIGC_COMPATIBILITY_HPP_
-
-#include <sigc++/signal.h>
-#include <sigc++/connection.h>
-#include <sigc++/object_slot.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-/** @defgroup compat Compatibility module
- * This set of types and functions provides an API that is compatible to
- * libsigc++-1.2. Some internal structures of libsigc++-1.2 are not available.
- *
- * All types and functions that are defined in namespace SigC are deprecated.
- * Use the new libsigc++2 API that is defined in namespace sigc.
- */
-
-}
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-
-#endif /* _SIGC_COMPATIBILITY_HPP_ */
diff --git a/libs/sigc++2/sigc++/connection.cc b/libs/sigc++2/sigc++/connection.cc
deleted file mode 100644
index 8f4363482f..0000000000
--- a/libs/sigc++2/sigc++/connection.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <sigc++/connection.h>
-using namespace std;
-
-namespace sigc {
-
-connection::connection()
-: slot_(0)
-{}
-
-connection::connection(const connection& c)
-: slot_(c.slot_)
-{
- //Let the connection forget about the signal handler when the handler object dies:
- if (slot_)
- slot_->add_destroy_notify_callback(this, &notify);
-}
-
-connection::connection(slot_base& sl)
-: slot_(&sl)
-{
- //Let the connection forget about the signal handler when the handler object dies:
- slot_->add_destroy_notify_callback(this, &notify);
-}
-
-connection& connection::operator=(const connection& c)
-{
- set_slot(c.slot_);
- return *this;
-}
-
-connection::~connection()
-{
- if (slot_)
- slot_->remove_destroy_notify_callback(this);
-}
-
-bool connection::empty() const
-{
- return (!slot_ || slot_->empty());
-}
-
-bool connection::connected() const
-{
- return !empty();
-}
-
-bool connection::blocked() const
-{
- return (slot_ ? slot_->blocked() : false);
-}
-
-bool connection::block(bool should_block)
-{
- return (slot_ ? slot_->block(should_block) : false);
-}
-
-bool connection::unblock()
-{
- return (slot_ ? slot_->unblock() : false);
-}
-
-void connection::disconnect()
-{
- if (slot_)
- slot_->disconnect(); // This notifies slot_'s parent.
-}
-
-connection::operator bool()
-{
- return !empty();
-}
-
-void connection::set_slot(slot_base* sl)
-{
- if (slot_)
- slot_->remove_destroy_notify_callback(this);
-
- slot_ = sl;
-
- if (slot_)
- slot_->add_destroy_notify_callback(this, &notify);
-}
-
-void* connection::notify(void* data)
-{
- connection* self = (connection*)data;
- self->slot_ = 0;
- return 0;
-}
-
-} /* namespace sigc */
diff --git a/libs/sigc++2/sigc++/connection.h b/libs/sigc++2/sigc++/connection.h
deleted file mode 100644
index 170db55618..0000000000
--- a/libs/sigc++2/sigc++/connection.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_CONNECTION_HPP_
-#define _SIGC_CONNECTION_HPP_
-#include <sigc++config.h>
-#include <sigc++/signal.h>
-
-namespace sigc {
-
-/** Convinience class for safe disconnection.
- * Iterators must not be used beyond the lifetime of the list
- * they work on. A connection object can be created from a
- * slot list iterator and may safely be used to disconnect
- * the referred slot at any time (disconnect()). If the slot
- * has already been destroyed, disconnect() does nothing. empty() or
- * operator bool() can be used to test whether the connection is
- * still active. The connection can be blocked (block(), unblock()).
- *
- * This is possible because the connection object gets notified
- * when the referred slot dies (notify()).
- *
- * @ingroup signal
- */
-struct SIGC_API connection
-{
- /** Constructs an empty connection object. */
- connection();
-
- /** Constructs a connection object copying an existing one.
- * @param c The connection object to make a copy from.
- */
- connection(const connection& c);
-
- /** Constructs a connection object from a slot list iterator.
- * @param it The slot list iterator to take the slot from.
- */
- template <typename T_slot>
- connection(const slot_iterator<T_slot>& it) : slot_(&(*it))
- { if (slot_) slot_->add_destroy_notify_callback(this, &notify); }
-
- /** Constructs a connection object from a slot object.
- * This is only useful if you create your own slot list.
- * @param sl The slot to operate on.
- */
- explicit connection(slot_base& sl);
-
- /** Overrides this connection object copying another one.
- * @param c The connection object to make a copy from.
- */
- connection& operator=(const connection& c);
-
- /** Overrides this connection object with another slot list iterator.
- * @param it The new slot list iterator to take the slot from.
- */
- template <typename T_slot>
- connection& operator=(const slot_iterator<T_slot>& it)
- { set_slot(&(*it)); return *this; }
-
- ~connection();
-
- /** Returns whether the connection is still active.
- * @return @p false if the connection is still active.
- */
- bool empty() const;
-
- /** Returns whether the connection is still active.
- * @return @p true if the connection is still active.
- */
- bool connected() const;
-
- /** Returns whether the connection is blocked.
- * @return @p true if the connection is blocked.
- */
- bool blocked() const;
-
- /** Sets or unsets the blocking state of this connection.
- * See slot_base::block() for details.
- * @param should_block Indicates whether the blocking state should be set or unset.
- * @return @p true if the connection has been in blocking state before.
- */
- bool block(bool should_block = true);
-
- /** Unsets the blocking state of this connection.
- * @return @p true if the connection has been in blocking state before.
- */
- bool unblock();
-
- /// Disconnects the referred slot.
- void disconnect();
-
- /** Returns whether the connection is still active.
- * @return @p true if the connection is still active.
- */
- operator bool();
-
- /** Callback that is executed when the referred slot is destroyed.
- * @param d The connection object notified (@p this).
- */
- static void* notify(void* data);
-
-private:
- void set_slot(slot_base* sl);
-
- /* Referred slot. Set to zero from notify().
- * A value of zero indicates an "empty" connection.
- */
- slot_base* slot_;
-};
-
-} /* namespace sigc */
-
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-/** Convinience class for safe disconnection.
- * Iterators must not be used beyond the lifetime of the list
- * they work on. A connection object can be created from a
- * slot list iterator and may safely be used to disconnect
- * the referred slot at any time (disconnect()). If the slot
- * has already been destroyed, disconnect() does nothing. empty() or
- * operator bool() can be used to test whether the connection is
- * still active. The connection can be blocked (block(), unblock()).
- *
- * This is possible because the connection object gets notified
- * when the referred slot dies (notify()).
- *
- * @deprecated Use sigc::connection instead.
- * @ingroup compat
- */
-typedef ::sigc::connection Connection;
-
-}
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-
-#endif /* _SIGC_TRACKABLE_HPP_ */
diff --git a/libs/sigc++2/sigc++/functors/.cvsignore b/libs/sigc++2/sigc++/functors/.cvsignore
deleted file mode 100644
index 1edeb79fd1..0000000000
--- a/libs/sigc++2/sigc++/functors/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.os
diff --git a/libs/sigc++2/sigc++/functors/functor_trait.h b/libs/sigc++2/sigc++/functors/functor_trait.h
deleted file mode 100644
index 0b7475273f..0000000000
--- a/libs/sigc++2/sigc++/functors/functor_trait.h
+++ /dev/null
@@ -1,307 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-/*
- Trait functor_trait<functor>:
-
- This trait allows the user to specific what is the return type
- of any type. It has been overloaded to detect the return type and
- the functor version of function pointers and class methods as well.
-
- To populate the return type of user defined and third party functors
- use the macro SIGC_FUNCTOR_TRAIT(T_functor,T_return) in
- namespace sigc. Multi-type functors are only partly supported.
- Try specifying the return type of the functor's operator()() overload.
-
- Alternatively, you can derive your functors from functor_base and
- place "typedef T_return result_type;" in the class definition.
-
- Use SIGC_FUNCTORS_HAVE_RESULT_TYPE if you want sigc++ to assume that
- result_type is defined in all user defined or 3rd-party functors
- (except those you specify a return type explicitly with SIGC_FUNCTOR_TRAIT()).
-
-*/
-#ifndef _SIGC_FUNCTORS_MACROS_FUNCTOR_TRAITHM4_
-#define _SIGC_FUNCTORS_MACROS_FUNCTOR_TRAITHM4_
-#include <sigc++/type_traits.h>
-
-
-namespace sigc {
-
-/** nil_ struct type.
- * The nil_ struct type is used as default template argument in the
- * unnumbered sigc::signal and sigc::slot templates.
- *
- * @ingroup signal
- * @ingroup slot
- */
-struct nil_;
-
-
-/** @defgroup functors Functors
- * Functors are copyable types that define operator()().
- *
- * Types that define operator()() overloads with different return types are referred to
- * as multi-type functors. Multi-type functors are only partly supported in libsigc++.
- *
- * Closures are functors that store all information needed to invoke a callback from operator()().
- *
- * Adaptors are functors that alter the signature of a functor's operator()().
- *
- * libsigc++ defines numerous functors, closures and adaptors.
- * Since libsigc++ is a callback libaray, most functors are also closures.
- * The documentation doesn't distinguish between functors and closures.
- *
- * The basic functor types libsigc++ provides are created with ptr_fun() and mem_fun()
- * and can be converted into slots implicitly.
- * The set of adaptors that ships with libsigc++ is documented in the equally named module.
- */
-
-/** A hint to the compiler.
- * All functors which define @p result_type should publically inherit from this hint.
- *
- * @ingroup functors
- */
-struct functor_base {};
-
-
-template <class T_functor, bool I_derives_functor_base=is_base_and_derived<functor_base,T_functor>::value>
-struct functor_trait
-{
- typedef void result_type;
- typedef T_functor functor_type;
-};
-
-template <class T_functor>
-struct functor_trait<T_functor,true>
-{
- typedef typename T_functor::result_type result_type;
- typedef T_functor functor_type;
-};
-
-/** If you want to mix functors from a different library with libsigc++ and
- * these functors define @p result_type simply use this macro inside namespace sigc like so:
- * @code
- * namespace sigc { SIGC_FUNCTORS_HAVE_RESULT_TYPE }
- * @endcode
- *
- * @ingroup functors
- */
-#define SIGC_FUNCTORS_HAVE_RESULT_TYPE \
-template <class T_functor> \
-struct functor_trait<T_functor,false> \
-{ \
- typedef typename T_functor::result_type result_type; \
- typedef T_functor functor_type; \
-};
-
-/** If you want to mix functors from a different library with libsigc++ and
- * these functors don't define @p result_type use this macro inside namespace sigc
- * to expose the return type of the functors like so:
- * @code
- * namespace sigc {
- * SIGC_FUNCTOR_TRAIT(first_functor_type, return_type_of_first_functor_type)
- * SIGC_FUNCTOR_TRAIT(second_functor_type, return_type_of_second_functor_type)
- * ...
- * }
- * @endcode
- *
- * @ingroup functors
- */
-#define SIGC_FUNCTOR_TRAIT(T_functor,T_return) \
-template <> \
-struct functor_trait<T_functor,false> \
-{ \
- typedef T_return result_type; \
- typedef T_functor functor_type; \
-};
-
-// detect the return type and the functor version of non-functor types.
-template <class T_return> class pointer_functor0;
-template <class T_return>
-struct functor_trait<T_return (*)(), false>
-{
- typedef T_return result_type;
- typedef pointer_functor0<T_return> functor_type;
-};
-
-template <class T_arg1, class T_return> class pointer_functor1;
-template <class T_arg1, class T_return>
-struct functor_trait<T_return (*)(T_arg1), false>
-{
- typedef T_return result_type;
- typedef pointer_functor1<T_arg1, T_return> functor_type;
-};
-
-template <class T_arg1,class T_arg2, class T_return> class pointer_functor2;
-template <class T_arg1,class T_arg2, class T_return>
-struct functor_trait<T_return (*)(T_arg1,T_arg2), false>
-{
- typedef T_return result_type;
- typedef pointer_functor2<T_arg1,T_arg2, T_return> functor_type;
-};
-
-template <class T_arg1,class T_arg2,class T_arg3, class T_return> class pointer_functor3;
-template <class T_arg1,class T_arg2,class T_arg3, class T_return>
-struct functor_trait<T_return (*)(T_arg1,T_arg2,T_arg3), false>
-{
- typedef T_return result_type;
- typedef pointer_functor3<T_arg1,T_arg2,T_arg3, T_return> functor_type;
-};
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return> class pointer_functor4;
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return>
-struct functor_trait<T_return (*)(T_arg1,T_arg2,T_arg3,T_arg4), false>
-{
- typedef T_return result_type;
- typedef pointer_functor4<T_arg1,T_arg2,T_arg3,T_arg4, T_return> functor_type;
-};
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return> class pointer_functor5;
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return>
-struct functor_trait<T_return (*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5), false>
-{
- typedef T_return result_type;
- typedef pointer_functor5<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_return> functor_type;
-};
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_return> class pointer_functor6;
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_return>
-struct functor_trait<T_return (*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6), false>
-{
- typedef T_return result_type;
- typedef pointer_functor6<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_return> functor_type;
-};
-
-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 pointer_functor7;
-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>
-struct functor_trait<T_return (*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7), false>
-{
- typedef T_return result_type;
- typedef pointer_functor7<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_return> functor_type;
-};
-
-
-template <class T_return, class T_obj> class mem_functor0;
-template <class T_return, class T_obj> class const_mem_functor0;
-template <class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(), false>
-{
- typedef T_return result_type;
- typedef mem_functor0<T_return, T_obj> functor_type;
-};
-template <class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)() const, false>
-{
- typedef T_return result_type;
- typedef const_mem_functor0<T_return, T_obj> functor_type;
-};
-
-template <class T_arg1, class T_return, class T_obj> class mem_functor1;
-template <class T_arg1, class T_return, class T_obj> class const_mem_functor1;
-template <class T_arg1, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1), false>
-{
- typedef T_return result_type;
- typedef mem_functor1<T_arg1, T_return, T_obj> functor_type;
-};
-template <class T_arg1, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1) const, false>
-{
- typedef T_return result_type;
- typedef const_mem_functor1<T_arg1, T_return, T_obj> functor_type;
-};
-
-template <class T_arg1,class T_arg2, class T_return, class T_obj> class mem_functor2;
-template <class T_arg1,class T_arg2, class T_return, class T_obj> class const_mem_functor2;
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2), false>
-{
- typedef T_return result_type;
- typedef mem_functor2<T_arg1,T_arg2, T_return, T_obj> functor_type;
-};
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2) const, false>
-{
- typedef T_return result_type;
- typedef const_mem_functor2<T_arg1,T_arg2, T_return, T_obj> functor_type;
-};
-
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj> class mem_functor3;
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj> class const_mem_functor3;
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3), false>
-{
- typedef T_return result_type;
- typedef mem_functor3<T_arg1,T_arg2,T_arg3, T_return, T_obj> functor_type;
-};
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3) const, false>
-{
- typedef T_return result_type;
- typedef const_mem_functor3<T_arg1,T_arg2,T_arg3, T_return, T_obj> functor_type;
-};
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj> class mem_functor4;
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj> class const_mem_functor4;
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3,T_arg4), false>
-{
- typedef T_return result_type;
- typedef mem_functor4<T_arg1,T_arg2,T_arg3,T_arg4, T_return, T_obj> functor_type;
-};
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3,T_arg4) const, false>
-{
- typedef T_return result_type;
- typedef const_mem_functor4<T_arg1,T_arg2,T_arg3,T_arg4, T_return, T_obj> functor_type;
-};
-
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj> class mem_functor5;
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj> class const_mem_functor5;
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5), false>
-{
- typedef T_return result_type;
- typedef mem_functor5<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_return, T_obj> functor_type;
-};
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const, false>
-{
- typedef T_return result_type;
- typedef const_mem_functor5<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_return, T_obj> functor_type;
-};
-
-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 mem_functor6;
-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 const_mem_functor6;
-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>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6), false>
-{
- typedef T_return result_type;
- typedef mem_functor6<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_return, T_obj> functor_type;
-};
-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>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const, false>
-{
- typedef T_return result_type;
- typedef const_mem_functor6<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_return, T_obj> functor_type;
-};
-
-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 mem_functor7;
-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 const_mem_functor7;
-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>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7), false>
-{
- typedef T_return result_type;
- typedef mem_functor7<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_return, T_obj> functor_type;
-};
-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>
-struct functor_trait<T_return (T_obj::*)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const, false>
-{
- typedef T_return result_type;
- typedef const_mem_functor7<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_return, T_obj> functor_type;
-};
-
-
-
-} /* namespace sigc */
-#endif /* _SIGC_FUNCTORS_MACROS_FUNCTOR_TRAITHM4_ */
diff --git a/libs/sigc++2/sigc++/functors/functors.h b/libs/sigc++2/sigc++/functors/functors.h
deleted file mode 100644
index 3a9619c21d..0000000000
--- a/libs/sigc++2/sigc++/functors/functors.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_FUNCTOR_HPP_
-#define _SIGC_FUNCTOR_HPP_
-
-#include <sigc++/functors/slot.h>
-#include <sigc++/functors/ptr_fun.h>
-#include <sigc++/functors/mem_fun.h>
-
-#endif /* _SIGC_FUNCTOR_HPP_ */
diff --git a/libs/sigc++2/sigc++/functors/mem_fun.h b/libs/sigc++2/sigc++/functors/mem_fun.h
deleted file mode 100644
index 2bd7cde67f..0000000000
--- a/libs/sigc++2/sigc++/functors/mem_fun.h
+++ /dev/null
@@ -1,5976 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-
-// implementation notes:
-// - we do not use bind here, because it would introduce
-// an extra copy and complicate the header include order if bind is
-// to have automatic conversion for member pointers.
-#ifndef _SIGC_FUNCTORS_MACROS_MEM_FUNHM4_
-#define _SIGC_FUNCTORS_MACROS_MEM_FUNHM4_
-#include <sigc++/type_traits.h>
-#include <sigc++/functors/functor_trait.h>
-
-namespace sigc {
-
-/** @defgroup mem_fun mem_fun()
- * mem_fun() is used to convert a pointer to a method to a functor.
- *
- * Optionally a reference or pointer to an object can be bound to the functor.
- * Note that only if the object type inherits from sigc::trackable
- * the slot is cleared automatically when the object goes out of scope!
- *
- * If the member function pointer is to an overloaded type, you must specify
- * the types using template arguments starting with the first argument.
- * It is not necessary to supply the return type.
- *
- * @par Example:
- * @code
- * struct foo : public sigc::trackable
- * {
- * void bar(int) {}
- * };
- * foo my_foo;
- * sigc::slot<void, int> sl = sigc::mem_fun(my_foo, &foo::bar);
- * @endcode
- *
- * For const methods mem_fun() takes a const reference or pointer to an object.
- *
- * @par Example:
- * @code
- * struct foo : public sigc::trackable
- * {
- * void bar(int) const {}
- * };
- * const foo my_foo;
- * sigc::slot<void, int> sl = sigc::mem_fun(my_foo, &foo::bar);
- * @endcode
- *
- * Use mem_fun#() if there is an abiguity as to the number of arguments.
- *
- * @par Example:
- * @code
- * struct foo : public sigc::trackable
- * {
- * void bar(int) {}
- * void bar(float) {}
- * void bar(int, int) {}
- * };
- * foo my_foo;
- * sigc::slot<void, int> sl = sigc::mem_fun1<int>(my_foo, &foo::bar);
- * @endcode
- *
- * @ingroup functors
- */
-
-/** mem_functor0 wraps methods with 0 argument(s).
- * Use the convenience function mem_fun() to create an instance of mem_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-class mem_functor0 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)() ;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- mem_functor0() : func_ptr_(0) {}
-
- /** Constructs a mem_functor0 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj* _A_obj) const
- { return (_A_obj->*(this->func_ptr_))(); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj& _A_obj) const
- { return (_A_obj.*func_ptr_)(); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** mem_functor1 wraps methods with 1 argument(s).
- * Use the convenience function mem_fun() to create an instance of mem_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1>
-class mem_functor1 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1) ;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- mem_functor1() : func_ptr_(0) {}
-
- /** Constructs a mem_functor1 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1) const
- { return (_A_obj->*(this->func_ptr_))(_A_a1); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1) const
- { return (_A_obj.*func_ptr_)(_A_a1); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** mem_functor2 wraps methods with 2 argument(s).
- * Use the convenience function mem_fun() to create an instance of mem_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-class mem_functor2 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2) ;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- mem_functor2() : func_ptr_(0) {}
-
- /** Constructs a mem_functor2 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** mem_functor3 wraps methods with 3 argument(s).
- * Use the convenience function mem_fun() to create an instance of mem_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-class mem_functor3 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3) ;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- mem_functor3() : func_ptr_(0) {}
-
- /** Constructs a mem_functor3 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** mem_functor4 wraps methods with 4 argument(s).
- * Use the convenience function mem_fun() to create an instance of mem_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class mem_functor4 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4) ;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- mem_functor4() : func_ptr_(0) {}
-
- /** Constructs a mem_functor4 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** mem_functor5 wraps methods with 5 argument(s).
- * Use the convenience function mem_fun() to create an instance of mem_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class mem_functor5 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) ;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- mem_functor5() : func_ptr_(0) {}
-
- /** Constructs a mem_functor5 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** mem_functor6 wraps methods with 6 argument(s).
- * Use the convenience function mem_fun() to create an instance of mem_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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 mem_functor6 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) ;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- mem_functor6() : func_ptr_(0) {}
-
- /** Constructs a mem_functor6 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** mem_functor7 wraps methods with 7 argument(s).
- * Use the convenience function mem_fun() to create an instance of mem_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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>
-class mem_functor7 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) ;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- mem_functor7() : func_ptr_(0) {}
-
- /** Constructs a mem_functor7 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_mem_functor0 wraps const methods with 0 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_mem_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-class const_mem_functor0 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)() const;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_mem_functor0() : func_ptr_(0) {}
-
- /** Constructs a const_mem_functor0 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @return The return value of the method invocation.
- */
- T_return operator()(const T_obj* _A_obj) const
- { return (_A_obj->*(this->func_ptr_))(); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @return The return value of the method invocation.
- */
- T_return operator()(const T_obj& _A_obj) const
- { return (_A_obj.*func_ptr_)(); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_mem_functor1 wraps const methods with 1 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_mem_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1>
-class const_mem_functor1 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1) const;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_mem_functor1() : func_ptr_(0) {}
-
- /** Constructs a const_mem_functor1 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1) const
- { return (_A_obj->*(this->func_ptr_))(_A_a1); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1) const
- { return (_A_obj.*func_ptr_)(_A_a1); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_mem_functor2 wraps const methods with 2 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_mem_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-class const_mem_functor2 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2) const;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_mem_functor2() : func_ptr_(0) {}
-
- /** Constructs a const_mem_functor2 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_mem_functor3 wraps const methods with 3 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_mem_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-class const_mem_functor3 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3) const;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_mem_functor3() : func_ptr_(0) {}
-
- /** Constructs a const_mem_functor3 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_mem_functor4 wraps const methods with 4 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_mem_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class const_mem_functor4 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4) const;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_mem_functor4() : func_ptr_(0) {}
-
- /** Constructs a const_mem_functor4 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_mem_functor5 wraps const methods with 5 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_mem_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class const_mem_functor5 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_mem_functor5() : func_ptr_(0) {}
-
- /** Constructs a const_mem_functor5 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_mem_functor6 wraps const methods with 6 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_mem_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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 const_mem_functor6 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_mem_functor6() : func_ptr_(0) {}
-
- /** Constructs a const_mem_functor6 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_mem_functor7 wraps const methods with 7 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_mem_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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>
-class const_mem_functor7 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_mem_functor7() : func_ptr_(0) {}
-
- /** Constructs a const_mem_functor7 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** volatile_mem_functor0 wraps volatile methods with 0 argument(s).
- * Use the convenience function mem_fun() to create an instance of volatile_mem_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-class volatile_mem_functor0 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)() volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- volatile_mem_functor0() : func_ptr_(0) {}
-
- /** Constructs a volatile_mem_functor0 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit volatile_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj* _A_obj) const
- { return (_A_obj->*(this->func_ptr_))(); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj& _A_obj) const
- { return (_A_obj.*func_ptr_)(); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** volatile_mem_functor1 wraps volatile methods with 1 argument(s).
- * Use the convenience function mem_fun() to create an instance of volatile_mem_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1>
-class volatile_mem_functor1 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1) volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- volatile_mem_functor1() : func_ptr_(0) {}
-
- /** Constructs a volatile_mem_functor1 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit volatile_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1) const
- { return (_A_obj->*(this->func_ptr_))(_A_a1); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1) const
- { return (_A_obj.*func_ptr_)(_A_a1); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** volatile_mem_functor2 wraps volatile methods with 2 argument(s).
- * Use the convenience function mem_fun() to create an instance of volatile_mem_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-class volatile_mem_functor2 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2) volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- volatile_mem_functor2() : func_ptr_(0) {}
-
- /** Constructs a volatile_mem_functor2 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit volatile_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** volatile_mem_functor3 wraps volatile methods with 3 argument(s).
- * Use the convenience function mem_fun() to create an instance of volatile_mem_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-class volatile_mem_functor3 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3) volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- volatile_mem_functor3() : func_ptr_(0) {}
-
- /** Constructs a volatile_mem_functor3 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit volatile_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** volatile_mem_functor4 wraps volatile methods with 4 argument(s).
- * Use the convenience function mem_fun() to create an instance of volatile_mem_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class volatile_mem_functor4 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4) volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- volatile_mem_functor4() : func_ptr_(0) {}
-
- /** Constructs a volatile_mem_functor4 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit volatile_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** volatile_mem_functor5 wraps volatile methods with 5 argument(s).
- * Use the convenience function mem_fun() to create an instance of volatile_mem_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class volatile_mem_functor5 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- volatile_mem_functor5() : func_ptr_(0) {}
-
- /** Constructs a volatile_mem_functor5 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit volatile_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** volatile_mem_functor6 wraps volatile methods with 6 argument(s).
- * Use the convenience function mem_fun() to create an instance of volatile_mem_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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 volatile_mem_functor6 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- volatile_mem_functor6() : func_ptr_(0) {}
-
- /** Constructs a volatile_mem_functor6 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit volatile_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** volatile_mem_functor7 wraps volatile methods with 7 argument(s).
- * Use the convenience function mem_fun() to create an instance of volatile_mem_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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>
-class volatile_mem_functor7 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- volatile_mem_functor7() : func_ptr_(0) {}
-
- /** Constructs a volatile_mem_functor7 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit volatile_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_volatile_mem_functor0 wraps const volatile methods with 0 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-class const_volatile_mem_functor0 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)() const volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_volatile_mem_functor0() : func_ptr_(0) {}
-
- /** Constructs a const_volatile_mem_functor0 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_volatile_mem_functor0(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @return The return value of the method invocation.
- */
- T_return operator()(const T_obj* _A_obj) const
- { return (_A_obj->*(this->func_ptr_))(); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @return The return value of the method invocation.
- */
- T_return operator()(const T_obj& _A_obj) const
- { return (_A_obj.*func_ptr_)(); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_volatile_mem_functor1 wraps const volatile methods with 1 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1>
-class const_volatile_mem_functor1 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1) const volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_volatile_mem_functor1() : func_ptr_(0) {}
-
- /** Constructs a const_volatile_mem_functor1 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_volatile_mem_functor1(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(const T_obj* _A_obj, typename type_trait<T_arg1>::take _A_a1) const
- { return (_A_obj->*(this->func_ptr_))(_A_a1); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(const T_obj& _A_obj, typename type_trait<T_arg1>::take _A_a1) const
- { return (_A_obj.*func_ptr_)(_A_a1); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_volatile_mem_functor2 wraps const volatile methods with 2 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-class const_volatile_mem_functor2 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2) const volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_volatile_mem_functor2() : func_ptr_(0) {}
-
- /** Constructs a const_volatile_mem_functor2 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_volatile_mem_functor2(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-class const_volatile_mem_functor3 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3) const volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_volatile_mem_functor3() : func_ptr_(0) {}
-
- /** Constructs a const_volatile_mem_functor3 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_volatile_mem_functor3(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_volatile_mem_functor4 wraps const volatile methods with 4 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class const_volatile_mem_functor4 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_volatile_mem_functor4() : func_ptr_(0) {}
-
- /** Constructs a const_volatile_mem_functor4 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_volatile_mem_functor4(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_volatile_mem_functor5 wraps const volatile methods with 5 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class const_volatile_mem_functor5 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_volatile_mem_functor5() : func_ptr_(0) {}
-
- /** Constructs a const_volatile_mem_functor5 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_volatile_mem_functor5(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_volatile_mem_functor6 wraps const volatile methods with 6 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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 const_volatile_mem_functor6 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_volatile_mem_functor6() : func_ptr_(0) {}
-
- /** Constructs a const_volatile_mem_functor6 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_volatile_mem_functor6(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** const_volatile_mem_functor7 wraps const volatile methods with 7 argument(s).
- * Use the convenience function mem_fun() to create an instance of const_volatile_mem_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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>
-class const_volatile_mem_functor7 : public functor_base
-{
-public:
- typedef T_return (T_obj::*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile;
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- const_volatile_mem_functor7() : func_ptr_(0) {}
-
- /** Constructs a const_volatile_mem_functor7 object that wraps the passed method.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- explicit const_volatile_mem_functor7(function_type _A_func) : func_ptr_(_A_func) {}
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Pointer to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
- /** Execute the wrapped method operating on the passed instance.
- * @param _A_obj Reference to instance the method should operate on.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (_A_obj.*func_ptr_)(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
-protected:
- function_type func_ptr_;
-};
-
-/** bound_mem_functor0 encapsulates a method with 0 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_mem_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-class bound_mem_functor0
- : public mem_functor0<T_return, T_obj>
-{
- typedef mem_functor0<T_return, T_obj> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_mem_functor0 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor0( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_mem_functor0 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor0( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @return The return value of the method invocation.
- */
- T_return operator()() const
- { return (obj_ptr_->*(this->func_ptr_))(); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj>
-void visit_each(const T_action& _A_action,
- const bound_mem_functor0<T_return, T_obj>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_mem_functor1 encapsulates a method with 1 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_mem_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1>
-class bound_mem_functor1
- : public mem_functor1<T_return, T_obj, T_arg1>
-{
- typedef mem_functor1<T_return, T_obj, T_arg1> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_mem_functor1 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor1( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_mem_functor1 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor1( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1>
-void visit_each(const T_action& _A_action,
- const bound_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_mem_functor2 encapsulates a method with 2 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_mem_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-class bound_mem_functor2
- : public mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-{
- typedef mem_functor2<T_return, T_obj, T_arg1,T_arg2> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_mem_functor2 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor2( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_mem_functor2 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor2( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2>
-void visit_each(const T_action& _A_action,
- const bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_mem_functor3 encapsulates a method with 3 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_mem_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-class bound_mem_functor3
- : public mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-{
- typedef mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_mem_functor3 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor3( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_mem_functor3 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor3( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-void visit_each(const T_action& _A_action,
- const bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_mem_functor4 encapsulates a method with 4 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_mem_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class bound_mem_functor4
- : public mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-{
- typedef mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_mem_functor4 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor4( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_mem_functor4 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor4( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-void visit_each(const T_action& _A_action,
- const bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_mem_functor5 encapsulates a method with 5 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_mem_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class bound_mem_functor5
- : public mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-{
- typedef mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_mem_functor5 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor5( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_mem_functor5 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor5( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_mem_functor6 encapsulates a method with 6 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_mem_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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 bound_mem_functor6
- : public mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-{
- typedef mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_mem_functor6 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor6( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_mem_functor6 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor6( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_mem_functor7 encapsulates a method with 7 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_mem_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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>
-class bound_mem_functor7
- : public mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-{
- typedef mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_mem_functor7 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor7( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_mem_functor7 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_mem_functor7( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_mem_functor0 encapsulates a const method with 0 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-class bound_const_mem_functor0
- : public const_mem_functor0<T_return, T_obj>
-{
- typedef const_mem_functor0<T_return, T_obj> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_mem_functor0 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor0(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_mem_functor0 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor0(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @return The return value of the method invocation.
- */
- T_return operator()() const
- { return (obj_ptr_->*(this->func_ptr_))(); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj>
-void visit_each(const T_action& _A_action,
- const bound_const_mem_functor0<T_return, T_obj>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_mem_functor1 encapsulates a const method with 1 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1>
-class bound_const_mem_functor1
- : public const_mem_functor1<T_return, T_obj, T_arg1>
-{
- typedef const_mem_functor1<T_return, T_obj, T_arg1> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_mem_functor1 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor1(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_mem_functor1 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor1(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1>
-void visit_each(const T_action& _A_action,
- const bound_const_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_mem_functor2 encapsulates a const method with 2 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-class bound_const_mem_functor2
- : public const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-{
- typedef const_mem_functor2<T_return, T_obj, T_arg1,T_arg2> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_mem_functor2 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor2(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_mem_functor2 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor2(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2>
-void visit_each(const T_action& _A_action,
- const bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_mem_functor3 encapsulates a const method with 3 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-class bound_const_mem_functor3
- : public const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-{
- typedef const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_mem_functor3 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor3(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_mem_functor3 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor3(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-void visit_each(const T_action& _A_action,
- const bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_mem_functor4 encapsulates a const method with 4 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class bound_const_mem_functor4
- : public const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-{
- typedef const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_mem_functor4 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor4(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_mem_functor4 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor4(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-void visit_each(const T_action& _A_action,
- const bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_mem_functor5 encapsulates a const method with 5 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class bound_const_mem_functor5
- : public const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-{
- typedef const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_mem_functor5 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor5(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_mem_functor5 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor5(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_mem_functor6 encapsulates a const method with 6 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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 bound_const_mem_functor6
- : public const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-{
- typedef const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_mem_functor6 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor6(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_mem_functor6 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor6(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_mem_functor7 encapsulates a const method with 7 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_mem_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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>
-class bound_const_mem_functor7
- : public const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-{
- typedef const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_mem_functor7 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor7(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_mem_functor7 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_mem_functor7(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- 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)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_volatile_mem_functor0 encapsulates a volatile method with 0 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-class bound_volatile_mem_functor0
- : public volatile_mem_functor0<T_return, T_obj>
-{
- typedef volatile_mem_functor0<T_return, T_obj> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_volatile_mem_functor0 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor0( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_volatile_mem_functor0 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor0( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @return The return value of the method invocation.
- */
- T_return operator()() const
- { return (obj_ptr_->*(this->func_ptr_))(); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj>
-void visit_each(const T_action& _A_action,
- const bound_volatile_mem_functor0<T_return, T_obj>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_volatile_mem_functor1 encapsulates a volatile method with 1 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1>
-class bound_volatile_mem_functor1
- : public volatile_mem_functor1<T_return, T_obj, T_arg1>
-{
- typedef volatile_mem_functor1<T_return, T_obj, T_arg1> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_volatile_mem_functor1 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor1( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_volatile_mem_functor1 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor1( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1>
-void visit_each(const T_action& _A_action,
- const bound_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_volatile_mem_functor2 encapsulates a volatile method with 2 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-class bound_volatile_mem_functor2
- : public volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-{
- typedef volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_volatile_mem_functor2 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor2( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_volatile_mem_functor2 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor2( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2>
-void visit_each(const T_action& _A_action,
- const bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_volatile_mem_functor3 encapsulates a volatile method with 3 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-class bound_volatile_mem_functor3
- : public volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-{
- typedef volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_volatile_mem_functor3 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor3( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_volatile_mem_functor3 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor3( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-void visit_each(const T_action& _A_action,
- const bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_volatile_mem_functor4 encapsulates a volatile method with 4 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class bound_volatile_mem_functor4
- : public volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-{
- typedef volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_volatile_mem_functor4 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor4( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_volatile_mem_functor4 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor4( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-void visit_each(const T_action& _A_action,
- const bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_volatile_mem_functor5 encapsulates a volatile method with 5 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class bound_volatile_mem_functor5
- : public volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-{
- typedef volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_volatile_mem_functor5 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor5( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_volatile_mem_functor5 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor5( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_volatile_mem_functor6 encapsulates a volatile method with 6 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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 bound_volatile_mem_functor6
- : public volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-{
- typedef volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_volatile_mem_functor6 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor6( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_volatile_mem_functor6 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor6( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_volatile_mem_functor7 encapsulates a volatile method with 7 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_volatile_mem_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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>
-class bound_volatile_mem_functor7
- : public volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-{
- typedef volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_volatile_mem_functor7 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor7( T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_volatile_mem_functor7 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_volatile_mem_functor7( T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
-//protected:
- /// Pointer to stored object instance.
- T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- 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)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_volatile_mem_functor0 encapsulates a const volatile method with 0 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-class bound_const_volatile_mem_functor0
- : public const_volatile_mem_functor0<T_return, T_obj>
-{
- typedef const_volatile_mem_functor0<T_return, T_obj> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_volatile_mem_functor0 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor0(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_volatile_mem_functor0 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor0(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @return The return value of the method invocation.
- */
- T_return operator()() const
- { return (obj_ptr_->*(this->func_ptr_))(); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj>
-void visit_each(const T_action& _A_action,
- const bound_const_volatile_mem_functor0<T_return, T_obj>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_volatile_mem_functor1 encapsulates a const volatile method with 1 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1>
-class bound_const_volatile_mem_functor1
- : public const_volatile_mem_functor1<T_return, T_obj, T_arg1>
-{
- typedef const_volatile_mem_functor1<T_return, T_obj, T_arg1> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_volatile_mem_functor1 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor1(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_volatile_mem_functor1 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor1(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1>
-void visit_each(const T_action& _A_action,
- const bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_volatile_mem_functor2 encapsulates a const volatile method with 2 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2>
-class bound_const_volatile_mem_functor2
- : public const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-{
- typedef const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_volatile_mem_functor2 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor2(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_volatile_mem_functor2 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor2(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2>
-void visit_each(const T_action& _A_action,
- const bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_volatile_mem_functor3 encapsulates a const volatile method with 3 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-class bound_const_volatile_mem_functor3
- : public const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-{
- typedef const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_volatile_mem_functor3 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor3(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_volatile_mem_functor3 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor3(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3>
-void visit_each(const T_action& _A_action,
- const bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_volatile_mem_functor4 encapsulates a const volatile method with 4 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class bound_const_volatile_mem_functor4
- : public const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-{
- typedef const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_volatile_mem_functor4 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor4(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_volatile_mem_functor4 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor4(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-template <class T_action, class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-void visit_each(const T_action& _A_action,
- const bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_volatile_mem_functor5 encapsulates a const volatile method with 5 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class bound_const_volatile_mem_functor5
- : public const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-{
- typedef const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_volatile_mem_functor5 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor5(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_volatile_mem_functor5 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor5(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_volatile_mem_functor6 encapsulates a const volatile method with 6 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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 bound_const_volatile_mem_functor6
- : public const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-{
- typedef const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> base_type_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_volatile_mem_functor6 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor6(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_volatile_mem_functor6 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor6(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- const bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_target)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-/** bound_const_volatile_mem_functor7 encapsulates a const volatile method with 7 arguments and an object instance.
- * Use the convenience function mem_fun() to create an instance of bound_const_volatile_mem_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-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>
-class bound_const_volatile_mem_functor7
- : public const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-{
- 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_;
-public:
- typedef typename base_type_::function_type function_type;
-
- /** Constructs a bound_const_volatile_mem_functor7 object that wraps the passed method.
- * @param _A_obj Pointer to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor7(const T_obj* _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(_A_obj) {}
-
- /** Constructs a bound_const_volatile_mem_functor7 object that wraps the passed method.
- * @param _A_obj Reference to instance the method will operate on.
- * @param _A_func Pointer to method will be invoked from operator()().
- */
- bound_const_volatile_mem_functor7(const T_obj& _A_obj, function_type _A_func)
- : base_type_(_A_func), obj_ptr_(&_A_obj) {}
-
- /** Execute the wrapped method operating on the stored instance.
- * @param _A_a1 Argument to be passed on to the method.
- * @param _A_a2 Argument to be passed on to the method.
- * @param _A_a3 Argument to be passed on to the method.
- * @param _A_a4 Argument to be passed on to the method.
- * @param _A_a5 Argument to be passed on to the method.
- * @param _A_a6 Argument to be passed on to the method.
- * @param _A_a7 Argument to be passed on to the method.
- * @return The return value of the method invocation.
- */
- 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
- { return (obj_ptr_->*(this->func_ptr_))(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
-//protected:
- /// Pointer to stored object instance.
- const T_obj *obj_ptr_;
-};
-
-/** Performs a functor on each of the targets of a functor.
- * The function overload for sigc::bound_const_volatile_mem_functor performs a functor
- * on the object instance stored in the sigc::bound_const_volatile_mem_functor object.
- *
- * @ingroup mem_fun
- */
-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>
-void visit_each(const T_action& _A_action,
- 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)
-{
- visit_each(_A_action, *_A_target.obj_ptr_);
-}
-
-
-// numbered
-/** Creates a functor of type sigc::mem_functor0 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-inline mem_functor0<T_return, T_obj>
-mem_fun0(T_return (T_obj::*_A_func)() )
-{ return mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor1 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj>
-inline mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(T_return (T_obj::*_A_func)(T_arg1) )
-{ return mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor2 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-inline mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(T_return (T_obj::*_A_func)(T_arg1,T_arg2) )
-{ return mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor3 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-inline mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ return mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor4 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-inline mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ return mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor5 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-inline mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ return mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor6 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun6(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ return mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor7 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-mem_fun7(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) )
-{ return mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor0 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-inline const_mem_functor0<T_return, T_obj>
-mem_fun0(T_return (T_obj::*_A_func)() const)
-{ return const_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor1 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj>
-inline const_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(T_return (T_obj::*_A_func)(T_arg1) const)
-{ return const_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor2 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-inline const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const)
-{ return const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor3 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-inline const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ return const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor4 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-inline const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ return const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor5 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-inline const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ return const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor6 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun6(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const)
-{ return const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor7 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-mem_fun7(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const)
-{ return const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor0 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-inline volatile_mem_functor0<T_return, T_obj>
-mem_fun0(T_return (T_obj::*_A_func)() volatile)
-{ return volatile_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor1 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj>
-inline volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(T_return (T_obj::*_A_func)(T_arg1) volatile)
-{ return volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor2 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-inline volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(T_return (T_obj::*_A_func)(T_arg1,T_arg2) volatile)
-{ return volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor3 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-inline volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ return volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor4 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-inline volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ return volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor5 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-inline volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ return volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor6 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun6(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile)
-{ return volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor7 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-mem_fun7(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile)
-{ return volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor0 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-inline const_volatile_mem_functor0<T_return, T_obj>
-mem_fun0(T_return (T_obj::*_A_func)() const volatile)
-{ return const_volatile_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor1 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj>
-inline const_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(T_return (T_obj::*_A_func)(T_arg1) const volatile)
-{ return const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor2 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-inline const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const volatile)
-{ return const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor3 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-inline const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ return const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor4 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-inline const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ return const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor5 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-inline const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile)
-{ return const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor6 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun6(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile)
-{ return const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor7 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-mem_fun7(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor0<T_return, T_obj>
-mem_fun0(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() )
-{ return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor0<T_return, T_obj>
-mem_fun0(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() )
-{ return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
-{ return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
-{ return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
-{ return bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
-{ return bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ return bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ return bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ return bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ return bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ return bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ return bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun6(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ return bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun6(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ return bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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) )
-{ 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); }
-
-/** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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) )
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor0<T_return, T_obj>
-mem_fun0(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const)
-{ return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor0<T_return, T_obj>
-mem_fun0(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const)
-{ return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
-{ return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
-{ return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
-{ return bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
-{ return bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ return bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ return bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ return bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ return bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ return bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ return bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor0<T_return, T_obj>
-mem_fun0(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() volatile)
-{ return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor0<T_return, T_obj>
-mem_fun0(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() volatile)
-{ return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
-{ return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
-{ return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
-{ return bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
-{ return bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ return bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ return bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ return bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ return bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ return bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun5(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ return bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor0<T_return, T_obj>
-mem_fun0(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const volatile)
-{ return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor0<T_return, T_obj>
-mem_fun0(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const volatile)
-{ return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
-{ return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun1(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
-{ return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
-{ return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun2(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
-{ return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun3(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun4(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-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)
-{ return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-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)
-{ return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-
-// unnumbered
-/** Creates a functor of type sigc::mem_functor0 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-inline mem_functor0<T_return, T_obj>
-mem_fun(T_return (T_obj::*_A_func)() )
-{ return mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor1 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj>
-inline mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1) )
-{ return mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor2 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-inline mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2) )
-{ return mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor3 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-inline mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ return mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor4 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-inline mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ return mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor5 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-inline mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ return mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor6 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ return mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type sigc::mem_functor7 which wraps a method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) )
-{ return mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor0 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-inline const_mem_functor0<T_return, T_obj>
-mem_fun(T_return (T_obj::*_A_func)() const)
-{ return const_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor1 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj>
-inline const_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1) const)
-{ return const_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor2 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-inline const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const)
-{ return const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor3 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-inline const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ return const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor4 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-inline const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ return const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor5 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-inline const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ return const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor6 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const)
-{ return const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type sigc::const_mem_functor7 which wraps a const method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const)
-{ return const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor0 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-inline volatile_mem_functor0<T_return, T_obj>
-mem_fun(T_return (T_obj::*_A_func)() volatile)
-{ return volatile_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor1 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj>
-inline volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1) volatile)
-{ return volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor2 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-inline volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2) volatile)
-{ return volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor3 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-inline volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ return volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor4 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-inline volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ return volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor5 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-inline volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ return volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor6 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile)
-{ return volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type sigc::volatile_mem_functor7 which wraps a volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile)
-{ return volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor0 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj>
-inline const_volatile_mem_functor0<T_return, T_obj>
-mem_fun(T_return (T_obj::*_A_func)() const volatile)
-{ return const_volatile_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor1 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj>
-inline const_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1) const volatile)
-{ return const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor2 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj>
-inline const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const volatile)
-{ return const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor3 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj>
-inline const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ return const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor4 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj>
-inline const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ return const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor5 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return, class T_obj>
-inline const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile)
-{ return const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor6 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile)
-{ return const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type sigc::const_volatile_mem_functor7 which wraps a const volatile method.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-mem_fun(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor0<T_return, T_obj>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() )
-{ return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor0<T_return, T_obj>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() )
-{ return bound_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
-{ return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
-{ return bound_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
-{ return bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
-{ return bound_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ return bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ return bound_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ return bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ return bound_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ return bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ return bound_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ return bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ return bound_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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) )
-{ 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); }
-
-/** Creates a functor of type sigc::bound_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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) )
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor0<T_return, T_obj>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const)
-{ return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor0<T_return, T_obj>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const)
-{ return bound_const_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
-{ return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
-{ return bound_const_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
-{ return bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
-{ return bound_const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ return bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ return bound_const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ return bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ return bound_const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ return bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ return bound_const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor0<T_return, T_obj>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() volatile)
-{ return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor0<T_return, T_obj>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() volatile)
-{ return bound_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
-{ return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
-{ return bound_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
-{ return bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
-{ return bound_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ return bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ return bound_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ return bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ return bound_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(/**/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ return bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-mem_fun(/**/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ return bound_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_volatile_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor0<T_return, T_obj>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)() const volatile)
-{ return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor0 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor0<T_return, T_obj>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)() const volatile)
-{ return bound_const_volatile_mem_functor0<T_return, T_obj>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
-{ return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor1 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
-{ return bound_const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
-{ return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor2 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
-{ return bound_const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor3 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ return bound_const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(/*const*/ T_obj* _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor4 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return, class T_obj, class T_obj2>
-inline bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>
-mem_fun(/*const*/ T_obj& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ return bound_const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-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)
-{ return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor5 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-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)
-{ return bound_const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor6 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Pointer to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-/** Creates a functor of type sigc::bound_const_volatile_mem_functor7 which encapsulates a method and an object instance.
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup mem_fun
- */
-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>
-inline bound_const_volatile_mem_functor7<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-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)
-{ 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); }
-
-
-} /* namespace sigc */
-#endif /* _SIGC_FUNCTORS_MACROS_MEM_FUNHM4_ */
diff --git a/libs/sigc++2/sigc++/functors/ptr_fun.h b/libs/sigc++2/sigc++/functors/ptr_fun.h
deleted file mode 100644
index 5ab6b5ab96..0000000000
--- a/libs/sigc++2/sigc++/functors/ptr_fun.h
+++ /dev/null
@@ -1,542 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-#ifndef _SIGC_FUNCTORS_MACROS_PTR_FUNHM4_
-#define _SIGC_FUNCTORS_MACROS_PTR_FUNHM4_
-#include <sigc++/type_traits.h>
-#include <sigc++/functors/functor_trait.h>
-
-namespace sigc {
-
-/** @defgroup ptr_fun ptr_fun()
- * ptr_fun() is used to convert a pointer to a function to a functor.
- * If the function pointer is to an overloaded type, you must specify
- * the types using template arguments starting with the first argument.
- * It is not necessary to supply the return type.
- *
- * @par Example:
- * @code
- * void foo(int) {}
- * sigc::slot<void, int> sl = sigc::ptr_fun(&foo);
- * @endcode
- *
- * Use ptr_fun#() if there is an abiguity as to the number of arguments.
- *
- * @par Example:
- * @code
- * void foo(int) {} // choose this one
- * void foo(float) {}
- * void foo(int, int) {}
- * sigc::slot<void, long> sl = sigc::ptr_fun1<int>(&foo);
- * @endcode
- *
- * ptr_fun() can also be used to convert a pointer to a static member
- * function to a functor, like so:
- *
- * @par Example:
- * @code
- * struct foo
- * {
- * static void bar(int) {}
- * };
- * sigc::slot<void, int> sl = sigc::ptr_fun(&foo::bar);
- * @endcode
- *
- * @ingroup functors
- */
-
-/** pointer_functor0 wraps existing non-member functions with 0 argument(s).
- * Use the convenience function ptr_fun() to create an instance of pointer_functor0.
- *
- * The following template arguments are used:
- * - @e T_return The return type of operator()().
- *
- * @ingroup ptr_fun
- */
-template <class T_return>
-class pointer_functor0 : public functor_base
-{
- typedef T_return (*function_type)();
-protected:
- function_type func_ptr_;
-public:
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- pointer_functor0() {}
-
- /** Constructs a pointer_functor0 object that wraps an existing function.
- * @param _A_func Pointer to function that will be invoked from operator()().
- */
- explicit pointer_functor0(function_type _A_func): func_ptr_(_A_func) {}
-
- /** Execute the wrapped function.
- * @return The return value of the function invocation.
- */
- T_return operator()() const
- { return func_ptr_(); }
-};
-
-/** pointer_functor1 wraps existing non-member functions with 1 argument(s).
- * Use the convenience function ptr_fun() to create an instance of pointer_functor1.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1, class T_return>
-class pointer_functor1 : public functor_base
-{
- typedef T_return (*function_type)(T_arg1);
-protected:
- function_type func_ptr_;
-public:
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- pointer_functor1() {}
-
- /** Constructs a pointer_functor1 object that wraps an existing function.
- * @param _A_func Pointer to function that will be invoked from operator()().
- */
- explicit pointer_functor1(function_type _A_func): func_ptr_(_A_func) {}
-
- /** Execute the wrapped function.
- * @param _A_a1 Argument to be passed on to the function.
- * @return The return value of the function invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1) const
- { return func_ptr_(_A_a1); }
-};
-
-/** pointer_functor2 wraps existing non-member functions with 2 argument(s).
- * Use the convenience function ptr_fun() to create an instance of pointer_functor2.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2, class T_return>
-class pointer_functor2 : public functor_base
-{
- typedef T_return (*function_type)(T_arg1,T_arg2);
-protected:
- function_type func_ptr_;
-public:
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- pointer_functor2() {}
-
- /** Constructs a pointer_functor2 object that wraps an existing function.
- * @param _A_func Pointer to function that will be invoked from operator()().
- */
- explicit pointer_functor2(function_type _A_func): func_ptr_(_A_func) {}
-
- /** Execute the wrapped function.
- * @param _A_a1 Argument to be passed on to the function.
- * @param _A_a2 Argument to be passed on to the function.
- * @return The return value of the function invocation.
- */
- T_return operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return func_ptr_(_A_a1,_A_a2); }
-};
-
-/** pointer_functor3 wraps existing non-member functions with 3 argument(s).
- * Use the convenience function ptr_fun() to create an instance of pointer_functor3.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return>
-class pointer_functor3 : public functor_base
-{
- typedef T_return (*function_type)(T_arg1,T_arg2,T_arg3);
-protected:
- function_type func_ptr_;
-public:
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- pointer_functor3() {}
-
- /** Constructs a pointer_functor3 object that wraps an existing function.
- * @param _A_func Pointer to function that will be invoked from operator()().
- */
- explicit pointer_functor3(function_type _A_func): func_ptr_(_A_func) {}
-
- /** Execute the wrapped function.
- * @param _A_a1 Argument to be passed on to the function.
- * @param _A_a2 Argument to be passed on to the function.
- * @param _A_a3 Argument to be passed on to the function.
- * @return The return value of the function invocation.
- */
- 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
- { return func_ptr_(_A_a1,_A_a2,_A_a3); }
-};
-
-/** pointer_functor4 wraps existing non-member functions with 4 argument(s).
- * Use the convenience function ptr_fun() to create an instance of pointer_functor4.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return>
-class pointer_functor4 : public functor_base
-{
- typedef T_return (*function_type)(T_arg1,T_arg2,T_arg3,T_arg4);
-protected:
- function_type func_ptr_;
-public:
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- pointer_functor4() {}
-
- /** Constructs a pointer_functor4 object that wraps an existing function.
- * @param _A_func Pointer to function that will be invoked from operator()().
- */
- explicit pointer_functor4(function_type _A_func): func_ptr_(_A_func) {}
-
- /** Execute the wrapped function.
- * @param _A_a1 Argument to be passed on to the function.
- * @param _A_a2 Argument to be passed on to the function.
- * @param _A_a3 Argument to be passed on to the function.
- * @param _A_a4 Argument to be passed on to the function.
- * @return The return value of the function invocation.
- */
- 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
- { return func_ptr_(_A_a1,_A_a2,_A_a3,_A_a4); }
-};
-
-/** pointer_functor5 wraps existing non-member functions with 5 argument(s).
- * Use the convenience function ptr_fun() to create an instance of pointer_functor5.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return>
-class pointer_functor5 : public functor_base
-{
- typedef T_return (*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5);
-protected:
- function_type func_ptr_;
-public:
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- pointer_functor5() {}
-
- /** Constructs a pointer_functor5 object that wraps an existing function.
- * @param _A_func Pointer to function that will be invoked from operator()().
- */
- explicit pointer_functor5(function_type _A_func): func_ptr_(_A_func) {}
-
- /** Execute the wrapped function.
- * @param _A_a1 Argument to be passed on to the function.
- * @param _A_a2 Argument to be passed on to the function.
- * @param _A_a3 Argument to be passed on to the function.
- * @param _A_a4 Argument to be passed on to the function.
- * @param _A_a5 Argument to be passed on to the function.
- * @return The return value of the function invocation.
- */
- 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
- { return func_ptr_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-};
-
-/** pointer_functor6 wraps existing non-member functions with 6 argument(s).
- * Use the convenience function ptr_fun() to create an instance of pointer_functor6.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_return>
-class pointer_functor6 : public functor_base
-{
- typedef T_return (*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6);
-protected:
- function_type func_ptr_;
-public:
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- pointer_functor6() {}
-
- /** Constructs a pointer_functor6 object that wraps an existing function.
- * @param _A_func Pointer to function that will be invoked from operator()().
- */
- explicit pointer_functor6(function_type _A_func): func_ptr_(_A_func) {}
-
- /** Execute the wrapped function.
- * @param _A_a1 Argument to be passed on to the function.
- * @param _A_a2 Argument to be passed on to the function.
- * @param _A_a3 Argument to be passed on to the function.
- * @param _A_a4 Argument to be passed on to the function.
- * @param _A_a5 Argument to be passed on to the function.
- * @param _A_a6 Argument to be passed on to the function.
- * @return The return value of the function invocation.
- */
- 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
- { return func_ptr_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-};
-
-/** pointer_functor7 wraps existing non-member functions with 7 argument(s).
- * Use the convenience function ptr_fun() to create an instance of pointer_functor7.
- *
- * The following template arguments are used:
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- * - @e T_return The return type of operator()().
- *
- * @ingroup ptr_fun
- */
-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 pointer_functor7 : public functor_base
-{
- typedef T_return (*function_type)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7);
-protected:
- function_type func_ptr_;
-public:
- typedef T_return result_type;
-
- /// Constructs an invalid functor.
- pointer_functor7() {}
-
- /** Constructs a pointer_functor7 object that wraps an existing function.
- * @param _A_func Pointer to function that will be invoked from operator()().
- */
- explicit pointer_functor7(function_type _A_func): func_ptr_(_A_func) {}
-
- /** Execute the wrapped function.
- * @param _A_a1 Argument to be passed on to the function.
- * @param _A_a2 Argument to be passed on to the function.
- * @param _A_a3 Argument to be passed on to the function.
- * @param _A_a4 Argument to be passed on to the function.
- * @param _A_a5 Argument to be passed on to the function.
- * @param _A_a6 Argument to be passed on to the function.
- * @param _A_a7 Argument to be passed on to the function.
- * @return The return value of the function invocation.
- */
- 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
- { return func_ptr_(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-};
-
-
-// numbered ptr_fun
-/** Creates a functor of type sigc::pointer_functor0 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_return>
-inline pointer_functor0<T_return>
-ptr_fun0(T_return (*_A_func)())
-{ return pointer_functor0<T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor1 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1, class T_return>
-inline pointer_functor1<T_arg1, T_return>
-ptr_fun1(T_return (*_A_func)(T_arg1))
-{ return pointer_functor1<T_arg1, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor2 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2, class T_return>
-inline pointer_functor2<T_arg1,T_arg2, T_return>
-ptr_fun2(T_return (*_A_func)(T_arg1,T_arg2))
-{ return pointer_functor2<T_arg1,T_arg2, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor3 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return>
-inline pointer_functor3<T_arg1,T_arg2,T_arg3, T_return>
-ptr_fun3(T_return (*_A_func)(T_arg1,T_arg2,T_arg3))
-{ return pointer_functor3<T_arg1,T_arg2,T_arg3, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor4 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return>
-inline pointer_functor4<T_arg1,T_arg2,T_arg3,T_arg4, T_return>
-ptr_fun4(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4))
-{ return pointer_functor4<T_arg1,T_arg2,T_arg3,T_arg4, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor5 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return>
-inline pointer_functor5<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_return>
-ptr_fun5(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5))
-{ return pointer_functor5<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor6 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_return>
-inline pointer_functor6<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_return>
-ptr_fun6(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6))
-{ return pointer_functor6<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor7 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-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>
-inline pointer_functor7<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_return>
-ptr_fun7(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7))
-{ return pointer_functor7<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_return>(_A_func); }
-
-
-// unnumbered ptr_fun
-/** Creates a functor of type sigc::pointer_functor0 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_return>
-inline pointer_functor0<T_return>
-ptr_fun(T_return (*_A_func)())
-{ return pointer_functor0<T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor1 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1, class T_return>
-inline pointer_functor1<T_arg1, T_return>
-ptr_fun(T_return (*_A_func)(T_arg1))
-{ return pointer_functor1<T_arg1, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor2 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2, class T_return>
-inline pointer_functor2<T_arg1,T_arg2, T_return>
-ptr_fun(T_return (*_A_func)(T_arg1,T_arg2))
-{ return pointer_functor2<T_arg1,T_arg2, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor3 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3, class T_return>
-inline pointer_functor3<T_arg1,T_arg2,T_arg3, T_return>
-ptr_fun(T_return (*_A_func)(T_arg1,T_arg2,T_arg3))
-{ return pointer_functor3<T_arg1,T_arg2,T_arg3, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor4 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_return>
-inline pointer_functor4<T_arg1,T_arg2,T_arg3,T_arg4, T_return>
-ptr_fun(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4))
-{ return pointer_functor4<T_arg1,T_arg2,T_arg3,T_arg4, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor5 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_return>
-inline pointer_functor5<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_return>
-ptr_fun(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5))
-{ return pointer_functor5<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor6 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_return>
-inline pointer_functor6<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_return>
-ptr_fun(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6))
-{ return pointer_functor6<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_return>(_A_func); }
-
-/** Creates a functor of type sigc::pointer_functor7 which wraps an existing non-member function.
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes @e _A_func on invokation.
- *
- * @ingroup ptr_fun
- */
-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>
-inline pointer_functor7<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_return>
-ptr_fun(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7))
-{ return pointer_functor7<T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_return>(_A_func); }
-
-
-} /* namespace sigc */
-#endif /* _SIGC_FUNCTORS_MACROS_PTR_FUNHM4_ */
diff --git a/libs/sigc++2/sigc++/functors/slot.cc b/libs/sigc++2/sigc++/functors/slot.cc
deleted file mode 100644
index 5b9c92e201..0000000000
--- a/libs/sigc++2/sigc++/functors/slot.cc
+++ /dev/null
@@ -1,25 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#include <sigc++/functors/slot.h>
-
-namespace sigc {
-
-
-} /* namespace sigc */
diff --git a/libs/sigc++2/sigc++/functors/slot.h b/libs/sigc++2/sigc++/functors/slot.h
deleted file mode 100644
index 48c192a3c3..0000000000
--- a/libs/sigc++2/sigc++/functors/slot.h
+++ /dev/null
@@ -1,1263 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_FUNCTORS_MACROS_SLOTHM4_
-#define _SIGC_FUNCTORS_MACROS_SLOTHM4_
-#include <sigc++/trackable.h>
-#include <sigc++/visit_each.h>
-#include <sigc++/adaptors/adaptor_trait.h>
-#include <sigc++/functors/slot_base.h>
-
-namespace sigc {
-
-namespace internal {
-
-/** A typed slot_rep.
- * A typed slot_rep holds a functor that can be invoked from
- * slot::operator()(). visit_each() is used to visit the functor's
- * targets that inherit trackable recursively and register the
- * notification callback. Consequently the slot_rep object will be
- * notified when some referred object is destroyed or overwritten.
- */
-template <class T_functor>
-struct typed_slot_rep : public slot_rep
-{
- typedef typed_slot_rep<T_functor> self;
-
- /* Use an adaptor type so that arguments can be passed as const references
- * through explicit template instantiation from slot_call#::call_it() */
- typedef typename adaptor_trait<T_functor>::adaptor_type adaptor_type;
-
- /** The functor contained by this slot_rep object. */
- adaptor_type functor_;
-
- /** Constructs an invalid typed slot_rep object.
- * The notification callback is registered using visit_each().
- * @param functor The functor contained by the new slot_rep object.
- */
- inline typed_slot_rep(const T_functor& functor)
- : slot_rep(0, &destroy, &dup), functor_(functor)
- { visit_each_type<trackable*>(slot_do_bind(this), functor_); }
-
- inline typed_slot_rep(const typed_slot_rep& cl)
- : slot_rep(cl.call_, &destroy, &dup), functor_(cl.functor_)
- { visit_each_type<trackable*>(slot_do_bind(this), functor_); }
-
- inline ~typed_slot_rep()
- {
- call_ = 0;
- destroy_ = 0;
- visit_each_type<trackable*>(slot_do_unbind(this), functor_);
- }
-
- /** Detaches the stored functor from the other referred trackables and destroys it.
- * This does not destroy the base slot_rep object.
- */
- static void* destroy(void* data)
- {
- self* self_ = static_cast<self*>((slot_rep*)data);
- self_->call_ = 0;
- self_->destroy_ = 0;
- visit_each_type<trackable*>(slot_do_unbind(self_), self_->functor_);
- self_->functor_.~adaptor_type();
- /* don't call disconnect() here: destroy() is either called
- * a) from the parent itself (in which case disconnect() leads to a segfault) or
- * b) from a parentless slot (in which case disconnect() does nothing)
- */
- return 0;
- }
-
- /** Makes a deep copy of the slot_rep object.
- * Deep copy means that the notification callback of the new
- * slot_rep object is registered in the referred trackables.
- * @return A deep copy of the slot_rep object.
- */
- static void* dup(void* data)
- {
- slot_rep* rep_ = (slot_rep*)data;
- return static_cast<slot_rep*>(new self(*static_cast<self*>(rep_)));
- }
-};
-
-
-/** Abstracts functor execution.
- * call_it() invokes a functor of type @e T_functor with a list of
- * parameters whose types are given by the template arguments.
- * address() forms a function pointer from call_it().
- *
- * The following template arguments are used:
- * - @e T_functor The functor type.
- * - @e T_return The return type of call_it().
- *
- */
-template<class T_functor, class T_return>
-struct slot_call0
-{
- /** Invokes a functor of type @p T_functor.
- * @param rep slot_rep object that holds a functor of type @p T_functor.
- * @return The return values of the functor invocation.
- */
- static T_return call_it(slot_rep* rep)
- {
- typedef typed_slot_rep<T_functor> typed_slot;
- typed_slot *typed_rep = static_cast<typed_slot*>(rep);
- return (typed_rep->functor_)();
- }
-
- /** Forms a function pointer from call_it().
- * @return A function pointer formed from call_it().
- */
- static hook address()
- { return reinterpret_cast<hook>(&call_it); }
-};
-
-/** Abstracts functor execution.
- * call_it() invokes a functor of type @e T_functor with a list of
- * parameters whose types are given by the template arguments.
- * address() forms a function pointer from call_it().
- *
- * The following template arguments are used:
- * - @e T_functor The functor type.
- * - @e T_return The return type of call_it().
- * - @e T_arg1 Argument type used in the definition of call_it().
- *
- */
-template<class T_functor, class T_return, class T_arg1>
-struct slot_call1
-{
- /** Invokes a functor of type @p T_functor.
- * @param rep slot_rep object that holds a functor of type @p T_functor.
- * @param _A_a1 Argument to be passed on to the functor.
- * @return The return values of the functor invocation.
- */
- static T_return call_it(slot_rep* rep, typename type_trait<T_arg1>::take a_1)
- {
- typedef typed_slot_rep<T_functor> typed_slot;
- typed_slot *typed_rep = static_cast<typed_slot*>(rep);
- return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take>
- (a_1);
- }
-
- /** Forms a function pointer from call_it().
- * @return A function pointer formed from call_it().
- */
- static hook address()
- { return reinterpret_cast<hook>(&call_it); }
-};
-
-/** Abstracts functor execution.
- * call_it() invokes a functor of type @e T_functor with a list of
- * parameters whose types are given by the template arguments.
- * address() forms a function pointer from call_it().
- *
- * The following template arguments are used:
- * - @e T_functor The functor type.
- * - @e T_return The return type of call_it().
- * - @e T_arg1 Argument type used in the definition of call_it().
- * - @e T_arg2 Argument type used in the definition of call_it().
- *
- */
-template<class T_functor, class T_return, class T_arg1,class T_arg2>
-struct slot_call2
-{
- /** Invokes a functor of type @p T_functor.
- * @param rep slot_rep object that holds a functor of type @p T_functor.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @return The return values of the functor invocation.
- */
- static T_return call_it(slot_rep* rep, typename type_trait<T_arg1>::take a_1,typename type_trait<T_arg2>::take a_2)
- {
- typedef typed_slot_rep<T_functor> typed_slot;
- typed_slot *typed_rep = static_cast<typed_slot*>(rep);
- return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take>
- (a_1,a_2);
- }
-
- /** Forms a function pointer from call_it().
- * @return A function pointer formed from call_it().
- */
- static hook address()
- { return reinterpret_cast<hook>(&call_it); }
-};
-
-/** Abstracts functor execution.
- * call_it() invokes a functor of type @e T_functor with a list of
- * parameters whose types are given by the template arguments.
- * address() forms a function pointer from call_it().
- *
- * The following template arguments are used:
- * - @e T_functor The functor type.
- * - @e T_return The return type of call_it().
- * - @e T_arg1 Argument type used in the definition of call_it().
- * - @e T_arg2 Argument type used in the definition of call_it().
- * - @e T_arg3 Argument type used in the definition of call_it().
- *
- */
-template<class T_functor, class T_return, class T_arg1,class T_arg2,class T_arg3>
-struct slot_call3
-{
- /** Invokes a functor of type @p T_functor.
- * @param rep slot_rep object that holds a functor of type @p T_functor.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @return The return values of the functor invocation.
- */
- static T_return call_it(slot_rep* rep, typename type_trait<T_arg1>::take a_1,typename type_trait<T_arg2>::take a_2,typename type_trait<T_arg3>::take a_3)
- {
- typedef typed_slot_rep<T_functor> typed_slot;
- typed_slot *typed_rep = static_cast<typed_slot*>(rep);
- return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take>
- (a_1,a_2,a_3);
- }
-
- /** Forms a function pointer from call_it().
- * @return A function pointer formed from call_it().
- */
- static hook address()
- { return reinterpret_cast<hook>(&call_it); }
-};
-
-/** Abstracts functor execution.
- * call_it() invokes a functor of type @e T_functor with a list of
- * parameters whose types are given by the template arguments.
- * address() forms a function pointer from call_it().
- *
- * The following template arguments are used:
- * - @e T_functor The functor type.
- * - @e T_return The return type of call_it().
- * - @e T_arg1 Argument type used in the definition of call_it().
- * - @e T_arg2 Argument type used in the definition of call_it().
- * - @e T_arg3 Argument type used in the definition of call_it().
- * - @e T_arg4 Argument type used in the definition of call_it().
- *
- */
-template<class T_functor, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-struct slot_call4
-{
- /** Invokes a functor of type @p T_functor.
- * @param rep slot_rep object that holds a functor of type @p T_functor.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @param _A_a4 Argument to be passed on to the functor.
- * @return The return values of the functor invocation.
- */
- static T_return call_it(slot_rep* rep, typename type_trait<T_arg1>::take a_1,typename type_trait<T_arg2>::take a_2,typename type_trait<T_arg3>::take a_3,typename type_trait<T_arg4>::take a_4)
- {
- typedef typed_slot_rep<T_functor> typed_slot;
- typed_slot *typed_rep = static_cast<typed_slot*>(rep);
- return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take>
- (a_1,a_2,a_3,a_4);
- }
-
- /** Forms a function pointer from call_it().
- * @return A function pointer formed from call_it().
- */
- static hook address()
- { return reinterpret_cast<hook>(&call_it); }
-};
-
-/** Abstracts functor execution.
- * call_it() invokes a functor of type @e T_functor with a list of
- * parameters whose types are given by the template arguments.
- * address() forms a function pointer from call_it().
- *
- * The following template arguments are used:
- * - @e T_functor The functor type.
- * - @e T_return The return type of call_it().
- * - @e T_arg1 Argument type used in the definition of call_it().
- * - @e T_arg2 Argument type used in the definition of call_it().
- * - @e T_arg3 Argument type used in the definition of call_it().
- * - @e T_arg4 Argument type used in the definition of call_it().
- * - @e T_arg5 Argument type used in the definition of call_it().
- *
- */
-template<class T_functor, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-struct slot_call5
-{
- /** Invokes a functor of type @p T_functor.
- * @param rep slot_rep object that holds a functor of type @p T_functor.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @param _A_a4 Argument to be passed on to the functor.
- * @param _A_a5 Argument to be passed on to the functor.
- * @return The return values of the functor invocation.
- */
- static T_return call_it(slot_rep* rep, typename type_trait<T_arg1>::take a_1,typename type_trait<T_arg2>::take a_2,typename type_trait<T_arg3>::take a_3,typename type_trait<T_arg4>::take a_4,typename type_trait<T_arg5>::take a_5)
- {
- typedef typed_slot_rep<T_functor> typed_slot;
- typed_slot *typed_rep = static_cast<typed_slot*>(rep);
- return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take>
- (a_1,a_2,a_3,a_4,a_5);
- }
-
- /** Forms a function pointer from call_it().
- * @return A function pointer formed from call_it().
- */
- static hook address()
- { return reinterpret_cast<hook>(&call_it); }
-};
-
-/** Abstracts functor execution.
- * call_it() invokes a functor of type @e T_functor with a list of
- * parameters whose types are given by the template arguments.
- * address() forms a function pointer from call_it().
- *
- * The following template arguments are used:
- * - @e T_functor The functor type.
- * - @e T_return The return type of call_it().
- * - @e T_arg1 Argument type used in the definition of call_it().
- * - @e T_arg2 Argument type used in the definition of call_it().
- * - @e T_arg3 Argument type used in the definition of call_it().
- * - @e T_arg4 Argument type used in the definition of call_it().
- * - @e T_arg5 Argument type used in the definition of call_it().
- * - @e T_arg6 Argument type used in the definition of call_it().
- *
- */
-template<class T_functor, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-struct slot_call6
-{
- /** Invokes a functor of type @p T_functor.
- * @param rep slot_rep object that holds a functor of type @p T_functor.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @param _A_a4 Argument to be passed on to the functor.
- * @param _A_a5 Argument to be passed on to the functor.
- * @param _A_a6 Argument to be passed on to the functor.
- * @return The return values of the functor invocation.
- */
- static T_return call_it(slot_rep* rep, typename type_trait<T_arg1>::take a_1,typename type_trait<T_arg2>::take a_2,typename type_trait<T_arg3>::take a_3,typename type_trait<T_arg4>::take a_4,typename type_trait<T_arg5>::take a_5,typename type_trait<T_arg6>::take a_6)
- {
- typedef typed_slot_rep<T_functor> typed_slot;
- typed_slot *typed_rep = static_cast<typed_slot*>(rep);
- return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take,typename type_trait<T_arg6>::take>
- (a_1,a_2,a_3,a_4,a_5,a_6);
- }
-
- /** Forms a function pointer from call_it().
- * @return A function pointer formed from call_it().
- */
- static hook address()
- { return reinterpret_cast<hook>(&call_it); }
-};
-
-/** Abstracts functor execution.
- * call_it() invokes a functor of type @e T_functor with a list of
- * parameters whose types are given by the template arguments.
- * address() forms a function pointer from call_it().
- *
- * The following template arguments are used:
- * - @e T_functor The functor type.
- * - @e T_return The return type of call_it().
- * - @e T_arg1 Argument type used in the definition of call_it().
- * - @e T_arg2 Argument type used in the definition of call_it().
- * - @e T_arg3 Argument type used in the definition of call_it().
- * - @e T_arg4 Argument type used in the definition of call_it().
- * - @e T_arg5 Argument type used in the definition of call_it().
- * - @e T_arg6 Argument type used in the definition of call_it().
- * - @e T_arg7 Argument type used in the definition of call_it().
- *
- */
-template<class T_functor, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-struct slot_call7
-{
- /** Invokes a functor of type @p T_functor.
- * @param rep slot_rep object that holds a functor of type @p T_functor.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @param _A_a4 Argument to be passed on to the functor.
- * @param _A_a5 Argument to be passed on to the functor.
- * @param _A_a6 Argument to be passed on to the functor.
- * @param _A_a7 Argument to be passed on to the functor.
- * @return The return values of the functor invocation.
- */
- static T_return call_it(slot_rep* rep, typename type_trait<T_arg1>::take a_1,typename type_trait<T_arg2>::take a_2,typename type_trait<T_arg3>::take a_3,typename type_trait<T_arg4>::take a_4,typename type_trait<T_arg5>::take a_5,typename type_trait<T_arg6>::take a_6,typename type_trait<T_arg7>::take a_7)
- {
- typedef typed_slot_rep<T_functor> typed_slot;
- typed_slot *typed_rep = static_cast<typed_slot*>(rep);
- return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take,typename type_trait<T_arg6>::take,typename type_trait<T_arg7>::take>
- (a_1,a_2,a_3,a_4,a_5,a_6,a_7);
- }
-
- /** Forms a function pointer from call_it().
- * @return A function pointer formed from call_it().
- */
- static hook address()
- { return reinterpret_cast<hook>(&call_it); }
-};
-
-} /* namespace internal */
-
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * You should use the more convenient unnumbered sigc::slot template.
- *
- * @ingroup slot
- */
-/* TODO: Where put the following bit of information? I can't make any
- * sense of the "because", by the way!
- *
- * Because slot is opaque, visit_each() will not visit its internal members.
- */
-template <class T_return>
-class slot0
- : public slot_base
-{
-public:
- typedef T_return result_type;
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- typedef internal::slot_rep rep_type;
-public:
- typedef T_return (*call_type)(rep_type*);
-#endif
-
- /** Invoke the contained functor unless slot is in blocking state.
- * @return The return value of the functor invocation.
- */
- inline T_return operator()() const
- {
- if (!empty() && !blocked())
- return (reinterpret_cast<call_type>(rep_->call_))(rep_);
- return T_return();
- }
-
- inline slot0() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot0(const T_functor& _A_func)
- : slot_base(new internal::typed_slot_rep<T_functor>(_A_func))
- { rep_->call_ = internal::slot_call0<T_functor, T_return>::address(); }
-
- slot0(const slot0& src)
- : slot_base(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot0& operator=(const slot0& src)
- { slot_base::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * You should use the more convenient unnumbered sigc::slot template.
- *
- * @ingroup slot
- */
-/* TODO: Where put the following bit of information? I can't make any
- * sense of the "because", by the way!
- *
- * Because slot is opaque, visit_each() will not visit its internal members.
- */
-template <class T_return, class T_arg1>
-class slot1
- : public slot_base
-{
-public:
- typedef T_return result_type;
- typedef typename type_trait<T_arg1>::take arg1_type_;
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- typedef internal::slot_rep rep_type;
-public:
- typedef T_return (*call_type)(rep_type*, arg1_type_);
-#endif
-
- /** Invoke the contained functor unless slot is in blocking state.
- * @param _A_a1 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- inline T_return operator()(arg1_type_ _A_a1) const
- {
- if (!empty() && !blocked())
- return (reinterpret_cast<call_type>(rep_->call_))(rep_, _A_a1);
- return T_return();
- }
-
- inline slot1() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot1(const T_functor& _A_func)
- : slot_base(new internal::typed_slot_rep<T_functor>(_A_func))
- { rep_->call_ = internal::slot_call1<T_functor, T_return, T_arg1>::address(); }
-
- slot1(const slot1& src)
- : slot_base(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot1& operator=(const slot1& src)
- { slot_base::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg2 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * You should use the more convenient unnumbered sigc::slot template.
- *
- * @ingroup slot
- */
-/* TODO: Where put the following bit of information? I can't make any
- * sense of the "because", by the way!
- *
- * Because slot is opaque, visit_each() will not visit its internal members.
- */
-template <class T_return, class T_arg1,class T_arg2>
-class slot2
- : public slot_base
-{
-public:
- typedef T_return result_type;
- typedef typename type_trait<T_arg1>::take arg1_type_;
- typedef typename type_trait<T_arg2>::take arg2_type_;
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- typedef internal::slot_rep rep_type;
-public:
- typedef T_return (*call_type)(rep_type*, arg1_type_,arg2_type_);
-#endif
-
- /** Invoke the contained functor unless slot is in blocking state.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- inline T_return operator()(arg1_type_ _A_a1,arg2_type_ _A_a2) const
- {
- if (!empty() && !blocked())
- return (reinterpret_cast<call_type>(rep_->call_))(rep_, _A_a1,_A_a2);
- return T_return();
- }
-
- inline slot2() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot2(const T_functor& _A_func)
- : slot_base(new internal::typed_slot_rep<T_functor>(_A_func))
- { rep_->call_ = internal::slot_call2<T_functor, T_return, T_arg1,T_arg2>::address(); }
-
- slot2(const slot2& src)
- : slot_base(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot2& operator=(const slot2& src)
- { slot_base::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg2 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg3 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * You should use the more convenient unnumbered sigc::slot template.
- *
- * @ingroup slot
- */
-/* TODO: Where put the following bit of information? I can't make any
- * sense of the "because", by the way!
- *
- * Because slot is opaque, visit_each() will not visit its internal members.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3>
-class slot3
- : public slot_base
-{
-public:
- typedef T_return result_type;
- typedef typename type_trait<T_arg1>::take arg1_type_;
- typedef typename type_trait<T_arg2>::take arg2_type_;
- typedef typename type_trait<T_arg3>::take arg3_type_;
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- typedef internal::slot_rep rep_type;
-public:
- typedef T_return (*call_type)(rep_type*, arg1_type_,arg2_type_,arg3_type_);
-#endif
-
- /** Invoke the contained functor unless slot is in blocking state.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- inline T_return operator()(arg1_type_ _A_a1,arg2_type_ _A_a2,arg3_type_ _A_a3) const
- {
- if (!empty() && !blocked())
- return (reinterpret_cast<call_type>(rep_->call_))(rep_, _A_a1,_A_a2,_A_a3);
- return T_return();
- }
-
- inline slot3() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot3(const T_functor& _A_func)
- : slot_base(new internal::typed_slot_rep<T_functor>(_A_func))
- { rep_->call_ = internal::slot_call3<T_functor, T_return, T_arg1,T_arg2,T_arg3>::address(); }
-
- slot3(const slot3& src)
- : slot_base(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot3& operator=(const slot3& src)
- { slot_base::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg2 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg3 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg4 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * You should use the more convenient unnumbered sigc::slot template.
- *
- * @ingroup slot
- */
-/* TODO: Where put the following bit of information? I can't make any
- * sense of the "because", by the way!
- *
- * Because slot is opaque, visit_each() will not visit its internal members.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class slot4
- : public slot_base
-{
-public:
- typedef T_return result_type;
- typedef typename type_trait<T_arg1>::take arg1_type_;
- typedef typename type_trait<T_arg2>::take arg2_type_;
- typedef typename type_trait<T_arg3>::take arg3_type_;
- typedef typename type_trait<T_arg4>::take arg4_type_;
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- typedef internal::slot_rep rep_type;
-public:
- typedef T_return (*call_type)(rep_type*, arg1_type_,arg2_type_,arg3_type_,arg4_type_);
-#endif
-
- /** Invoke the contained functor unless slot is in blocking state.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @param _A_a4 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- inline T_return operator()(arg1_type_ _A_a1,arg2_type_ _A_a2,arg3_type_ _A_a3,arg4_type_ _A_a4) const
- {
- if (!empty() && !blocked())
- return (reinterpret_cast<call_type>(rep_->call_))(rep_, _A_a1,_A_a2,_A_a3,_A_a4);
- return T_return();
- }
-
- inline slot4() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot4(const T_functor& _A_func)
- : slot_base(new internal::typed_slot_rep<T_functor>(_A_func))
- { rep_->call_ = internal::slot_call4<T_functor, T_return, T_arg1,T_arg2,T_arg3,T_arg4>::address(); }
-
- slot4(const slot4& src)
- : slot_base(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot4& operator=(const slot4& src)
- { slot_base::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg2 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg3 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg4 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg5 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * You should use the more convenient unnumbered sigc::slot template.
- *
- * @ingroup slot
- */
-/* TODO: Where put the following bit of information? I can't make any
- * sense of the "because", by the way!
- *
- * Because slot is opaque, visit_each() will not visit its internal members.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class slot5
- : public slot_base
-{
-public:
- typedef T_return result_type;
- typedef typename type_trait<T_arg1>::take arg1_type_;
- typedef typename type_trait<T_arg2>::take arg2_type_;
- typedef typename type_trait<T_arg3>::take arg3_type_;
- typedef typename type_trait<T_arg4>::take arg4_type_;
- typedef typename type_trait<T_arg5>::take arg5_type_;
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- typedef internal::slot_rep rep_type;
-public:
- typedef T_return (*call_type)(rep_type*, arg1_type_,arg2_type_,arg3_type_,arg4_type_,arg5_type_);
-#endif
-
- /** Invoke the contained functor unless slot is in blocking state.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @param _A_a4 Argument to be passed on to the functor.
- * @param _A_a5 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- inline T_return operator()(arg1_type_ _A_a1,arg2_type_ _A_a2,arg3_type_ _A_a3,arg4_type_ _A_a4,arg5_type_ _A_a5) const
- {
- if (!empty() && !blocked())
- return (reinterpret_cast<call_type>(rep_->call_))(rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- return T_return();
- }
-
- inline slot5() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot5(const T_functor& _A_func)
- : slot_base(new internal::typed_slot_rep<T_functor>(_A_func))
- { rep_->call_ = internal::slot_call5<T_functor, T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>::address(); }
-
- slot5(const slot5& src)
- : slot_base(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot5& operator=(const slot5& src)
- { slot_base::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg2 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg3 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg4 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg5 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg6 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * You should use the more convenient unnumbered sigc::slot template.
- *
- * @ingroup slot
- */
-/* TODO: Where put the following bit of information? I can't make any
- * sense of the "because", by the way!
- *
- * Because slot is opaque, visit_each() will not visit its internal members.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-class slot6
- : public slot_base
-{
-public:
- typedef T_return result_type;
- typedef typename type_trait<T_arg1>::take arg1_type_;
- typedef typename type_trait<T_arg2>::take arg2_type_;
- typedef typename type_trait<T_arg3>::take arg3_type_;
- typedef typename type_trait<T_arg4>::take arg4_type_;
- typedef typename type_trait<T_arg5>::take arg5_type_;
- typedef typename type_trait<T_arg6>::take arg6_type_;
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- typedef internal::slot_rep rep_type;
-public:
- typedef T_return (*call_type)(rep_type*, arg1_type_,arg2_type_,arg3_type_,arg4_type_,arg5_type_,arg6_type_);
-#endif
-
- /** Invoke the contained functor unless slot is in blocking state.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @param _A_a4 Argument to be passed on to the functor.
- * @param _A_a5 Argument to be passed on to the functor.
- * @param _A_a6 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- inline T_return operator()(arg1_type_ _A_a1,arg2_type_ _A_a2,arg3_type_ _A_a3,arg4_type_ _A_a4,arg5_type_ _A_a5,arg6_type_ _A_a6) const
- {
- if (!empty() && !blocked())
- return (reinterpret_cast<call_type>(rep_->call_))(rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- return T_return();
- }
-
- inline slot6() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot6(const T_functor& _A_func)
- : slot_base(new internal::typed_slot_rep<T_functor>(_A_func))
- { rep_->call_ = internal::slot_call6<T_functor, T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>::address(); }
-
- slot6(const slot6& src)
- : slot_base(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot6& operator=(const slot6& src)
- { slot_base::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg2 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg3 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg4 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg5 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg6 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg7 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * You should use the more convenient unnumbered sigc::slot template.
- *
- * @ingroup slot
- */
-/* TODO: Where put the following bit of information? I can't make any
- * sense of the "because", by the way!
- *
- * Because slot is opaque, visit_each() will not visit its internal members.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-class slot7
- : public slot_base
-{
-public:
- typedef T_return result_type;
- typedef typename type_trait<T_arg1>::take arg1_type_;
- typedef typename type_trait<T_arg2>::take arg2_type_;
- typedef typename type_trait<T_arg3>::take arg3_type_;
- typedef typename type_trait<T_arg4>::take arg4_type_;
- typedef typename type_trait<T_arg5>::take arg5_type_;
- typedef typename type_trait<T_arg6>::take arg6_type_;
- typedef typename type_trait<T_arg7>::take arg7_type_;
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- typedef internal::slot_rep rep_type;
-public:
- typedef T_return (*call_type)(rep_type*, arg1_type_,arg2_type_,arg3_type_,arg4_type_,arg5_type_,arg6_type_,arg7_type_);
-#endif
-
- /** Invoke the contained functor unless slot is in blocking state.
- * @param _A_a1 Argument to be passed on to the functor.
- * @param _A_a2 Argument to be passed on to the functor.
- * @param _A_a3 Argument to be passed on to the functor.
- * @param _A_a4 Argument to be passed on to the functor.
- * @param _A_a5 Argument to be passed on to the functor.
- * @param _A_a6 Argument to be passed on to the functor.
- * @param _A_a7 Argument to be passed on to the functor.
- * @return The return value of the functor invocation.
- */
- inline T_return operator()(arg1_type_ _A_a1,arg2_type_ _A_a2,arg3_type_ _A_a3,arg4_type_ _A_a4,arg5_type_ _A_a5,arg6_type_ _A_a6,arg7_type_ _A_a7) const
- {
- if (!empty() && !blocked())
- return (reinterpret_cast<call_type>(rep_->call_))(rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- return T_return();
- }
-
- inline slot7() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot7(const T_functor& _A_func)
- : slot_base(new internal::typed_slot_rep<T_functor>(_A_func))
- { rep_->call_ = internal::slot_call7<T_functor, T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>::address(); }
-
- slot7(const slot7& src)
- : slot_base(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot7& operator=(const slot7& src)
- { slot_base::operator=(src); return *this; }
-};
-
-
-/** Convenience wrapper for the numbered sigc::slot# templates.
- * Slots convert arbitrary functors to unified types which are opaque.
- * sigc::slot itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg2 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg3 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg4 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg5 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg6 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- * - @e T_arg7 Argument type used in the definition of operator()(). The default @p nil_ means no argument.
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * void foo(int) {}
- * sigc::slot<void, long> s = sigc::ptr_fun(&foo);
- * s(19);
- * @endcode
- *
- * @ingroup slot
- */
-template <class T_return, class T_arg1 = nil_,class T_arg2 = nil_,class T_arg3 = nil_,class T_arg4 = nil_,class T_arg5 = nil_,class T_arg6 = nil_,class T_arg7 = nil_>
-class slot
- : public slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-{
-public:
- typedef slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> parent_type;
-
- inline slot() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot(const T_functor& _A_func)
- : parent_type(_A_func) {}
-
- slot(const slot& src)
- : parent_type((const parent_type&)src) {}
-};
-
-
-/** Convenience wrapper for the numbered sigc::slot0 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::slot
- * template for 0 argument(s).
- */
-template <class T_return>
-class slot <T_return>
- : public slot0<T_return>
-{
-public:
- typedef slot0<T_return> parent_type;
-
- inline slot() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot(const T_functor& _A_func)
- : parent_type(_A_func) {}
-
- slot(const slot& src)
- : parent_type((const parent_type&)src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::slot1 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::slot
- * template for 1 argument(s).
- */
-template <class T_return, class T_arg1>
-class slot <T_return, T_arg1>
- : public slot1<T_return, T_arg1>
-{
-public:
- typedef slot1<T_return, T_arg1> parent_type;
-
- inline slot() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot(const T_functor& _A_func)
- : parent_type(_A_func) {}
-
- slot(const slot& src)
- : parent_type((const parent_type&)src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::slot2 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::slot
- * template for 2 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2>
-class slot <T_return, T_arg1,T_arg2>
- : public slot2<T_return, T_arg1,T_arg2>
-{
-public:
- typedef slot2<T_return, T_arg1,T_arg2> parent_type;
-
- inline slot() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot(const T_functor& _A_func)
- : parent_type(_A_func) {}
-
- slot(const slot& src)
- : parent_type((const parent_type&)src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::slot3 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::slot
- * template for 3 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3>
-class slot <T_return, T_arg1,T_arg2,T_arg3>
- : public slot3<T_return, T_arg1,T_arg2,T_arg3>
-{
-public:
- typedef slot3<T_return, T_arg1,T_arg2,T_arg3> parent_type;
-
- inline slot() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot(const T_functor& _A_func)
- : parent_type(_A_func) {}
-
- slot(const slot& src)
- : parent_type((const parent_type&)src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::slot4 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::slot
- * template for 4 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class slot <T_return, T_arg1,T_arg2,T_arg3,T_arg4>
- : public slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-{
-public:
- typedef slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4> parent_type;
-
- inline slot() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot(const T_functor& _A_func)
- : parent_type(_A_func) {}
-
- slot(const slot& src)
- : parent_type((const parent_type&)src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::slot5 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::slot
- * template for 5 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class slot <T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
- : public slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-{
-public:
- typedef slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> parent_type;
-
- inline slot() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot(const T_functor& _A_func)
- : parent_type(_A_func) {}
-
- slot(const slot& src)
- : parent_type((const parent_type&)src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::slot6 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::slot
- * template for 6 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-class slot <T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
- : public slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-{
-public:
- typedef slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> parent_type;
-
- inline slot() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desirer functor the new slot should be assigned to.
- */
- template <class T_functor>
- slot(const T_functor& _A_func)
- : parent_type(_A_func) {}
-
- slot(const slot& src)
- : parent_type((const parent_type&)src) {}
-};
-
-
-
-} /* namespace sigc */
-#endif /* _SIGC_FUNCTORS_MACROS_SLOTHM4_ */
diff --git a/libs/sigc++2/sigc++/functors/slot_base.cc b/libs/sigc++2/sigc++/functors/slot_base.cc
deleted file mode 100644
index bc0f173f22..0000000000
--- a/libs/sigc++2/sigc++/functors/slot_base.cc
+++ /dev/null
@@ -1,165 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2003, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <sigc++/functors/slot_base.h>
-
-namespace sigc
-{
-
-namespace internal {
-
-// only MSVC needs this to guarantee that all new/delete are executed from the DLL module
-#ifdef SIGC_NEW_DELETE_IN_LIBRARY_ONLY
-void* slot_rep::operator new(size_t size_)
-{
- return malloc(size_);
-}
-
-void slot_rep::operator delete(void* p)
-{
- free(p);
-}
-#endif
-
-void slot_rep::disconnect()
-{
- if (parent_)
- {
- call_ = 0; // Invalidate the slot.
- // _Must_ be done here because parent_ might defer the actual
- // destruction of the slot_rep and try to invoke it before that point.
- void* data_ = parent_;
- parent_ = 0; // Just a precaution.
- (cleanup_)(data_); // Notify the parent (might lead to destruction of this!).
- }
-}
-
-//static
-void* slot_rep::notify(void* data)
-{
- slot_rep* self_ = (slot_rep*)data;
- self_->call_ = 0; // Invalidate the slot.
- self_->destroy(); // Detach the stored functor from the other referred trackables and destroy it.
- self_->disconnect(); // Disconnect the slot (might lead to deletion of self_!).
- return 0;
-}
-
-} // namespace internal
-
-slot_base::slot_base()
-: rep_(0),
- blocked_(false)
-{}
-
-slot_base::slot_base(rep_type* rep)
-: rep_(rep),
- blocked_(false)
-{}
-
-slot_base::slot_base(const slot_base& src)
-: rep_(0),
- blocked_(src.blocked_)
-{
- if (src.rep_)
- rep_ = src.rep_->dup();
-}
-
-slot_base::~slot_base()
-{
- if (rep_)
- delete rep_;
-}
-
-slot_base::operator bool() const
-{
- return rep_ != 0;
-}
-
-slot_base& slot_base::operator=(const slot_base& src)
-{
- if (src.rep_ == rep_) return *this;
-
- if (src.empty())
- {
- disconnect();
- return *this;
- }
-
- internal::slot_rep* new_rep_ = src.rep_->dup();
-
- if (rep_) // Silently exchange the slot_rep.
- {
- new_rep_->set_parent(rep_->parent_, rep_->cleanup_);
- delete rep_;
- }
-
- rep_ = new_rep_;
-
- return *this;
-}
-
-void slot_base::set_parent(void* parent, void* (*cleanup)(void*)) const
-{
- if (rep_)
- rep_->set_parent(parent, cleanup);
-}
-
-void slot_base::add_destroy_notify_callback(void* data, func_destroy_notify func) const
-{
- if (rep_)
- rep_->add_destroy_notify_callback(data, func);
-}
-
-void slot_base::remove_destroy_notify_callback(void* data) const
-{
- if (rep_)
- rep_->remove_destroy_notify_callback(data);
-}
-
-bool slot_base::block(bool should_block)
-{
- bool old = blocked_;
- blocked_ = should_block;
- return old;
-}
-
-bool slot_base::unblock()
-{
- return block(false);
-}
-
-void slot_base::disconnect()
-{
- if (rep_)
- rep_->disconnect();
-}
-
-
-/*bool slot_base::empty() const // having this function not inline is killing performance !!!
-{
- if (rep_ && !rep_->call_)
- {
- delete rep_; // This is not strictly necessary here. I'm convinced that it is
- rep_ = 0; // safe to wait for the destructor to delete the slot_rep. Martin.
- }
- return (rep_ == 0);
-}*/
-
-} //namespace sigc
diff --git a/libs/sigc++2/sigc++/functors/slot_base.h b/libs/sigc++2/sigc++/functors/slot_base.h
deleted file mode 100644
index bb2ed343f3..0000000000
--- a/libs/sigc++2/sigc++/functors/slot_base.h
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Copyright 2003, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_SLOT_BASE_HPP_
-#define _SIGC_SLOT_BASE_HPP_
-
-#include <sigc++config.h>
-#include <sigc++/trackable.h>
-#include <sigc++/functors/functor_trait.h>
-
-namespace sigc
-{
-
-namespace internal {
-
-typedef void* (*hook)(void*);
-
-/** Internal representation of a slot.
- * Derivations of this class can be considered as a link
- * between a slot and the functor that the slot should
- * execute in operator(). This link is needed because in
- * libsigc++2 the slot doesn't necessarily have exactly the
- * same function signature as the functor thus allowing for
- * implicit conversions.
- * The base class slot_rep serves the purpose to
- * - form a common pointer type (slot_rep*),
- * - offer the possibility to create duplicates (dup()),
- * - offer a notification callback (notify()),
- * - implement some of slot_base's interface that depends
- * on the notification callback, i.e.
- * -# the possibility to set a single parent with a callback
- * (set_parent()) that is executed from notify(),
- * -# a generic function pointer, call_, that is simply
- * set to zero in notify() to invalidate the slot.
- * slot_rep inherits trackable so that connection objects can
- * refer to the slot and are notified when the slot is destroyed.
- */
-struct SIGC_API slot_rep : public trackable
-{
- /* NB: Instead of slot_rep we could inherit slot_base from trackable.
- * However, a simple benchmark seems to indicate that this slows
- * down dereferencing of slot list iterators. Martin. */
-
- /// Callback that invokes the contained functor.
- /* This can't be a virtual function since number of arguments
- * must be flexible. We use function pointers to slot_call::call_it()
- * instead. call_ is set to zero to indicate that the slot is invalid.
- */
- hook call_;
-
- /// Callback that detaches the slot_rep object from referred trackables and destroys it.
- /* This could be a replaced by a virtual dtor. However since this struct is
- * crucual for the efficiency of the whole library we want to avoid this.
- */
- hook destroy_;
-
- /** Callback that makes a deep copy of the slot_rep object.
- * @return A deep copy of the slot_rep object.
- */
- hook dup_;
-
- /** Callback of parent_. */
- hook cleanup_;
-
- /** Parent object whose callback cleanup_ is executed on notification. */
- void* parent_;
-
- inline slot_rep(hook call__, hook destroy__, hook dup__)
- : call_(call__), destroy_(destroy__), dup_(dup__), cleanup_(0), parent_(0) {}
-
- inline ~slot_rep()
- { destroy(); }
-
- // only MSVC needs this to guarantee that all new/delete are executed from the DLL module
-#ifdef SIGC_NEW_DELETE_IN_LIBRARY_ONLY
- void* operator new(size_t size_);
- void operator delete(void* p);
-#endif
-
- /** Destroys the slot_rep object (but doesn't delete it).
- */
- inline void destroy()
- { if (destroy_) (*destroy_)(this); }
-
- /** Makes a deep copy of the slot_rep object.
- * @return A deep copy of the slot_rep object.
- */
- inline slot_rep* dup() const
- { return (slot_rep*)(*dup_)(const_cast<slot_rep*>(this)); }
-
- /** Set the parent with a callback.
- * slots have one parent exclusively.
- * @param parent The new parent.
- * @param cleanup The callback to execute from notify().
- */
- inline void set_parent(void* parent, hook cleanup)
- {
- parent_ = parent;
- cleanup_ = cleanup;
- }
-
- /// Invalidates the slot and executes the parent's cleanup callback.
- void disconnect();
-
- /** Callback that invalidates the slot.
- * This callback is registered in every object of a trackable
- * inherited type that is referred by this slot_rep object.
- * It is executed when the slot becomes invalid because of some
- * referred object dying.
- * @param data The slot_rep object that is becoming invalid (@p this).
- */
- static void* notify(void* data);
-};
-
-/** Functor used to add a dependency to a trackable.
- * Consequently slot_rep::notify() gets executed when the
- * trackable is destroyed or overwritten.
- */
-struct SIGC_API slot_do_bind
-{
- /** The slot_rep object trackables should notify on destruction. */
- slot_rep* rep_;
-
- /** Construct a slot_do_bind functor.
- * @param rep The slot_rep object trackables should notify on destruction.
- */
- inline slot_do_bind(slot_rep* rep) : rep_(rep) {}
-
- /** Adds a dependency to @p t.
- * @param t The trackable object to add a callback to.
- */
- inline void operator()(const trackable* t) const
- { t->add_destroy_notify_callback(rep_, &slot_rep::notify); }
-};
-
-/// Functor used to remove a dependency from a trackable.
-struct SIGC_API slot_do_unbind
-{
- /** The slot_rep object trackables don't need to notify on destruction any more. */
- slot_rep* rep_;
-
- /** Construct a slot_do_unbind functor.
- * @param rep The slot_rep object trackables don't need to notify on destruction any more.
- */
- inline slot_do_unbind(slot_rep* rep) : rep_(rep) {}
-
- /** Removes a dependency from @p t.
- * @param t The trackable object to remove the callback from.
- */
- inline void operator()(const trackable* t) const
- { t->remove_destroy_notify_callback(rep_); }
-};
-
-} //namespace internal
-
-
-/** @defgroup slot Slots
- * Slots are type-safe representations of callback methods and functions.
- * A Slot can be constructed from any function, regardless of whether it is a global function,
- * a member method, static, or virtual.
- *
- * Use the sigc::mem_fun() and sigc::ptr_fun() template functions to get a sigc::slot, like so:
- *
- * @code
- * sigc::slot<void, int> sl = sigc::mem_fun(someobj,& SomeClass::somemethod);
- * @endcode
- *
- * or
- *
- * @code
- * sigc::slot<void, int> sl = sigc::ptr_fun(&somefunction);
- * @endcode
- *
- * or
- *
- * @code
- * m_Button.signal_clicked().connect( sigc::mem_fun(*this, &MyWindow::on_button_clicked) );
- * @endcode
- *
- * The compiler will complain if SomeClass::somemethod, etc. have the wrong signature.
- *
- * You can also pass slots as method parameters where you might normally pass a function pointer.
- *
- * @ingroup functors
- */
-
-/** Base type for slots.
- * slot_base integrates most of the interface of the derived
- * sigc::slot templates. slots
- * can be connected to signals, be disconnected at some later point
- * (disconnect()) and temporarily be blocked (block(), unblock()).
- * The validity of a slot can be tested with empty().
- *
- * The internal representation of a sigc::internal::slot_rep derived
- * type is built from slot_base's derivations. set_parent() is used to
- * register a notification callback that is executed when the slot gets
- * invalid. add_destroy_notify_callback() is used by connection objects
- * to add a notification callback that is executed on destruction.
- *
- * @ingroup slot
- */
-class SIGC_API slot_base : public functor_base
-{
- typedef internal::slot_rep rep_type;
-
-public:
- /// Constructs an empty slot.
- slot_base();
-
- /** Constructs a slot from an existing slot_rep object.
- * @param rep The slot_rep object this slot should contain.
- */
- explicit slot_base(rep_type* rep);
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- slot_base(const slot_base& src);
-
- ~slot_base();
-
- /** Tests whether a slot is null, because the default constructor was used.
- * Test a slot for null like so:
- * @code
- * if(slot)
- * do_something()
- * @endcode
- */
- operator bool() const;
-
- /** Sets the parent of this slot.
- * This function is used by signals to register a notification callback.
- * This notification callback is executed when the slot becomes invalid
- * because of some referred object dying.
- * @param parent The new parent.
- * @param cleanup The notification callback.
- */
- void set_parent(void* parent, void* (*cleanup)(void*)) const;
-
- typedef trackable::func_destroy_notify func_destroy_notify;
- /** Add a callback that is executed (notified) when the slot is detroyed.
- * This function is used internally by connection objects.
- * @param data Passed into func upon notification.
- * @param func Callback executed upon destruction of the object.
- */
- void add_destroy_notify_callback(void* data, func_destroy_notify func) const;
-
- /** Remove a callback previously installed with add_destroy_notify_callback().
- * The callback is not executed.
- * @param data Parameter passed into previous call to add_destroy_notify_callback().
- */
- void remove_destroy_notify_callback(void* data) const;
-
- /** Returns whether the slot is invalid.
- * @return @p true if the slot is invalid (empty).
- */
- inline bool empty() const
- { return (!rep_ || !rep_->call_); }
-
- /** Returns whether the slot is blocked.
- * @return @p true if the slot is blocked.
- */
- inline bool blocked() const
- { return blocked_; }
-
- /** Sets the blocking state.
- * If @e should_block is @p true then the blocking state is set.
- * Subsequent calls to slot::operator()() don't invoke the functor
- * contained by this slot until unblock() or block() with
- * @e should_block = @p false is called.
- * @param should_block Indicates whether the blocking state should be set or unset.
- * @return @p true if the slot was in blocking state before.
- */
- bool block(bool should_block = true);
-
- /** Unsets the blocking state.
- * @return @p true if the slot was in blocking state before.
- */
- bool unblock();
-
- /** Disconnects the slot.
- * Invalidates the slot and notifies the parent.
- */
- void disconnect();
-
-protected:
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- slot_base& operator=(const slot_base& src);
-
-public: // public to avoid template friend declarations
- /** Typed slot_rep object that contains a functor. */
- mutable rep_type *rep_;
-
- /** Indicates whether the slot is blocked. */
- bool blocked_;
-};
-
-} //namespace sigc
-
-#endif //_SIGC_SLOT_BASE_HPP_
-
diff --git a/libs/sigc++2/sigc++/hide.h b/libs/sigc++2/sigc++/hide.h
deleted file mode 100644
index c4852b7b42..0000000000
--- a/libs/sigc++2/sigc++/hide.h
+++ /dev/null
@@ -1,105 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-#ifndef _SIGC_MACROS_HIDEHM4_
-#define _SIGC_MACROS_HIDEHM4_
-
-#include <sigc++/slot.h>
-#include <sigc++/adaptors/hide.h>
-
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-template <class T_hidden1, class T_return>
-inline SigC::Slot1<T_return, T_hidden1>
-hide(const SigC::Slot0<T_return>& _A_slot)
-{ return ::sigc::hide_functor<0, SigC::Slot0<T_return> >
- (_A_slot); }
-
-template <class T_hidden1, class T_return, class T_arg1>
-inline SigC::Slot2<T_return, T_arg1, T_hidden1>
-hide(const SigC::Slot1<T_return, T_arg1>& _A_slot)
-{ return ::sigc::hide_functor<0, SigC::Slot1<T_return, T_arg1> >
- (_A_slot); }
-
-template <class T_hidden1, class T_return, class T_arg1,class T_arg2>
-inline SigC::Slot3<T_return, T_arg1,T_arg2, T_hidden1>
-hide(const SigC::Slot2<T_return, T_arg1,T_arg2>& _A_slot)
-{ return ::sigc::hide_functor<0, SigC::Slot2<T_return, T_arg1,T_arg2> >
- (_A_slot); }
-
-template <class T_hidden1, class T_return, class T_arg1,class T_arg2,class T_arg3>
-inline SigC::Slot4<T_return, T_arg1,T_arg2,T_arg3, T_hidden1>
-hide(const SigC::Slot3<T_return, T_arg1,T_arg2,T_arg3>& _A_slot)
-{ return ::sigc::hide_functor<0, SigC::Slot3<T_return, T_arg1,T_arg2,T_arg3> >
- (_A_slot); }
-
-template <class T_hidden1, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline SigC::Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_hidden1>
-hide(const SigC::Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>& _A_slot)
-{ return ::sigc::hide_functor<0, SigC::Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4> >
- (_A_slot); }
-
-template <class T_hidden1, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline SigC::Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_hidden1>
-hide(const SigC::Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_slot)
-{ return ::sigc::hide_functor<0, SigC::Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> >
- (_A_slot); }
-
-template <class T_hidden1, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-inline SigC::Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_hidden1>
-hide(const SigC::Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>& _A_slot)
-{ return ::sigc::hide_functor<0, SigC::Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> >
- (_A_slot); }
-
-
-template <class T_hidden1,class T_hidden2, class T_return>
-inline SigC::Slot2<T_return, T_hidden1,T_hidden2>
-hide(const SigC::Slot0<T_return>& _A_slot)
-{ return ::sigc::hide<0>(
- ::sigc::hide_functor<0, SigC::Slot0<T_return> >
- (_A_slot)); }
-
-template <class T_hidden1,class T_hidden2, class T_return, class T_arg1>
-inline SigC::Slot3<T_return, T_arg1, T_hidden1,T_hidden2>
-hide(const SigC::Slot1<T_return, T_arg1>& _A_slot)
-{ return ::sigc::hide<0>(
- ::sigc::hide_functor<0, SigC::Slot1<T_return, T_arg1> >
- (_A_slot)); }
-
-template <class T_hidden1,class T_hidden2, class T_return, class T_arg1,class T_arg2>
-inline SigC::Slot4<T_return, T_arg1,T_arg2, T_hidden1,T_hidden2>
-hide(const SigC::Slot2<T_return, T_arg1,T_arg2>& _A_slot)
-{ return ::sigc::hide<0>(
- ::sigc::hide_functor<0, SigC::Slot2<T_return, T_arg1,T_arg2> >
- (_A_slot)); }
-
-template <class T_hidden1,class T_hidden2, class T_return, class T_arg1,class T_arg2,class T_arg3>
-inline SigC::Slot5<T_return, T_arg1,T_arg2,T_arg3, T_hidden1,T_hidden2>
-hide(const SigC::Slot3<T_return, T_arg1,T_arg2,T_arg3>& _A_slot)
-{ return ::sigc::hide<0>(
- ::sigc::hide_functor<0, SigC::Slot3<T_return, T_arg1,T_arg2,T_arg3> >
- (_A_slot)); }
-
-template <class T_hidden1,class T_hidden2, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline SigC::Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_hidden1,T_hidden2>
-hide(const SigC::Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>& _A_slot)
-{ return ::sigc::hide<0>(
- ::sigc::hide_functor<0, SigC::Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4> >
- (_A_slot)); }
-
-template <class T_hidden1,class T_hidden2, class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline SigC::Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_hidden1,T_hidden2>
-hide(const SigC::Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>& _A_slot)
-{ return ::sigc::hide<0>(
- ::sigc::hide_functor<0, SigC::Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> >
- (_A_slot)); }
-
-
-
-} /* namespace SigC */
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-#endif /* _SIGC_MACROS_HIDEHM4_ */
diff --git a/libs/sigc++2/sigc++/method_slot.h b/libs/sigc++2/sigc++/method_slot.h
deleted file mode 100644
index d92781633b..0000000000
--- a/libs/sigc++2/sigc++/method_slot.h
+++ /dev/null
@@ -1,387 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-
-#ifndef _SIGC_MACROS_METHOD_SLOTHM4_
-#define _SIGC_MACROS_METHOD_SLOTHM4_
-
-#include <sigc++/slot.h>
-#include <sigc++/functors/mem_fun.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-/** Creates a functor of type Sigc::Slot1 that wraps a method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj>
-inline Slot1<T_return, T_obj&>
-slot(T_return (T_obj::*_A_func)() )
-{ return ::sigc::mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot2 that wraps a method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj>
-inline Slot2<T_return, T_obj&, T_arg1>
-slot(T_return (T_obj::*_A_func)(T_arg1) )
-{ return ::sigc::mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot3 that wraps a method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj>
-inline Slot3<T_return, T_obj&, T_arg1,T_arg2>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2) )
-{ return ::sigc::mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot4 that wraps a method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj>
-inline Slot4<T_return, T_obj&, T_arg1,T_arg2,T_arg3>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ return ::sigc::mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot5 that wraps a method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj>
-inline Slot5<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ return ::sigc::mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot6 that wraps a method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj>
-inline Slot6<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ return ::sigc::mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot7 that wraps a method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj>
-inline Slot7<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ return ::sigc::mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-
-/** Creates a functor of type Sigc::Slot1 that wraps a const method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj>
-inline Slot1<T_return, T_obj&>
-slot(T_return (T_obj::*_A_func)() const)
-{ return ::sigc::const_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot2 that wraps a const method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj>
-inline Slot2<T_return, T_obj&, T_arg1>
-slot(T_return (T_obj::*_A_func)(T_arg1) const)
-{ return ::sigc::const_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot3 that wraps a const method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj>
-inline Slot3<T_return, T_obj&, T_arg1,T_arg2>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const)
-{ return ::sigc::const_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot4 that wraps a const method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj>
-inline Slot4<T_return, T_obj&, T_arg1,T_arg2,T_arg3>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ return ::sigc::const_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot5 that wraps a const method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj>
-inline Slot5<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ return ::sigc::const_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot6 that wraps a const method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj>
-inline Slot6<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ return ::sigc::const_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot7 that wraps a const method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj>
-inline Slot7<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const)
-{ return ::sigc::const_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-
-/** Creates a functor of type Sigc::Slot1 that wraps a volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj>
-inline Slot1<T_return, T_obj&>
-slot(T_return (T_obj::*_A_func)() volatile)
-{ return ::sigc::volatile_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot2 that wraps a volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj>
-inline Slot2<T_return, T_obj&, T_arg1>
-slot(T_return (T_obj::*_A_func)(T_arg1) volatile)
-{ return ::sigc::volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot3 that wraps a volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj>
-inline Slot3<T_return, T_obj&, T_arg1,T_arg2>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2) volatile)
-{ return ::sigc::volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot4 that wraps a volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj>
-inline Slot4<T_return, T_obj&, T_arg1,T_arg2,T_arg3>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ return ::sigc::volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot5 that wraps a volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj>
-inline Slot5<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ return ::sigc::volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot6 that wraps a volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj>
-inline Slot6<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ return ::sigc::volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot7 that wraps a volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj>
-inline Slot7<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile)
-{ return ::sigc::volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-
-/** Creates a functor of type Sigc::Slot1 that wraps a const volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj>
-inline Slot1<T_return, T_obj&>
-slot(T_return (T_obj::*_A_func)() const volatile)
-{ return ::sigc::const_volatile_mem_functor0<T_return, T_obj>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot2 that wraps a const volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj>
-inline Slot2<T_return, T_obj&, T_arg1>
-slot(T_return (T_obj::*_A_func)(T_arg1) const volatile)
-{ return ::sigc::const_volatile_mem_functor1<T_return, T_obj, T_arg1>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot3 that wraps a const volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj>
-inline Slot3<T_return, T_obj&, T_arg1,T_arg2>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2) const volatile)
-{ return ::sigc::const_volatile_mem_functor2<T_return, T_obj, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot4 that wraps a const volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj>
-inline Slot4<T_return, T_obj&, T_arg1,T_arg2,T_arg3>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ return ::sigc::const_volatile_mem_functor3<T_return, T_obj, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot5 that wraps a const volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj>
-inline Slot5<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ return ::sigc::const_volatile_mem_functor4<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot6 that wraps a const volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj>
-inline Slot6<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile)
-{ return ::sigc::const_volatile_mem_functor5<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type Sigc::Slot7 that wraps a const volatile method.
- *
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj>
-inline Slot7<T_return, T_obj&, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot(T_return (T_obj::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile)
-{ return ::sigc::const_volatile_mem_functor6<T_return, T_obj, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-
-
-}
-
-#endif
-#endif /* _SIGC_MACROS_METHOD_SLOTHM4_ */
diff --git a/libs/sigc++2/sigc++/object.h b/libs/sigc++2/sigc++/object.h
deleted file mode 100644
index 0ddefa02b2..0000000000
--- a/libs/sigc++2/sigc++/object.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_OBJECT_HPP_
-#define _SIGC_OBJECT_HPP_
-
-#include <sigc++/trackable.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-// Object
-typedef ::sigc::trackable Object;
-
-}
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-
-#endif /* _SIGC_OBJECT_HPP_ */
diff --git a/libs/sigc++2/sigc++/object_slot.h b/libs/sigc++2/sigc++/object_slot.h
deleted file mode 100644
index e9d031ed50..0000000000
--- a/libs/sigc++2/sigc++/object_slot.h
+++ /dev/null
@@ -1,536 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-
-#ifndef _SIGC_MACROS_OBJECT_SLOTHM4_
-#define _SIGC_MACROS_OBJECT_SLOTHM4_
-
-#include <sigc++/slot.h>
-#include <sigc++/object.h>
-#include <sigc++/functors/mem_fun.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-/** Creates a functor of type SigC::Slot0 that encapsulates a method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj1, class T_obj2>
-inline Slot0<T_return>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)() )
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_mem_functor0<T_return, T_obj2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot1 that encapsulates a method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj1, class T_obj2>
-inline Slot1<T_return, T_arg1>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_mem_functor1<T_return, T_obj2, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot2 that encapsulates a method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj1, class T_obj2>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_mem_functor2<T_return, T_obj2, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot3 that encapsulates a method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj1, class T_obj2>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_mem_functor3<T_return, T_obj2, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot4 that encapsulates a method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj1, class T_obj2>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_mem_functor4<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot5 that encapsulates a method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj1, class T_obj2>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_mem_functor5<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot6 that encapsulates a method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj1, class T_obj2>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_mem_functor6<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot7 that encapsulates a method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj1, class T_obj2>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) )
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_mem_functor7<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_obj, _A_func); }
-
-
-/** Creates a functor of type SigC::Slot0 that encapsulates a const method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj1, class T_obj2>
-inline Slot0<T_return>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)() const)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_mem_functor0<T_return, T_obj2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot1 that encapsulates a const method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj1, class T_obj2>
-inline Slot1<T_return, T_arg1>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_mem_functor1<T_return, T_obj2, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot2 that encapsulates a const method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj1, class T_obj2>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_mem_functor2<T_return, T_obj2, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot3 that encapsulates a const method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj1, class T_obj2>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_mem_functor3<T_return, T_obj2, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot4 that encapsulates a const method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj1, class T_obj2>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_mem_functor4<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot5 that encapsulates a const method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj1, class T_obj2>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_mem_functor5<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot6 that encapsulates a const method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj1, class T_obj2>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_mem_functor6<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot7 that encapsulates a const method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj1, class T_obj2>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_mem_functor7<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_obj, _A_func); }
-
-
-/** Creates a functor of type SigC::Slot0 that encapsulates a volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj1, class T_obj2>
-inline Slot0<T_return>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)() volatile)
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_volatile_mem_functor0<T_return, T_obj2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot1 that encapsulates a volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj1, class T_obj2>
-inline Slot1<T_return, T_arg1>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_volatile_mem_functor1<T_return, T_obj2, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot2 that encapsulates a volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj1, class T_obj2>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_volatile_mem_functor2<T_return, T_obj2, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot3 that encapsulates a volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj1, class T_obj2>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_volatile_mem_functor3<T_return, T_obj2, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot4 that encapsulates a volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj1, class T_obj2>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_volatile_mem_functor4<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot5 that encapsulates a volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj1, class T_obj2>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_volatile_mem_functor5<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot6 that encapsulates a volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj1, class T_obj2>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile)
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_volatile_mem_functor6<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot7 that encapsulates a volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj1, class T_obj2>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile)
-{ (void)dynamic_cast< Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_volatile_mem_functor7<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_obj, _A_func); }
-
-
-/** Creates a functor of type SigC::Slot0 that encapsulates a const volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_obj1, class T_obj2>
-inline Slot0<T_return>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)() const volatile)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_volatile_mem_functor0<T_return, T_obj2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot1 that encapsulates a const volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_obj1, class T_obj2>
-inline Slot1<T_return, T_arg1>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_volatile_mem_functor1<T_return, T_obj2, T_arg1>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot2 that encapsulates a const volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_obj1, class T_obj2>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_volatile_mem_functor2<T_return, T_obj2, T_arg1,T_arg2>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot3 that encapsulates a const volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj1, class T_obj2>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_volatile_mem_functor3<T_return, T_obj2, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot4 that encapsulates a const volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj1, class T_obj2>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_volatile_mem_functor4<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot5 that encapsulates a const volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj1, class T_obj2>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_volatile_mem_functor5<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot6 that encapsulates a const volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj1, class T_obj2>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_volatile_mem_functor6<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
-
-/** Creates a functor of type SigC::Slot7 that encapsulates a const volatile method and an object instance.
- * @e _A_obj must be of a type that inherits from SigC::Object.
- *
- * @param _A_obj Reference to object instance the functor should operate on.
- * @param _A_func Pointer to method that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::mem_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj1, class T_obj2>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile)
-{ (void)dynamic_cast<const Object&>(_A_obj); // trigger compiler error if T_obj1 does not derive from SigC::Object
- return ::sigc::bound_const_volatile_mem_functor7<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_obj, _A_func); }
-
-
-
-}
-
-#endif
-#endif /* _SIGC_MACROS_OBJECT_SLOTHM4_ */
diff --git a/libs/sigc++2/sigc++/reference_wrapper.h b/libs/sigc++2/sigc++/reference_wrapper.h
deleted file mode 100644
index 436e02f9bb..0000000000
--- a/libs/sigc++2/sigc++/reference_wrapper.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_REFERENCE_WRAPPER_H_
-#define _SIGC_REFERENCE_WRAPPER_H_
-
-namespace sigc {
-
-/** Reference wrapper.
- * Use sigc::ref() to create a reference wrapper.
- */
-template <class T_type>
-struct reference_wrapper
-{
- explicit reference_wrapper(T_type& v)
- : value_(v) {}
-
- operator T_type& () const
- { return value_; }
-
- T_type& value_;
-};
-
-/** Const reference wrapper.
- * Use sigc::ref() to create a const reference wrapper.
- */
-template <class T_type>
-struct const_reference_wrapper
-{
- explicit const_reference_wrapper(const T_type& v)
- : value_(v) {}
-
- operator const T_type& () const
- { return value_; }
-
- const T_type& value_;
-};
-
-/** Creates a reference wrapper.
- * Passing an object throught sigc::ref() makes libsigc++ adaptors
- * like, e.g., sigc::bind store references to the object instead of copies.
- * If the object type inherits from sigc::trackable this will ensure
- * automatic invalidation of the adaptors when the object is deleted
- * or overwritten.
- *
- * @param v Reference to store.
- * @return A reference wrapper.
- */
-template <class T_type>
-reference_wrapper<T_type> ref(T_type& v)
-{ return reference_wrapper<T_type>(v); }
-
-/** Creates a const reference wrapper.
- * Passing an object throught sigc::ref() makes libsigc++ adaptors
- * like, e.g., sigc::bind store references to the object instead of copies.
- * If the object type inherits from sigc::trackable this will ensure
- * automatic invalidation of the adaptors when the object is deleted
- * or overwritten.
- *
- * @param v Reference to store.
- * @return A reference wrapper.
- */
-template <class T_type>
-const_reference_wrapper<T_type> ref(const T_type& v)
-{ return const_reference_wrapper<T_type>(v); }
-
-template <class T_type>
-struct unwrap_reference
-{
- typedef T_type type;
-};
-
-template <class T_type>
-struct unwrap_reference<reference_wrapper<T_type> >
-{
- typedef T_type& type;
-};
-
-template <class T_type>
-struct unwrap_reference<const_reference_wrapper<T_type> >
-{
- typedef const T_type& type;
-};
-
-template <class T_type>
-T_type& unwrap(T_type& v)
-{ return v; }
-
-template <class T_type>
-const T_type& unwrap(const T_type& v)
-{ return v; }
-
-template <class T_type>
-T_type& unwrap(const reference_wrapper<T_type>& v)
-{ return v; }
-
-template <class T_type>
-const T_type& unwrap(const const_reference_wrapper<T_type>& v)
-{ return v; }
-
-} /* namespace sigc */
-
-#endif /* _SIGC_REFERENCE_WRAPPER_H_ */
diff --git a/libs/sigc++2/sigc++/retype.h b/libs/sigc++2/sigc++/retype.h
deleted file mode 100644
index 069313573b..0000000000
--- a/libs/sigc++2/sigc++/retype.h
+++ /dev/null
@@ -1,321 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-#ifndef _SIGC_MACROS_RETYPEHM4_
-#define _SIGC_MACROS_RETYPEHM4_
-#include <sigc++/adaptors/adaptor_trait.h>
-#include <sigc++/slot.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-template <class T_functor, class T_return, class T_type1=::sigc::nil_,class T_type2=::sigc::nil_,class T_type3=::sigc::nil_,class T_type4=::sigc::nil_,class T_type5=::sigc::nil_,class T_type6=::sigc::nil_,class T_type7=::sigc::nil_>
-struct retype_slot_functor
- : public ::sigc::adapts<T_functor>
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef T_return type; };
- typedef T_return result_type;
-
- T_return operator()();
-
- template <class T_arg1>
- inline T_return operator()(T_arg1 _A_a1)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take>
- ((T_type1)_A_a1));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- inline T_return sun_forte_workaround(T_arg1 _A_a1)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take>
- ((T_type1)_A_a1));
- }
- #endif
-
- template <class T_arg1,class T_arg2>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take,typename ::sigc::type_trait<T_type6>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take,typename ::sigc::type_trait<T_type6>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline T_return operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take,typename ::sigc::type_trait<T_type6>::take,typename ::sigc::type_trait<T_type7>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6,(T_type7)_A_a7));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline T_return sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { return T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take,typename ::sigc::type_trait<T_type6>::take,typename ::sigc::type_trait<T_type7>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6,(T_type7)_A_a7));
- }
- #endif
-
-
- retype_slot_functor(typename ::sigc::type_trait<T_functor>::take _A_functor)
- : ::sigc::adapts<T_functor>(_A_functor)
- {}
-};
-
-template <class T_functor, class T_return, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-T_return retype_slot_functor<T_functor, T_return, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>::operator()()
- { return T_return(this->functor_()); }
-
-
-// void specialization needed because of explicit cast to T_return
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-struct retype_slot_functor<T_functor, void, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>
- : public ::sigc::adapts<T_functor>
-{
- template <class T_arg1=void,class T_arg2=void,class T_arg3=void,class T_arg4=void,class T_arg5=void,class T_arg6=void,class T_arg7=void>
- struct deduce_result_type
- { typedef void type; };
- typedef void result_type;
-
- void operator()();
-
- template <class T_arg1>
- inline void operator()(T_arg1 _A_a1)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take>
- ((T_type1)_A_a1));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1>
- inline void sun_forte_workaround(T_arg1 _A_a1)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take>
- ((T_type1)_A_a1));
- }
- #endif
-
- template <class T_arg1,class T_arg2>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take,typename ::sigc::type_trait<T_type6>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take,typename ::sigc::type_trait<T_type6>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6));
- }
- #endif
-
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline void operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take,typename ::sigc::type_trait<T_type6>::take,typename ::sigc::type_trait<T_type7>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6,(T_type7)_A_a7));
- }
-
- #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
- inline void sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7)
- { T_return(this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename ::sigc::type_trait<T_type1>::take,typename ::sigc::type_trait<T_type2>::take,typename ::sigc::type_trait<T_type3>::take,typename ::sigc::type_trait<T_type4>::take,typename ::sigc::type_trait<T_type5>::take,typename ::sigc::type_trait<T_type6>::take,typename ::sigc::type_trait<T_type7>::take>
- ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6,(T_type7)_A_a7));
- }
- #endif
-
-
- retype_slot_functor(typename ::sigc::type_trait<T_functor>::take _A_functor)
- : ::sigc::adapts<T_functor>(_A_functor)
- {}
-};
-
-template <class T_functor, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-void retype_slot_functor<T_functor, void, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>::operator()()
- { this->functor_(); }
-
-
-template <class T_action, class T_functor, class T_return, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-void visit_each(const T_action& _A_action,
- const retype_slot_functor<T_functor, T_return, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>& _A_target)
-{
- visit_each(_A_action, _A_target.functor_);
-}
-
-
-template <class T_return, class T_ret>
-inline Slot0<T_return>
-retype(const Slot0<T_ret>& _A_slot)
-{ return Slot0<T_return>
- (retype_slot_functor<Slot0<T_ret>, T_return>
- (_A_slot)); }
-
-template <class T_return, class T_arg1, class T_ret, class T_type1>
-inline Slot1<T_return, T_arg1>
-retype(const Slot1<T_ret, T_type1>& _A_slot)
-{ return Slot1<T_return, T_arg1>
- (retype_slot_functor<Slot1<T_ret, T_type1>, T_return, T_type1>
- (_A_slot)); }
-
-template <class T_return, class T_arg1,class T_arg2, class T_ret, class T_type1,class T_type2>
-inline Slot2<T_return, T_arg1,T_arg2>
-retype(const Slot2<T_ret, T_type1,T_type2>& _A_slot)
-{ return Slot2<T_return, T_arg1,T_arg2>
- (retype_slot_functor<Slot2<T_ret, T_type1, T_type2>, T_return, T_type1,T_type2>
- (_A_slot)); }
-
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_ret, class T_type1,class T_type2,class T_type3>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-retype(const Slot3<T_ret, T_type1,T_type2,T_type3>& _A_slot)
-{ return Slot3<T_return, T_arg1,T_arg2,T_arg3>
- (retype_slot_functor<Slot3<T_ret, T_type1, T_type2, T_type3>, T_return, T_type1,T_type2,T_type3>
- (_A_slot)); }
-
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_ret, class T_type1,class T_type2,class T_type3,class T_type4>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-retype(const Slot4<T_ret, T_type1,T_type2,T_type3,T_type4>& _A_slot)
-{ return Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
- (retype_slot_functor<Slot4<T_ret, T_type1, T_type2, T_type3, T_type4>, T_return, T_type1,T_type2,T_type3,T_type4>
- (_A_slot)); }
-
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_ret, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-retype(const Slot5<T_ret, T_type1,T_type2,T_type3,T_type4,T_type5>& _A_slot)
-{ return Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
- (retype_slot_functor<Slot5<T_ret, T_type1, T_type2, T_type3, T_type4, T_type5>, T_return, T_type1,T_type2,T_type3,T_type4,T_type5>
- (_A_slot)); }
-
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_ret, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-retype(const Slot6<T_ret, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6>& _A_slot)
-{ return Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
- (retype_slot_functor<Slot6<T_ret, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6>, T_return, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6>
- (_A_slot)); }
-
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_ret, class T_type1,class T_type2,class T_type3,class T_type4,class T_type5,class T_type6,class T_type7>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-retype(const Slot7<T_ret, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>& _A_slot)
-{ return Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
- (retype_slot_functor<Slot7<T_ret, T_type1, T_type2, T_type3, T_type4, T_type5, T_type6, T_type7>, T_return, T_type1,T_type2,T_type3,T_type4,T_type5,T_type6,T_type7>
- (_A_slot)); }
-
-
-} /* namespace SigC */
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-#endif /* _SIGC_MACROS_RETYPEHM4_ */
diff --git a/libs/sigc++2/sigc++/retype_return.h b/libs/sigc++2/sigc++/retype_return.h
deleted file mode 100644
index cc6c153394..0000000000
--- a/libs/sigc++2/sigc++/retype_return.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_RETYPE_RETURN_HPP_
-#define _SIGC_RETYPE_RETURN_HPP_
-
-#include <sigc++/adaptors/retype_return.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-using ::sigc::retype_return;
-using ::sigc::hide_return;
-
-}
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-
-#endif /* _SIGC_RETYPE_RETURN_HPP_ */
diff --git a/libs/sigc++2/sigc++/sigc++.h b/libs/sigc++2/sigc++/sigc++.h
deleted file mode 100644
index 90a9e6dd17..0000000000
--- a/libs/sigc++2/sigc++/sigc++.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2003, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef SIGCXX_SIGCXX_H
-#define SIGCXX_SIGCXX_H
-
-#include <sigc++/signal.h>
-#include <sigc++/connection.h>
-#include <sigc++/trackable.h>
-#include <sigc++/adaptors/adaptors.h>
-#include <sigc++/functors/functors.h>
-
-#endif /* SIGCXX_SIGCXX_H */
-
diff --git a/libs/sigc++2/sigc++/signal.cc b/libs/sigc++2/sigc++/signal.cc
deleted file mode 100644
index 993eee4aca..0000000000
--- a/libs/sigc++2/sigc++/signal.cc
+++ /dev/null
@@ -1,25 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#include <sigc++/signal.h>
-
-namespace sigc {
-
-
-} /* sigc */
diff --git a/libs/sigc++2/sigc++/signal.h b/libs/sigc++2/sigc++/signal.h
deleted file mode 100644
index 9c4e35442a..0000000000
--- a/libs/sigc++2/sigc++/signal.h
+++ /dev/null
@@ -1,3188 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-#ifndef _SIGC_SIGNAL_H_
-#define _SIGC_SIGNAL_H_
-
-#include <list>
-#include <sigc++/signal_base.h>
-#include <sigc++/type_traits.h>
-#include <sigc++/trackable.h>
-#include <sigc++/functors/slot.h>
-#include <sigc++/functors/mem_fun.h>
-
-// TODO: This should have its own test.
-// I have just used this because there is a correlation between these two problems.
-#ifdef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- //Compilers, such as SUN Forte C++, that do not allow this also often
- //do not allow a typedef to have the same name as a class in the typedef's definition.
- #define SIGC_TYPEDEF_REDEFINE_ALLOWED 1
-#endif
-
-namespace sigc {
-
-/** STL-style iterator for slot_list.
- *
- * @ingroup signal
- */
-template <typename T_slot>
-struct slot_iterator
-{
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef std::bidirectional_iterator_tag iterator_category;
-
- typedef T_slot slot_type;
-
- typedef T_slot value_type;
- typedef T_slot* pointer;
- typedef T_slot& reference;
-
- typedef typename internal::signal_impl::iterator_type iterator_type;
-
- slot_iterator()
- {}
-
- explicit slot_iterator(const iterator_type& i)
- : i_(i) {}
-
- reference operator*() const
- { return static_cast<reference>(*i_); }
-
- pointer operator->() const
- { return &(operator*()); }
-
- slot_iterator& operator++()
- {
- ++i_;
- return *this;
- }
-
- slot_iterator operator++(int)
- {
- slot_iterator __tmp(*this);
- ++i_;
- return __tmp;
- }
-
- slot_iterator& operator--()
- {
- --i_;
- return *this;
- }
-
- slot_iterator& operator--(int)
- {
- slot_iterator __tmp(*this);
- --i_;
- return __tmp;
- }
-
- bool operator == (const slot_iterator& other) const
- { return i_ == other.i_; }
-
- bool operator != (const slot_iterator& other) const
- { return i_ != other.i_; }
-
- iterator_type i_;
-};
-
-/** STL-style const iterator for slot_list.
- *
- * @ingroup signal
- */
-template <typename T_slot>
-struct slot_const_iterator
-{
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef std::bidirectional_iterator_tag iterator_category;
-
- typedef T_slot slot_type;
-
- typedef T_slot value_type;
- typedef const T_slot* pointer;
- typedef const T_slot& reference;
-
- typedef typename internal::signal_impl::const_iterator_type iterator_type;
-
- slot_const_iterator()
- {}
-
- explicit slot_const_iterator(const iterator_type& i)
- : i_(i) {}
-
- reference operator*() const
- { return static_cast<reference>(*i_); }
-
- pointer operator->() const
- { return &(operator*()); }
-
- slot_const_iterator& operator++()
- {
- ++i_;
- return *this;
- }
-
- slot_const_iterator operator++(int)
- {
- slot_const_iterator __tmp(*this);
- ++i_;
- return __tmp;
- }
-
- slot_const_iterator& operator--()
- {
- --i_;
- return *this;
- }
-
- slot_const_iterator& operator--(int)
- {
- slot_const_iterator __tmp(*this);
- --i_;
- return __tmp;
- }
-
- bool operator == (const slot_const_iterator& other) const
- { return i_ == other.i_; }
-
- bool operator != (const slot_const_iterator& other) const
- { return i_ != other.i_; }
-
- iterator_type i_;
-};
-
-/** STL-style list interface for sigc::signal#.
- * slot_list can be used to iterate over the list of slots that
- * is managed by a signal. Slots can be added or removed from
- * the list while existing iterators stay valid. A slot_list
- * object can be retrieved from the signal's slots() function.
- *
- * @ingroup signal
- */
-template <class T_slot>
-struct slot_list
-{
- typedef T_slot slot_type;
-
- typedef slot_type& reference;
- typedef const slot_type& const_reference;
-
- typedef slot_iterator<slot_type> iterator;
- typedef slot_const_iterator<slot_type> const_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- slot_list()
- : list_(0) {}
-
- explicit slot_list(internal::signal_impl* __list)
- : list_(__list) {}
-
- iterator begin()
- { return iterator(list_->slots_.begin()); }
-
- const_iterator begin() const
- { return const_iterator(list_->slots_.begin()); }
-
- iterator end()
- { return iterator(list_->slots_.end()); }
-
- const_iterator end() const
- { return const_iterator(list_->slots_.end()); }
-
- reverse_iterator rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator rend() const
- { return const_reverse_iterator(begin()); }
-
- reference front()
- { return *begin(); }
-
- const_reference front() const
- { return *begin(); }
-
- reference back()
- { return *(--end()); }
-
- const_reference back() const
- { return *(--end()); }
-
- iterator insert(iterator i, const slot_type& slot_)
- { return iterator(list_->insert(i.i_, static_cast<const slot_base&>(slot_))); }
-
- void push_front(const slot_type& c)
- { insert(begin(), c); }
-
- void push_back(const slot_type& c)
- { insert(end(), c); }
-
- iterator erase(iterator i)
- { return iterator(list_->erase(i.i_)); }
-
- iterator erase(iterator first_, iterator last_)
- {
- while (first_ != last_)
- first_ = erase(first_);
- return last_;
- }
-
- void pop_front()
- { erase(begin()); }
-
- void pop_back()
- {
- iterator tmp_ = end();
- erase(--tmp_);
- }
-
-protected:
- internal::signal_impl* list_;
-};
-
-
-namespace internal {
-
-/** Special iterator over sigc::internal::signal_impl's slot list that holds extra data.
- * This iterators is for use in accumulators. operator*() executes
- * the slot. The return value is buffered, so that in an expression
- * like @code a = (*i) * (*i); @endcode the slot is executed only once.
- */
-template <class T_emitter, class T_result = typename T_emitter::result_type>
-struct slot_iterator_buf
-{
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef std::bidirectional_iterator_tag iterator_category;
-
- typedef T_emitter emitter_type;
- typedef T_result result_type;
- typedef typename T_emitter::slot_type slot_type;
-
- typedef signal_impl::const_iterator_type iterator_type;
-
- slot_iterator_buf()
- : c_(0), invoked_(false) {}
-
- slot_iterator_buf(const iterator_type& i, const emitter_type* c)
- : i_(i), c_(c), invoked_(false) {}
-
- result_type operator*() const
- {
- if (!i_->empty() && !i_->blocked() && !invoked_)
- {
- r_ = (*c_)(static_cast<const slot_type&>(*i_));
- invoked_ = true;
- }
- return r_;
- }
-
- slot_iterator_buf& operator++()
- {
- ++i_;
- invoked_ = false;
- return *this;
- }
-
- slot_iterator_buf operator++(int)
- {
- slot_iterator_buf __tmp(*this);
- ++i_;
- invoked_ = false;
- return __tmp;
- }
-
- slot_iterator_buf& operator--()
- {
- --i_;
- invoked_ = false;
- return *this;
- }
-
- slot_iterator_buf& operator--(int)
- {
- slot_iterator_buf __tmp(*this);
- --i_;
- invoked_ = false;
- return __tmp;
- }
-
- bool operator == (const slot_iterator_buf& other) const
- { return (!c_ || (i_ == other.i_)); } /* If '!c_' the iterators are empty.
- * Unfortunately, empty stl iterators are not equal.
- * We are forcing equality so that 'first==last'
- * in the accumulator's emit function yields true. */
-
- bool operator != (const slot_iterator_buf& other) const
- { return (c_ && (i_ != other.i_)); }
-
-private:
- iterator_type i_;
- const emitter_type* c_;
- mutable result_type r_;
- mutable bool invoked_;
-};
-
-/** Template specialization of slot_iterator_buf for void return signals.
- */
-template <class T_emitter>
-struct slot_iterator_buf<T_emitter, void>
-{
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef std::bidirectional_iterator_tag iterator_category;
-
- typedef T_emitter emitter_type;
- typedef void result_type;
- typedef typename T_emitter::slot_type slot_type;
-
- typedef signal_impl::const_iterator_type iterator_type;
-
- slot_iterator_buf()
- : c_(0), invoked_(false) {}
-
- slot_iterator_buf(const iterator_type& i, const emitter_type* c)
- : i_(i), c_(c), invoked_(false) {}
-
- void operator*() const
- {
- if (!i_->empty() && !i_->blocked() && !invoked_)
- {
- (*c_)(static_cast<const slot_type&>(*i_));
- invoked_ = true;
- }
- }
-
- slot_iterator_buf& operator++()
- {
- ++i_;
- invoked_ = false;
- return *this;
- }
-
- slot_iterator_buf operator++(int)
- {
- slot_iterator_buf __tmp(*this);
- ++i_;
- invoked_ = false;
- return __tmp;
- }
-
- slot_iterator_buf& operator--()
- {
- --i_;
- invoked_ = false;
- return *this;
- }
-
- slot_iterator_buf& operator--(int)
- {
- slot_iterator_buf __tmp(*this);
- --i_;
- invoked_ = false;
- return __tmp;
- }
-
- bool operator == (const slot_iterator_buf& other) const
- { return i_ == other.i_; }
-
- bool operator != (const slot_iterator_buf& other) const
- { return i_ != other.i_; }
-
-private:
- iterator_type i_;
- const emitter_type* c_;
- mutable bool invoked_;
-};
-
-/** Abstracts signal emission.
- * This template implements the emit() function of signal0.
- * Template specializations are available to optimize signal
- * emission when no accumulator is used, i.e. the template
- * argument @e T_accumulator is @p nil_.
- */
-template <class T_return, class T_accumulator>
-struct signal_emit0
-{
- typedef signal_emit0<T_return, T_accumulator> self_type;
- typedef typename T_accumulator::result_type result_type;
- typedef slot<T_return> slot_type;
- typedef internal::slot_iterator_buf<self_type> slot_iterator_buf_type;
- typedef signal_impl::const_iterator_type iterator_type;
-
- signal_emit0() {}
-
- /** Invokes a slot.
- * @param _A_slot Some slot to invoke.
- * @return The slot's return value.
- */
- T_return operator()(const slot_type& _A_slot) const
- { return (reinterpret_cast<typename slot_type::call_type>(_A_slot.rep_->call_))(_A_slot.rep_); }
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
-
- * @return The accumulated return values of the slot invocations as processed by the accumulator.
- */
- static result_type emit(signal_impl* impl)
- {
- T_accumulator accumulator;
-
- if (!impl)
- return accumulator(slot_iterator_buf_type(), slot_iterator_buf_type());
-
- signal_exec exec(impl);
-
- self_type self ;
- return accumulator(slot_iterator_buf_type(impl->slots_.begin(), &self),
- slot_iterator_buf_type(impl->slots_.end(), &self));
- }
-
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used.
- */
-template <class T_return>
-struct signal_emit0<T_return, nil_>
-{
- typedef signal_emit0<T_return, nil_ > self_type;
- typedef T_return result_type;
- typedef slot<T_return> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The return value of the last slot invoked is returned.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @return The return value of the last slot invoked.
- */
- static result_type emit(signal_impl* impl)
- {
- if (!impl || impl->slots_.empty()) return T_return();
- iterator_type it = impl->slots_.begin();
- for (; it != impl->slots_.end(); ++it)
- if (!it->empty() && !it->blocked()) break;
- if (it == impl->slots_.end()) return T_return(); // note that 'T_return r_();' doesn't work => define 'r_' after this line and initialize as follows:
-
- signal_exec exec(impl);
-
- T_return r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_);
- for (++it; it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_);
- }
- return r_;
- }
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used and the
- * return type is @p void.
- */
-template <>
-struct signal_emit0<void, nil_>
-{
- typedef signal_emit0<void, nil_> self_type;
- typedef void result_type;
- typedef slot<void> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef void (*call_type)(slot_rep*);
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- */
- static result_type emit(signal_impl* impl)
- {
- if (!impl || impl->slots_.empty()) return;
- signal_exec exec(impl);
-
- for (iterator_type it = impl->slots_.begin(); it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_);
- }
- }
-};
-
-/** Abstracts signal emission.
- * This template implements the emit() function of signal1.
- * Template specializations are available to optimize signal
- * emission when no accumulator is used, i.e. the template
- * argument @e T_accumulator is @p nil_.
- */
-template <class T_return, class T_arg1, class T_accumulator>
-struct signal_emit1
-{
- typedef signal_emit1<T_return, T_arg1, T_accumulator> self_type;
- typedef typename T_accumulator::result_type result_type;
- typedef slot<T_return, T_arg1> slot_type;
- typedef internal::slot_iterator_buf<self_type> slot_iterator_buf_type;
- typedef signal_impl::const_iterator_type iterator_type;
-
- /** Instantiates the class.
- * The parameters are stored in member variables. operator()() passes
- * the values on to some slot.
- */
- signal_emit1(typename type_trait<T_arg1>::take _A_a1)
- : _A_a1_(_A_a1) {}
-
-
- /** Invokes a slot using the buffered parameter values.
- * @param _A_slot Some slot to invoke.
- * @return The slot's return value.
- */
- T_return operator()(const slot_type& _A_slot) const
- { return (reinterpret_cast<typename slot_type::call_type>(_A_slot.rep_->call_))(_A_slot.rep_, _A_a1_); }
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are buffered in a temporary instance of signal_emit1.
-
- * @param _A_a1 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations as processed by the accumulator.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1)
- {
- T_accumulator accumulator;
-
- if (!impl)
- return accumulator(slot_iterator_buf_type(), slot_iterator_buf_type());
-
- signal_exec exec(impl);
-
- self_type self (_A_a1);
- return accumulator(slot_iterator_buf_type(impl->slots_.begin(), &self),
- slot_iterator_buf_type(impl->slots_.end(), &self));
- }
-
- typename type_trait<T_arg1>::take _A_a1_;
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used.
- */
-template <class T_return, class T_arg1>
-struct signal_emit1<T_return, T_arg1, nil_>
-{
- typedef signal_emit1<T_return, T_arg1, nil_ > self_type;
- typedef T_return result_type;
- typedef slot<T_return, T_arg1> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * The return value of the last slot invoked is returned.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @return The return value of the last slot invoked.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1)
- {
- if (!impl || impl->slots_.empty()) return T_return();
- iterator_type it = impl->slots_.begin();
- for (; it != impl->slots_.end(); ++it)
- if (!it->empty() && !it->blocked()) break;
- if (it == impl->slots_.end()) return T_return(); // note that 'T_return r_();' doesn't work => define 'r_' after this line and initialize as follows:
-
- signal_exec exec(impl);
-
- T_return r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1);
- for (++it; it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1);
- }
- return r_;
- }
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used and the
- * return type is @p void.
- */
-template <class T_arg1>
-struct signal_emit1<void, T_arg1, nil_>
-{
- typedef signal_emit1<void, T_arg1, nil_> self_type;
- typedef void result_type;
- typedef slot<void, T_arg1> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1)
- {
- if (!impl || impl->slots_.empty()) return;
- signal_exec exec(impl);
-
- for (iterator_type it = impl->slots_.begin(); it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1);
- }
- }
-};
-
-/** Abstracts signal emission.
- * This template implements the emit() function of signal2.
- * Template specializations are available to optimize signal
- * emission when no accumulator is used, i.e. the template
- * argument @e T_accumulator is @p nil_.
- */
-template <class T_return, class T_arg1,class T_arg2, class T_accumulator>
-struct signal_emit2
-{
- typedef signal_emit2<T_return, T_arg1,T_arg2, T_accumulator> self_type;
- typedef typename T_accumulator::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2> slot_type;
- typedef internal::slot_iterator_buf<self_type> slot_iterator_buf_type;
- typedef signal_impl::const_iterator_type iterator_type;
-
- /** Instantiates the class.
- * The parameters are stored in member variables. operator()() passes
- * the values on to some slot.
- */
- signal_emit2(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2)
- : _A_a1_(_A_a1),_A_a2_(_A_a2) {}
-
-
- /** Invokes a slot using the buffered parameter values.
- * @param _A_slot Some slot to invoke.
- * @return The slot's return value.
- */
- T_return operator()(const slot_type& _A_slot) const
- { return (reinterpret_cast<typename slot_type::call_type>(_A_slot.rep_->call_))(_A_slot.rep_, _A_a1_,_A_a2_); }
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are buffered in a temporary instance of signal_emit2.
-
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations as processed by the accumulator.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2)
- {
- T_accumulator accumulator;
-
- if (!impl)
- return accumulator(slot_iterator_buf_type(), slot_iterator_buf_type());
-
- signal_exec exec(impl);
-
- self_type self (_A_a1,_A_a2);
- return accumulator(slot_iterator_buf_type(impl->slots_.begin(), &self),
- slot_iterator_buf_type(impl->slots_.end(), &self));
- }
-
- typename type_trait<T_arg1>::take _A_a1_;
- typename type_trait<T_arg2>::take _A_a2_;
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used.
- */
-template <class T_return, class T_arg1,class T_arg2>
-struct signal_emit2<T_return, T_arg1,T_arg2, nil_>
-{
- typedef signal_emit2<T_return, T_arg1,T_arg2, nil_ > self_type;
- typedef T_return result_type;
- typedef slot<T_return, T_arg1,T_arg2> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * The return value of the last slot invoked is returned.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @return The return value of the last slot invoked.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2)
- {
- if (!impl || impl->slots_.empty()) return T_return();
- iterator_type it = impl->slots_.begin();
- for (; it != impl->slots_.end(); ++it)
- if (!it->empty() && !it->blocked()) break;
- if (it == impl->slots_.end()) return T_return(); // note that 'T_return r_();' doesn't work => define 'r_' after this line and initialize as follows:
-
- signal_exec exec(impl);
-
- T_return r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2);
- for (++it; it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2);
- }
- return r_;
- }
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used and the
- * return type is @p void.
- */
-template <class T_arg1,class T_arg2>
-struct signal_emit2<void, T_arg1,T_arg2, nil_>
-{
- typedef signal_emit2<void, T_arg1,T_arg2, nil_> self_type;
- typedef void result_type;
- typedef slot<void, T_arg1,T_arg2> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2)
- {
- if (!impl || impl->slots_.empty()) return;
- signal_exec exec(impl);
-
- for (iterator_type it = impl->slots_.begin(); it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2);
- }
- }
-};
-
-/** Abstracts signal emission.
- * This template implements the emit() function of signal3.
- * Template specializations are available to optimize signal
- * emission when no accumulator is used, i.e. the template
- * argument @e T_accumulator is @p nil_.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_accumulator>
-struct signal_emit3
-{
- typedef signal_emit3<T_return, T_arg1,T_arg2,T_arg3, T_accumulator> self_type;
- typedef typename T_accumulator::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3> slot_type;
- typedef internal::slot_iterator_buf<self_type> slot_iterator_buf_type;
- typedef signal_impl::const_iterator_type iterator_type;
-
- /** Instantiates the class.
- * The parameters are stored in member variables. operator()() passes
- * the values on to some slot.
- */
- signal_emit3(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3)
- : _A_a1_(_A_a1),_A_a2_(_A_a2),_A_a3_(_A_a3) {}
-
-
- /** Invokes a slot using the buffered parameter values.
- * @param _A_slot Some slot to invoke.
- * @return The slot's return value.
- */
- T_return operator()(const slot_type& _A_slot) const
- { return (reinterpret_cast<typename slot_type::call_type>(_A_slot.rep_->call_))(_A_slot.rep_, _A_a1_,_A_a2_,_A_a3_); }
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are buffered in a temporary instance of signal_emit3.
-
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations as processed by the accumulator.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3)
- {
- T_accumulator accumulator;
-
- if (!impl)
- return accumulator(slot_iterator_buf_type(), slot_iterator_buf_type());
-
- signal_exec exec(impl);
-
- self_type self (_A_a1,_A_a2,_A_a3);
- return accumulator(slot_iterator_buf_type(impl->slots_.begin(), &self),
- slot_iterator_buf_type(impl->slots_.end(), &self));
- }
-
- typename type_trait<T_arg1>::take _A_a1_;
- typename type_trait<T_arg2>::take _A_a2_;
- typename type_trait<T_arg3>::take _A_a3_;
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3>
-struct signal_emit3<T_return, T_arg1,T_arg2,T_arg3, nil_>
-{
- typedef signal_emit3<T_return, T_arg1,T_arg2,T_arg3, nil_ > self_type;
- typedef T_return result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * The return value of the last slot invoked is returned.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @return The return value of the last slot invoked.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3)
- {
- if (!impl || impl->slots_.empty()) return T_return();
- iterator_type it = impl->slots_.begin();
- for (; it != impl->slots_.end(); ++it)
- if (!it->empty() && !it->blocked()) break;
- if (it == impl->slots_.end()) return T_return(); // note that 'T_return r_();' doesn't work => define 'r_' after this line and initialize as follows:
-
- signal_exec exec(impl);
-
- T_return r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3);
- for (++it; it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3);
- }
- return r_;
- }
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used and the
- * return type is @p void.
- */
-template <class T_arg1,class T_arg2,class T_arg3>
-struct signal_emit3<void, T_arg1,T_arg2,T_arg3, nil_>
-{
- typedef signal_emit3<void, T_arg1,T_arg2,T_arg3, nil_> self_type;
- typedef void result_type;
- typedef slot<void, T_arg1,T_arg2,T_arg3> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- */
- static result_type emit(signal_impl* impl, typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2,typename type_trait<T_arg3>::take _A_a3)
- {
- if (!impl || impl->slots_.empty()) return;
- signal_exec exec(impl);
-
- for (iterator_type it = impl->slots_.begin(); it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3);
- }
- }
-};
-
-/** Abstracts signal emission.
- * This template implements the emit() function of signal4.
- * Template specializations are available to optimize signal
- * emission when no accumulator is used, i.e. the template
- * argument @e T_accumulator is @p nil_.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_accumulator>
-struct signal_emit4
-{
- typedef signal_emit4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_accumulator> self_type;
- typedef typename T_accumulator::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4> slot_type;
- typedef internal::slot_iterator_buf<self_type> slot_iterator_buf_type;
- typedef signal_impl::const_iterator_type iterator_type;
-
- /** Instantiates the class.
- * The parameters are stored in member variables. operator()() passes
- * the values on to some slot.
- */
- signal_emit4(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)
- : _A_a1_(_A_a1),_A_a2_(_A_a2),_A_a3_(_A_a3),_A_a4_(_A_a4) {}
-
-
- /** Invokes a slot using the buffered parameter values.
- * @param _A_slot Some slot to invoke.
- * @return The slot's return value.
- */
- T_return operator()(const slot_type& _A_slot) const
- { return (reinterpret_cast<typename slot_type::call_type>(_A_slot.rep_->call_))(_A_slot.rep_, _A_a1_,_A_a2_,_A_a3_,_A_a4_); }
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are buffered in a temporary instance of signal_emit4.
-
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations as processed by the accumulator.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- T_accumulator accumulator;
-
- if (!impl)
- return accumulator(slot_iterator_buf_type(), slot_iterator_buf_type());
-
- signal_exec exec(impl);
-
- self_type self (_A_a1,_A_a2,_A_a3,_A_a4);
- return accumulator(slot_iterator_buf_type(impl->slots_.begin(), &self),
- slot_iterator_buf_type(impl->slots_.end(), &self));
- }
-
- 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_;
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-struct signal_emit4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, nil_>
-{
- typedef signal_emit4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, nil_ > self_type;
- typedef T_return result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * The return value of the last slot invoked is returned.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @return The return value of the last slot invoked.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- if (!impl || impl->slots_.empty()) return T_return();
- iterator_type it = impl->slots_.begin();
- for (; it != impl->slots_.end(); ++it)
- if (!it->empty() && !it->blocked()) break;
- if (it == impl->slots_.end()) return T_return(); // note that 'T_return r_();' doesn't work => define 'r_' after this line and initialize as follows:
-
- signal_exec exec(impl);
-
- T_return r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4);
- for (++it; it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4);
- }
- return r_;
- }
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used and the
- * return type is @p void.
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-struct signal_emit4<void, T_arg1,T_arg2,T_arg3,T_arg4, nil_>
-{
- typedef signal_emit4<void, T_arg1,T_arg2,T_arg3,T_arg4, nil_> self_type;
- typedef void result_type;
- typedef slot<void, T_arg1,T_arg2,T_arg3,T_arg4> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- if (!impl || impl->slots_.empty()) return;
- signal_exec exec(impl);
-
- for (iterator_type it = impl->slots_.begin(); it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4);
- }
- }
-};
-
-/** Abstracts signal emission.
- * This template implements the emit() function of signal5.
- * Template specializations are available to optimize signal
- * emission when no accumulator is used, i.e. the template
- * argument @e T_accumulator is @p nil_.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_accumulator>
-struct signal_emit5
-{
- typedef signal_emit5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_accumulator> self_type;
- typedef typename T_accumulator::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> slot_type;
- typedef internal::slot_iterator_buf<self_type> slot_iterator_buf_type;
- typedef signal_impl::const_iterator_type iterator_type;
-
- /** Instantiates the class.
- * The parameters are stored in member variables. operator()() passes
- * the values on to some slot.
- */
- signal_emit5(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)
- : _A_a1_(_A_a1),_A_a2_(_A_a2),_A_a3_(_A_a3),_A_a4_(_A_a4),_A_a5_(_A_a5) {}
-
-
- /** Invokes a slot using the buffered parameter values.
- * @param _A_slot Some slot to invoke.
- * @return The slot's return value.
- */
- T_return operator()(const slot_type& _A_slot) const
- { return (reinterpret_cast<typename slot_type::call_type>(_A_slot.rep_->call_))(_A_slot.rep_, _A_a1_,_A_a2_,_A_a3_,_A_a4_,_A_a5_); }
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are buffered in a temporary instance of signal_emit5.
-
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations as processed by the accumulator.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- T_accumulator accumulator;
-
- if (!impl)
- return accumulator(slot_iterator_buf_type(), slot_iterator_buf_type());
-
- signal_exec exec(impl);
-
- self_type self (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- return accumulator(slot_iterator_buf_type(impl->slots_.begin(), &self),
- slot_iterator_buf_type(impl->slots_.end(), &self));
- }
-
- 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_;
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-struct signal_emit5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, nil_>
-{
- typedef signal_emit5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, nil_ > self_type;
- typedef T_return result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * The return value of the last slot invoked is returned.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @return The return value of the last slot invoked.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- if (!impl || impl->slots_.empty()) return T_return();
- iterator_type it = impl->slots_.begin();
- for (; it != impl->slots_.end(); ++it)
- if (!it->empty() && !it->blocked()) break;
- if (it == impl->slots_.end()) return T_return(); // note that 'T_return r_();' doesn't work => define 'r_' after this line and initialize as follows:
-
- signal_exec exec(impl);
-
- T_return r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- for (++it; it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- }
- return r_;
- }
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used and the
- * return type is @p void.
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-struct signal_emit5<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, nil_>
-{
- typedef signal_emit5<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, nil_> self_type;
- typedef void result_type;
- typedef slot<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- if (!impl || impl->slots_.empty()) return;
- signal_exec exec(impl);
-
- for (iterator_type it = impl->slots_.begin(); it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5);
- }
- }
-};
-
-/** Abstracts signal emission.
- * This template implements the emit() function of signal6.
- * Template specializations are available to optimize signal
- * emission when no accumulator is used, i.e. the template
- * argument @e T_accumulator is @p nil_.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_accumulator>
-struct signal_emit6
-{
- typedef signal_emit6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_accumulator> self_type;
- typedef typename T_accumulator::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> slot_type;
- typedef internal::slot_iterator_buf<self_type> slot_iterator_buf_type;
- typedef signal_impl::const_iterator_type iterator_type;
-
- /** Instantiates the class.
- * The parameters are stored in member variables. operator()() passes
- * the values on to some slot.
- */
- signal_emit6(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)
- : _A_a1_(_A_a1),_A_a2_(_A_a2),_A_a3_(_A_a3),_A_a4_(_A_a4),_A_a5_(_A_a5),_A_a6_(_A_a6) {}
-
-
- /** Invokes a slot using the buffered parameter values.
- * @param _A_slot Some slot to invoke.
- * @return The slot's return value.
- */
- T_return operator()(const slot_type& _A_slot) const
- { return (reinterpret_cast<typename slot_type::call_type>(_A_slot.rep_->call_))(_A_slot.rep_, _A_a1_,_A_a2_,_A_a3_,_A_a4_,_A_a5_,_A_a6_); }
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are buffered in a temporary instance of signal_emit6.
-
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @param _A_a6 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations as processed by the accumulator.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- T_accumulator accumulator;
-
- if (!impl)
- return accumulator(slot_iterator_buf_type(), slot_iterator_buf_type());
-
- signal_exec exec(impl);
-
- self_type self (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- return accumulator(slot_iterator_buf_type(impl->slots_.begin(), &self),
- slot_iterator_buf_type(impl->slots_.end(), &self));
- }
-
- 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_;
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-struct signal_emit6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, nil_>
-{
- typedef signal_emit6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, nil_ > self_type;
- typedef T_return result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * The return value of the last slot invoked is returned.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @param _A_a6 Argument to be passed on to the slots.
- * @return The return value of the last slot invoked.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- if (!impl || impl->slots_.empty()) return T_return();
- iterator_type it = impl->slots_.begin();
- for (; it != impl->slots_.end(); ++it)
- if (!it->empty() && !it->blocked()) break;
- if (it == impl->slots_.end()) return T_return(); // note that 'T_return r_();' doesn't work => define 'r_' after this line and initialize as follows:
-
- signal_exec exec(impl);
-
- T_return r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- for (++it; it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- }
- return r_;
- }
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used and the
- * return type is @p void.
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-struct signal_emit6<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, nil_>
-{
- typedef signal_emit6<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, nil_> self_type;
- typedef void result_type;
- typedef slot<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @param _A_a6 Argument to be passed on to the slots.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- if (!impl || impl->slots_.empty()) return;
- signal_exec exec(impl);
-
- for (iterator_type it = impl->slots_.begin(); it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6);
- }
- }
-};
-
-/** Abstracts signal emission.
- * This template implements the emit() function of signal7.
- * Template specializations are available to optimize signal
- * emission when no accumulator is used, i.e. the template
- * argument @e T_accumulator is @p nil_.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_accumulator>
-struct signal_emit7
-{
- typedef signal_emit7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_accumulator> self_type;
- typedef typename T_accumulator::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> slot_type;
- typedef internal::slot_iterator_buf<self_type> slot_iterator_buf_type;
- typedef signal_impl::const_iterator_type iterator_type;
-
- /** Instantiates the class.
- * The parameters are stored in member variables. operator()() passes
- * the values on to some slot.
- */
- signal_emit7(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)
- : _A_a1_(_A_a1),_A_a2_(_A_a2),_A_a3_(_A_a3),_A_a4_(_A_a4),_A_a5_(_A_a5),_A_a6_(_A_a6),_A_a7_(_A_a7) {}
-
-
- /** Invokes a slot using the buffered parameter values.
- * @param _A_slot Some slot to invoke.
- * @return The slot's return value.
- */
- T_return operator()(const slot_type& _A_slot) const
- { return (reinterpret_cast<typename slot_type::call_type>(_A_slot.rep_->call_))(_A_slot.rep_, _A_a1_,_A_a2_,_A_a3_,_A_a4_,_A_a5_,_A_a6_,_A_a7_); }
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are buffered in a temporary instance of signal_emit7.
-
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @param _A_a6 Argument to be passed on to the slots.
- * @param _A_a7 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations as processed by the accumulator.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- T_accumulator accumulator;
-
- if (!impl)
- return accumulator(slot_iterator_buf_type(), slot_iterator_buf_type());
-
- signal_exec exec(impl);
-
- self_type self (_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- return accumulator(slot_iterator_buf_type(impl->slots_.begin(), &self),
- slot_iterator_buf_type(impl->slots_.end(), &self));
- }
-
- 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_;
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used.
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-struct signal_emit7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, nil_>
-{
- typedef signal_emit7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, nil_ > self_type;
- typedef T_return result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * The return value of the last slot invoked is returned.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @param _A_a6 Argument to be passed on to the slots.
- * @param _A_a7 Argument to be passed on to the slots.
- * @return The return value of the last slot invoked.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- if (!impl || impl->slots_.empty()) return T_return();
- iterator_type it = impl->slots_.begin();
- for (; it != impl->slots_.end(); ++it)
- if (!it->empty() && !it->blocked()) break;
- if (it == impl->slots_.end()) return T_return(); // note that 'T_return r_();' doesn't work => define 'r_' after this line and initialize as follows:
-
- signal_exec exec(impl);
-
- T_return r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- for (++it; it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- r_ = (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- }
- return r_;
- }
-};
-
-/** Abstracts signal emission.
- * This template specialization implements an optimized emit()
- * function for the case that no accumulator is used and the
- * return type is @p void.
- */
-template <class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-struct signal_emit7<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, nil_>
-{
- typedef signal_emit7<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, nil_> self_type;
- typedef void result_type;
- typedef slot<void, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> slot_type;
- typedef signal_impl::const_iterator_type iterator_type;
- typedef typename slot_type::call_type call_type;
-
- /** Executes a list of slots using an accumulator of type @e T_accumulator.
- * The arguments are passed directly on to the slots.
- * @param first An iterator pointing to the first slot in the list.
- * @param last An iterator pointing to the last slot in the list.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @param _A_a6 Argument to be passed on to the slots.
- * @param _A_a7 Argument to be passed on to the slots.
- */
- static result_type emit(signal_impl* impl, 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)
- {
- if (!impl || impl->slots_.empty()) return;
- signal_exec exec(impl);
-
- for (iterator_type it = impl->slots_.begin(); it != impl->slots_.end(); ++it)
- {
- if (it->empty() || it->blocked())
- continue;
- (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7);
- }
- }
-};
-
-
-} /* namespace internal */
-
-/** Signal declaration.
- * signal0 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used, i.e. signal emission returns the return value of the last slot invoked.
- *
- * You should use the more convenient unnumbered sigc::signal template.
- *
- * @ingroup signal
- */
-template <class T_return, class T_accumulator=nil_>
-class signal0
- : public signal_base
-{
-public:
- typedef internal::signal_emit0<T_return, T_accumulator> emitter_type;
- typedef typename emitter_type::result_type result_type;
- typedef slot<T_return> slot_type;
- typedef slot_list<slot_type> slot_list_type;
- typedef typename slot_list_type::iterator iterator;
- typedef typename slot_list_type::const_iterator const_iterator;
- typedef typename slot_list_type::reverse_iterator reverse_iterator;
- typedef typename slot_list_type::const_reverse_iterator const_reverse_iterator;
-
-#ifdef SIGC_TYPEDEF_REDEFINE_ALLOWED
- /** This typedef is only for backwards-compatibility.
- * It is not available when using the SUN Forte compiler.
- * @deprecated slot_list_type;
- */
- typedef slot_list_type slot_list;
-#endif
-
- /** Add a slot to the list of slots.
- * Any functor or slot may be passed into connect().
- * It will be converted into a slot implicitely.
- * The returned iterator may be stored for disconnection
- * of the slot at some later point. It stays valid until
- * the slot is removed from the list of slots. The iterator
- * can also be implicitely converted into a sigc::connection object
- * that may be used safely beyond the life time of the slot.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator connect(const slot_type& slot_)
- { return iterator(signal_base::connect(static_cast<const slot_base&>(slot_))); }
-
- /** Triggers the emission of the signal.
- * During signal emission all slots that have been connected
- * to the signal are invoked unless they are manually set into
- * a blocking state. The parameters are passed on to the slots.
- * If @e T_accumulated is not @p nil_, an accumulator of this type
- * is used to process the return values of the slot invocations.
- * Otherwise, the return value of the last slot invoked is returned.
- * @return The accumulated return values of the slot invocations.
- */
- result_type emit() const
- { return emitter_type::emit(impl_); }
-
- /** Triggers the emission of the signal (see emit()). */
- result_type operator()() const
- { return emit(); }
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal0::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- bound_const_mem_functor0<result_type, signal0> make_slot() const
- { return bound_const_mem_functor0<result_type, signal0>(this, &signal0::emit); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- slot_list_type slots()
- { return slot_list_type(impl()); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- const slot_list_type slots() const
- { return slot_list_type(const_cast<signal0*>(this)->impl()); }
-
- signal0() {}
-
- signal0(const signal0& src)
- : signal_base(src) {}
-};
-
-/** Signal declaration.
- * signal1 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used, i.e. signal emission returns the return value of the last slot invoked.
- *
- * You should use the more convenient unnumbered sigc::signal template.
- *
- * @ingroup signal
- */
-template <class T_return, class T_arg1, class T_accumulator=nil_>
-class signal1
- : public signal_base
-{
-public:
- typedef internal::signal_emit1<T_return, T_arg1, T_accumulator> emitter_type;
- typedef typename emitter_type::result_type result_type;
- typedef slot<T_return, T_arg1> slot_type;
- typedef slot_list<slot_type> slot_list_type;
- typedef typename slot_list_type::iterator iterator;
- typedef typename slot_list_type::const_iterator const_iterator;
- typedef typename slot_list_type::reverse_iterator reverse_iterator;
- typedef typename slot_list_type::const_reverse_iterator const_reverse_iterator;
-
-#ifdef SIGC_TYPEDEF_REDEFINE_ALLOWED
- /** This typedef is only for backwards-compatibility.
- * It is not available when using the SUN Forte compiler.
- * @deprecated slot_list_type;
- */
- typedef slot_list_type slot_list;
-#endif
-
- /** Add a slot to the list of slots.
- * Any functor or slot may be passed into connect().
- * It will be converted into a slot implicitely.
- * The returned iterator may be stored for disconnection
- * of the slot at some later point. It stays valid until
- * the slot is removed from the list of slots. The iterator
- * can also be implicitely converted into a sigc::connection object
- * that may be used safely beyond the life time of the slot.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator connect(const slot_type& slot_)
- { return iterator(signal_base::connect(static_cast<const slot_base&>(slot_))); }
-
- /** Triggers the emission of the signal.
- * During signal emission all slots that have been connected
- * to the signal are invoked unless they are manually set into
- * a blocking state. The parameters are passed on to the slots.
- * If @e T_accumulated is not @p nil_, an accumulator of this type
- * is used to process the return values of the slot invocations.
- * Otherwise, the return value of the last slot invoked is returned.
- * @param _A_a1 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations.
- */
- result_type emit(typename type_trait<T_arg1>::take _A_a1) const
- { return emitter_type::emit(impl_, _A_a1); }
-
- /** Triggers the emission of the signal (see emit()). */
- result_type operator()(typename type_trait<T_arg1>::take _A_a1) const
- { return emit(_A_a1); }
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal1::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- bound_const_mem_functor1<result_type, signal1, typename type_trait<T_arg1>::take> make_slot() const
- { return bound_const_mem_functor1<result_type, signal1, typename type_trait<T_arg1>::take>(this, &signal1::emit); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- slot_list_type slots()
- { return slot_list_type(impl()); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- const slot_list_type slots() const
- { return slot_list_type(const_cast<signal1*>(this)->impl()); }
-
- signal1() {}
-
- signal1(const signal1& src)
- : signal_base(src) {}
-};
-
-/** Signal declaration.
- * signal2 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used, i.e. signal emission returns the return value of the last slot invoked.
- *
- * You should use the more convenient unnumbered sigc::signal template.
- *
- * @ingroup signal
- */
-template <class T_return, class T_arg1,class T_arg2, class T_accumulator=nil_>
-class signal2
- : public signal_base
-{
-public:
- typedef internal::signal_emit2<T_return, T_arg1,T_arg2, T_accumulator> emitter_type;
- typedef typename emitter_type::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2> slot_type;
- typedef slot_list<slot_type> slot_list_type;
- typedef typename slot_list_type::iterator iterator;
- typedef typename slot_list_type::const_iterator const_iterator;
- typedef typename slot_list_type::reverse_iterator reverse_iterator;
- typedef typename slot_list_type::const_reverse_iterator const_reverse_iterator;
-
-#ifdef SIGC_TYPEDEF_REDEFINE_ALLOWED
- /** This typedef is only for backwards-compatibility.
- * It is not available when using the SUN Forte compiler.
- * @deprecated slot_list_type;
- */
- typedef slot_list_type slot_list;
-#endif
-
- /** Add a slot to the list of slots.
- * Any functor or slot may be passed into connect().
- * It will be converted into a slot implicitely.
- * The returned iterator may be stored for disconnection
- * of the slot at some later point. It stays valid until
- * the slot is removed from the list of slots. The iterator
- * can also be implicitely converted into a sigc::connection object
- * that may be used safely beyond the life time of the slot.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator connect(const slot_type& slot_)
- { return iterator(signal_base::connect(static_cast<const slot_base&>(slot_))); }
-
- /** Triggers the emission of the signal.
- * During signal emission all slots that have been connected
- * to the signal are invoked unless they are manually set into
- * a blocking state. The parameters are passed on to the slots.
- * If @e T_accumulated is not @p nil_, an accumulator of this type
- * is used to process the return values of the slot invocations.
- * Otherwise, the return value of the last slot invoked is returned.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations.
- */
- result_type emit(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return emitter_type::emit(impl_, _A_a1,_A_a2); }
-
- /** Triggers the emission of the signal (see emit()). */
- result_type operator()(typename type_trait<T_arg1>::take _A_a1,typename type_trait<T_arg2>::take _A_a2) const
- { return emit(_A_a1,_A_a2); }
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal2::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- bound_const_mem_functor2<result_type, signal2, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take> make_slot() const
- { return bound_const_mem_functor2<result_type, signal2, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take>(this, &signal2::emit); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- slot_list_type slots()
- { return slot_list_type(impl()); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- const slot_list_type slots() const
- { return slot_list_type(const_cast<signal2*>(this)->impl()); }
-
- signal2() {}
-
- signal2(const signal2& src)
- : signal_base(src) {}
-};
-
-/** Signal declaration.
- * signal3 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used, i.e. signal emission returns the return value of the last slot invoked.
- *
- * You should use the more convenient unnumbered sigc::signal template.
- *
- * @ingroup signal
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_accumulator=nil_>
-class signal3
- : public signal_base
-{
-public:
- typedef internal::signal_emit3<T_return, T_arg1,T_arg2,T_arg3, T_accumulator> emitter_type;
- typedef typename emitter_type::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3> slot_type;
- typedef slot_list<slot_type> slot_list_type;
- typedef typename slot_list_type::iterator iterator;
- typedef typename slot_list_type::const_iterator const_iterator;
- typedef typename slot_list_type::reverse_iterator reverse_iterator;
- typedef typename slot_list_type::const_reverse_iterator const_reverse_iterator;
-
-#ifdef SIGC_TYPEDEF_REDEFINE_ALLOWED
- /** This typedef is only for backwards-compatibility.
- * It is not available when using the SUN Forte compiler.
- * @deprecated slot_list_type;
- */
- typedef slot_list_type slot_list;
-#endif
-
- /** Add a slot to the list of slots.
- * Any functor or slot may be passed into connect().
- * It will be converted into a slot implicitely.
- * The returned iterator may be stored for disconnection
- * of the slot at some later point. It stays valid until
- * the slot is removed from the list of slots. The iterator
- * can also be implicitely converted into a sigc::connection object
- * that may be used safely beyond the life time of the slot.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator connect(const slot_type& slot_)
- { return iterator(signal_base::connect(static_cast<const slot_base&>(slot_))); }
-
- /** Triggers the emission of the signal.
- * During signal emission all slots that have been connected
- * to the signal are invoked unless they are manually set into
- * a blocking state. The parameters are passed on to the slots.
- * If @e T_accumulated is not @p nil_, an accumulator of this type
- * is used to process the return values of the slot invocations.
- * Otherwise, the return value of the last slot invoked is returned.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations.
- */
- result_type emit(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
- { return emitter_type::emit(impl_, _A_a1,_A_a2,_A_a3); }
-
- /** Triggers the emission of the signal (see emit()). */
- result_type 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
- { return emit(_A_a1,_A_a2,_A_a3); }
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal3::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- bound_const_mem_functor3<result_type, signal3, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take> make_slot() const
- { return bound_const_mem_functor3<result_type, signal3, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take>(this, &signal3::emit); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- slot_list_type slots()
- { return slot_list_type(impl()); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- const slot_list_type slots() const
- { return slot_list_type(const_cast<signal3*>(this)->impl()); }
-
- signal3() {}
-
- signal3(const signal3& src)
- : signal_base(src) {}
-};
-
-/** Signal declaration.
- * signal4 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_arg4 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used, i.e. signal emission returns the return value of the last slot invoked.
- *
- * You should use the more convenient unnumbered sigc::signal template.
- *
- * @ingroup signal
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_accumulator=nil_>
-class signal4
- : public signal_base
-{
-public:
- typedef internal::signal_emit4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_accumulator> emitter_type;
- typedef typename emitter_type::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4> slot_type;
- typedef slot_list<slot_type> slot_list_type;
- typedef typename slot_list_type::iterator iterator;
- typedef typename slot_list_type::const_iterator const_iterator;
- typedef typename slot_list_type::reverse_iterator reverse_iterator;
- typedef typename slot_list_type::const_reverse_iterator const_reverse_iterator;
-
-#ifdef SIGC_TYPEDEF_REDEFINE_ALLOWED
- /** This typedef is only for backwards-compatibility.
- * It is not available when using the SUN Forte compiler.
- * @deprecated slot_list_type;
- */
- typedef slot_list_type slot_list;
-#endif
-
- /** Add a slot to the list of slots.
- * Any functor or slot may be passed into connect().
- * It will be converted into a slot implicitely.
- * The returned iterator may be stored for disconnection
- * of the slot at some later point. It stays valid until
- * the slot is removed from the list of slots. The iterator
- * can also be implicitely converted into a sigc::connection object
- * that may be used safely beyond the life time of the slot.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator connect(const slot_type& slot_)
- { return iterator(signal_base::connect(static_cast<const slot_base&>(slot_))); }
-
- /** Triggers the emission of the signal.
- * During signal emission all slots that have been connected
- * to the signal are invoked unless they are manually set into
- * a blocking state. The parameters are passed on to the slots.
- * If @e T_accumulated is not @p nil_, an accumulator of this type
- * is used to process the return values of the slot invocations.
- * Otherwise, the return value of the last slot invoked is returned.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations.
- */
- result_type emit(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
- { return emitter_type::emit(impl_, _A_a1,_A_a2,_A_a3,_A_a4); }
-
- /** Triggers the emission of the signal (see emit()). */
- result_type 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
- { return emit(_A_a1,_A_a2,_A_a3,_A_a4); }
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal4::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- bound_const_mem_functor4<result_type, signal4, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take> make_slot() const
- { return bound_const_mem_functor4<result_type, signal4, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take>(this, &signal4::emit); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- slot_list_type slots()
- { return slot_list_type(impl()); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- const slot_list_type slots() const
- { return slot_list_type(const_cast<signal4*>(this)->impl()); }
-
- signal4() {}
-
- signal4(const signal4& src)
- : signal_base(src) {}
-};
-
-/** Signal declaration.
- * signal5 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_arg4 Argument type used in the definition of emit().
- * - @e T_arg5 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used, i.e. signal emission returns the return value of the last slot invoked.
- *
- * You should use the more convenient unnumbered sigc::signal template.
- *
- * @ingroup signal
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_accumulator=nil_>
-class signal5
- : public signal_base
-{
-public:
- typedef internal::signal_emit5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_accumulator> emitter_type;
- typedef typename emitter_type::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> slot_type;
- typedef slot_list<slot_type> slot_list_type;
- typedef typename slot_list_type::iterator iterator;
- typedef typename slot_list_type::const_iterator const_iterator;
- typedef typename slot_list_type::reverse_iterator reverse_iterator;
- typedef typename slot_list_type::const_reverse_iterator const_reverse_iterator;
-
-#ifdef SIGC_TYPEDEF_REDEFINE_ALLOWED
- /** This typedef is only for backwards-compatibility.
- * It is not available when using the SUN Forte compiler.
- * @deprecated slot_list_type;
- */
- typedef slot_list_type slot_list;
-#endif
-
- /** Add a slot to the list of slots.
- * Any functor or slot may be passed into connect().
- * It will be converted into a slot implicitely.
- * The returned iterator may be stored for disconnection
- * of the slot at some later point. It stays valid until
- * the slot is removed from the list of slots. The iterator
- * can also be implicitely converted into a sigc::connection object
- * that may be used safely beyond the life time of the slot.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator connect(const slot_type& slot_)
- { return iterator(signal_base::connect(static_cast<const slot_base&>(slot_))); }
-
- /** Triggers the emission of the signal.
- * During signal emission all slots that have been connected
- * to the signal are invoked unless they are manually set into
- * a blocking state. The parameters are passed on to the slots.
- * If @e T_accumulated is not @p nil_, an accumulator of this type
- * is used to process the return values of the slot invocations.
- * Otherwise, the return value of the last slot invoked is returned.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations.
- */
- result_type emit(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
- { return emitter_type::emit(impl_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
- /** Triggers the emission of the signal (see emit()). */
- result_type 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
- { return emit(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5); }
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal5::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- bound_const_mem_functor5<result_type, signal5, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take> make_slot() const
- { return bound_const_mem_functor5<result_type, signal5, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take>(this, &signal5::emit); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- slot_list_type slots()
- { return slot_list_type(impl()); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- const slot_list_type slots() const
- { return slot_list_type(const_cast<signal5*>(this)->impl()); }
-
- signal5() {}
-
- signal5(const signal5& src)
- : signal_base(src) {}
-};
-
-/** Signal declaration.
- * signal6 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_arg4 Argument type used in the definition of emit().
- * - @e T_arg5 Argument type used in the definition of emit().
- * - @e T_arg6 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used, i.e. signal emission returns the return value of the last slot invoked.
- *
- * You should use the more convenient unnumbered sigc::signal template.
- *
- * @ingroup signal
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_accumulator=nil_>
-class signal6
- : public signal_base
-{
-public:
- typedef internal::signal_emit6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_accumulator> emitter_type;
- typedef typename emitter_type::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> slot_type;
- typedef slot_list<slot_type> slot_list_type;
- typedef typename slot_list_type::iterator iterator;
- typedef typename slot_list_type::const_iterator const_iterator;
- typedef typename slot_list_type::reverse_iterator reverse_iterator;
- typedef typename slot_list_type::const_reverse_iterator const_reverse_iterator;
-
-#ifdef SIGC_TYPEDEF_REDEFINE_ALLOWED
- /** This typedef is only for backwards-compatibility.
- * It is not available when using the SUN Forte compiler.
- * @deprecated slot_list_type;
- */
- typedef slot_list_type slot_list;
-#endif
-
- /** Add a slot to the list of slots.
- * Any functor or slot may be passed into connect().
- * It will be converted into a slot implicitely.
- * The returned iterator may be stored for disconnection
- * of the slot at some later point. It stays valid until
- * the slot is removed from the list of slots. The iterator
- * can also be implicitely converted into a sigc::connection object
- * that may be used safely beyond the life time of the slot.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator connect(const slot_type& slot_)
- { return iterator(signal_base::connect(static_cast<const slot_base&>(slot_))); }
-
- /** Triggers the emission of the signal.
- * During signal emission all slots that have been connected
- * to the signal are invoked unless they are manually set into
- * a blocking state. The parameters are passed on to the slots.
- * If @e T_accumulated is not @p nil_, an accumulator of this type
- * is used to process the return values of the slot invocations.
- * Otherwise, the return value of the last slot invoked is returned.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @param _A_a6 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations.
- */
- result_type emit(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
- { return emitter_type::emit(impl_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
- /** Triggers the emission of the signal (see emit()). */
- result_type 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
- { return emit(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6); }
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal6::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- bound_const_mem_functor6<result_type, signal6, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take,typename type_trait<T_arg6>::take> make_slot() const
- { return bound_const_mem_functor6<result_type, signal6, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take,typename type_trait<T_arg6>::take>(this, &signal6::emit); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- slot_list_type slots()
- { return slot_list_type(impl()); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- const slot_list_type slots() const
- { return slot_list_type(const_cast<signal6*>(this)->impl()); }
-
- signal6() {}
-
- signal6(const signal6& src)
- : signal_base(src) {}
-};
-
-/** Signal declaration.
- * signal7 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_arg4 Argument type used in the definition of emit().
- * - @e T_arg5 Argument type used in the definition of emit().
- * - @e T_arg6 Argument type used in the definition of emit().
- * - @e T_arg7 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used, i.e. signal emission returns the return value of the last slot invoked.
- *
- * You should use the more convenient unnumbered sigc::signal template.
- *
- * @ingroup signal
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_accumulator=nil_>
-class signal7
- : public signal_base
-{
-public:
- typedef internal::signal_emit7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_accumulator> emitter_type;
- typedef typename emitter_type::result_type result_type;
- typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> slot_type;
- typedef slot_list<slot_type> slot_list_type;
- typedef typename slot_list_type::iterator iterator;
- typedef typename slot_list_type::const_iterator const_iterator;
- typedef typename slot_list_type::reverse_iterator reverse_iterator;
- typedef typename slot_list_type::const_reverse_iterator const_reverse_iterator;
-
-#ifdef SIGC_TYPEDEF_REDEFINE_ALLOWED
- /** This typedef is only for backwards-compatibility.
- * It is not available when using the SUN Forte compiler.
- * @deprecated slot_list_type;
- */
- typedef slot_list_type slot_list;
-#endif
-
- /** Add a slot to the list of slots.
- * Any functor or slot may be passed into connect().
- * It will be converted into a slot implicitely.
- * The returned iterator may be stored for disconnection
- * of the slot at some later point. It stays valid until
- * the slot is removed from the list of slots. The iterator
- * can also be implicitely converted into a sigc::connection object
- * that may be used safely beyond the life time of the slot.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator connect(const slot_type& slot_)
- { return iterator(signal_base::connect(static_cast<const slot_base&>(slot_))); }
-
- /** Triggers the emission of the signal.
- * During signal emission all slots that have been connected
- * to the signal are invoked unless they are manually set into
- * a blocking state. The parameters are passed on to the slots.
- * If @e T_accumulated is not @p nil_, an accumulator of this type
- * is used to process the return values of the slot invocations.
- * Otherwise, the return value of the last slot invoked is returned.
- * @param _A_a1 Argument to be passed on to the slots.
- * @param _A_a2 Argument to be passed on to the slots.
- * @param _A_a3 Argument to be passed on to the slots.
- * @param _A_a4 Argument to be passed on to the slots.
- * @param _A_a5 Argument to be passed on to the slots.
- * @param _A_a6 Argument to be passed on to the slots.
- * @param _A_a7 Argument to be passed on to the slots.
- * @return The accumulated return values of the slot invocations.
- */
- result_type emit(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
- { return emitter_type::emit(impl_, _A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
- /** Triggers the emission of the signal (see emit()). */
- result_type 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
- { return emit(_A_a1,_A_a2,_A_a3,_A_a4,_A_a5,_A_a6,_A_a7); }
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal7::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- bound_const_mem_functor7<result_type, signal7, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take,typename type_trait<T_arg6>::take,typename type_trait<T_arg7>::take> make_slot() const
- { return bound_const_mem_functor7<result_type, signal7, typename type_trait<T_arg1>::take,typename type_trait<T_arg2>::take,typename type_trait<T_arg3>::take,typename type_trait<T_arg4>::take,typename type_trait<T_arg5>::take,typename type_trait<T_arg6>::take,typename type_trait<T_arg7>::take>(this, &signal7::emit); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- slot_list_type slots()
- { return slot_list_type(impl()); }
-
- /** Creates an STL-style interface for the signal's list of slots.
- * This interface supports iteration, insertion and removal of slots.
- * @return An STL-style interface for the signal's list of slots.
- */
- const slot_list_type slots() const
- { return slot_list_type(const_cast<signal7*>(this)->impl()); }
-
- signal7() {}
-
- signal7(const signal7& src)
- : signal_base(src) {}
-};
-
-
-
-/** Convenience wrapper for the numbered sigc::signal# templates.
- * signal can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitly.
- *
- * If you want to connect one signal to another, use make_slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The template arguments determine the function signature of
- * the emit() function:
- * - @e T_return The desired return type of the emit() function.
- * - @e T_arg1 Argument type used in the definition of emit(). The default @p nil_ means no argument.
- * - @e T_arg2 Argument type used in the definition of emit(). The default @p nil_ means no argument.
- * - @e T_arg3 Argument type used in the definition of emit(). The default @p nil_ means no argument.
- * - @e T_arg4 Argument type used in the definition of emit(). The default @p nil_ means no argument.
- * - @e T_arg5 Argument type used in the definition of emit(). The default @p nil_ means no argument.
- * - @e T_arg6 Argument type used in the definition of emit(). The default @p nil_ means no argument.
- * - @e T_arg7 Argument type used in the definition of emit(). The default @p nil_ means no argument.
- *
- * To specify an accumulator type the nested class signal::accumulated can be used.
- *
- * @par Example:
- * @code
- * void foo(int) {}
- * sigc::signal<void, long> sig;
- * sig.connect(sigc::ptr_fun(&foo));
- * sig.emit(19);
- * @endcode
- *
- * @ingroup signal
- */
-template <class T_return, class T_arg1 = nil_,class T_arg2 = nil_,class T_arg3 = nil_,class T_arg4 = nil_,class T_arg5 = nil_,class T_arg6 = nil_,class T_arg7 = nil_>
-class signal
- : public signal7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, nil_>
-{
-public:
- /** Convenience wrapper for the numbered sigc::signal# templates.
- * Like sigc::signal but the additional template parameter @e T_accumulator
- * defines the accumulator type that should be used.
- *
- * An accumulator is a functor that uses a pair of special iterators
- * to step through a list of slots and calculate a return value
- * from the results of the slot invokations. The iterators' operator*()
- * executes the slot. The return value is buffered, so that in an expression
- * like @code a = (*i) * (*i); @endcode the slot is executed only once.
- * The accumulator must define its return value as @p result_type.
- *
- * @par Example 1:
- * This accumulator calculates the arithmetic mean value:
- * @code
- * struct arithmetic_mean_accumulator
- * {
- * typedef double result_type;
- * template<typename T_iterator>
- * result_type operator()(T_iterator first, T_iterator last) const
- * {
- * result_type value_ = 0;
- * int n_ = 0;
- * for (; first != last; ++first, ++n_)
- * value_ += *first;
- * return value_ / n_;
- * }
- * };
- * @endcode
- *
- * @par Example 2:
- * This accumulator stops signal emission when a slot returns zero:
- * @code
- * struct interruptable_accumulator
- * {
- * typedef bool result_type;
- * template<typename T_iterator>
- * result_type operator()(T_iterator first, T_iterator last) const
- * {
- * for (; first != last; ++first, ++n_)
- * if (!*first) return false;
- * return true;
- * }
- * };
- * @endcode
- *
- * @ingroup signal
- */
- template <class T_accumulator>
- class accumulated
- : public signal7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_accumulator>
- {
- public:
- accumulated() {}
- accumulated(const accumulated& src)
- : signal7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_accumulator>(src) {}
- };
-
- signal() {}
- signal(const signal& src)
- : signal7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, nil_>(src) {}
-};
-
-
-/** Convenience wrapper for the numbered sigc::signal0 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::signal
- * template for 0 argument(s).
- */
-template <class T_return>
-class signal <T_return>
- : public signal0<T_return, nil_>
-{
-public:
-
- /** Convenience wrapper for the numbered sigc::signal0 template.
- * Like sigc::signal but the additional template parameter @e T_accumulator
- * defines the accumulator type that should be used.
- */
- template <class T_accumulator>
- class accumulated
- : public signal0<T_return, T_accumulator>
- {
- public:
- accumulated() {}
- accumulated(const accumulated& src)
- : signal0<T_return, T_accumulator>(src) {}
- };
-
- signal() {}
- signal(const signal& src)
- : signal0<T_return, nil_>(src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::signal1 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::signal
- * template for 1 argument(s).
- */
-template <class T_return, class T_arg1>
-class signal <T_return, T_arg1>
- : public signal1<T_return, T_arg1, nil_>
-{
-public:
-
- /** Convenience wrapper for the numbered sigc::signal1 template.
- * Like sigc::signal but the additional template parameter @e T_accumulator
- * defines the accumulator type that should be used.
- */
- template <class T_accumulator>
- class accumulated
- : public signal1<T_return, T_arg1, T_accumulator>
- {
- public:
- accumulated() {}
- accumulated(const accumulated& src)
- : signal1<T_return, T_arg1, T_accumulator>(src) {}
- };
-
- signal() {}
- signal(const signal& src)
- : signal1<T_return, T_arg1, nil_>(src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::signal2 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::signal
- * template for 2 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2>
-class signal <T_return, T_arg1,T_arg2>
- : public signal2<T_return, T_arg1,T_arg2, nil_>
-{
-public:
-
- /** Convenience wrapper for the numbered sigc::signal2 template.
- * Like sigc::signal but the additional template parameter @e T_accumulator
- * defines the accumulator type that should be used.
- */
- template <class T_accumulator>
- class accumulated
- : public signal2<T_return, T_arg1,T_arg2, T_accumulator>
- {
- public:
- accumulated() {}
- accumulated(const accumulated& src)
- : signal2<T_return, T_arg1,T_arg2, T_accumulator>(src) {}
- };
-
- signal() {}
- signal(const signal& src)
- : signal2<T_return, T_arg1,T_arg2, nil_>(src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::signal3 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::signal
- * template for 3 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3>
-class signal <T_return, T_arg1,T_arg2,T_arg3>
- : public signal3<T_return, T_arg1,T_arg2,T_arg3, nil_>
-{
-public:
-
- /** Convenience wrapper for the numbered sigc::signal3 template.
- * Like sigc::signal but the additional template parameter @e T_accumulator
- * defines the accumulator type that should be used.
- */
- template <class T_accumulator>
- class accumulated
- : public signal3<T_return, T_arg1,T_arg2,T_arg3, T_accumulator>
- {
- public:
- accumulated() {}
- accumulated(const accumulated& src)
- : signal3<T_return, T_arg1,T_arg2,T_arg3, T_accumulator>(src) {}
- };
-
- signal() {}
- signal(const signal& src)
- : signal3<T_return, T_arg1,T_arg2,T_arg3, nil_>(src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::signal4 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::signal
- * template for 4 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class signal <T_return, T_arg1,T_arg2,T_arg3,T_arg4>
- : public signal4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, nil_>
-{
-public:
-
- /** Convenience wrapper for the numbered sigc::signal4 template.
- * Like sigc::signal but the additional template parameter @e T_accumulator
- * defines the accumulator type that should be used.
- */
- template <class T_accumulator>
- class accumulated
- : public signal4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_accumulator>
- {
- public:
- accumulated() {}
- accumulated(const accumulated& src)
- : signal4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_accumulator>(src) {}
- };
-
- signal() {}
- signal(const signal& src)
- : signal4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, nil_>(src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::signal5 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::signal
- * template for 5 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class signal <T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
- : public signal5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, nil_>
-{
-public:
-
- /** Convenience wrapper for the numbered sigc::signal5 template.
- * Like sigc::signal but the additional template parameter @e T_accumulator
- * defines the accumulator type that should be used.
- */
- template <class T_accumulator>
- class accumulated
- : public signal5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_accumulator>
- {
- public:
- accumulated() {}
- accumulated(const accumulated& src)
- : signal5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_accumulator>(src) {}
- };
-
- signal() {}
- signal(const signal& src)
- : signal5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, nil_>(src) {}
-};
-
-/** Convenience wrapper for the numbered sigc::signal6 template.
- * See the base class for useful methods.
- * This is the template specialization of the unnumbered sigc::signal
- * template for 6 argument(s).
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-class signal <T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
- : public signal6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, nil_>
-{
-public:
-
- /** Convenience wrapper for the numbered sigc::signal6 template.
- * Like sigc::signal but the additional template parameter @e T_accumulator
- * defines the accumulator type that should be used.
- */
- template <class T_accumulator>
- class accumulated
- : public signal6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_accumulator>
- {
- public:
- accumulated() {}
- accumulated(const accumulated& src)
- : signal6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_accumulator>(src) {}
- };
-
- signal() {}
- signal(const signal& src)
- : signal6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, nil_>(src) {}
-};
-
-
-
-} /* namespace sigc */
-
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-// SignalN
-/** Signal declaration.
- * Signal0 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used. Signal emission returns the return value of the last slot invoked.
- *
- * @deprecated Use the unnumbered template sigc::signal instead.
- * @ingroup compat
- */
-template <class T_return, class T_accumulator=::sigc::nil_>
-class Signal0
- : public ::sigc::signal0<T_return, T_accumulator>
-{
-public:
- typedef ::sigc::signal0<T_return, T_accumulator> parent_type;
- typedef typename parent_type::result_type result_type;
- typedef typename parent_type::slot_type slot_type;
-
- Signal0() {}
- Signal0(const Signal0& src)
- : ::sigc::signal0<T_return, T_accumulator>(src) {}
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal0::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- slot_type slot() const
- { return ::sigc::bound_const_mem_functor0<result_type, parent_type>(this, &parent_type::emit); }
-};
-
-/** Signal declaration.
- * Signal1 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used. Signal emission returns the return value of the last slot invoked.
- *
- * @deprecated Use the unnumbered template sigc::signal instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1, class T_accumulator=::sigc::nil_>
-class Signal1
- : public ::sigc::signal1<T_return, T_arg1, T_accumulator>
-{
-public:
- typedef ::sigc::signal1<T_return, T_arg1, T_accumulator> parent_type;
- typedef typename parent_type::result_type result_type;
- typedef typename parent_type::slot_type slot_type;
-
- Signal1() {}
- Signal1(const Signal1& src)
- : ::sigc::signal1<T_return, T_arg1, T_accumulator>(src) {}
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal1::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- slot_type slot() const
- { return ::sigc::bound_const_mem_functor1<result_type, parent_type, typename ::sigc::type_trait<T_arg1>::take>(this, &parent_type::emit); }
-};
-
-/** Signal declaration.
- * Signal2 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used. Signal emission returns the return value of the last slot invoked.
- *
- * @deprecated Use the unnumbered template sigc::signal instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2, class T_accumulator=::sigc::nil_>
-class Signal2
- : public ::sigc::signal2<T_return, T_arg1,T_arg2, T_accumulator>
-{
-public:
- typedef ::sigc::signal2<T_return, T_arg1,T_arg2, T_accumulator> parent_type;
- typedef typename parent_type::result_type result_type;
- typedef typename parent_type::slot_type slot_type;
-
- Signal2() {}
- Signal2(const Signal2& src)
- : ::sigc::signal2<T_return, T_arg1,T_arg2, T_accumulator>(src) {}
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal2::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- slot_type slot() const
- { return ::sigc::bound_const_mem_functor2<result_type, parent_type, typename ::sigc::type_trait<T_arg1>::take,typename ::sigc::type_trait<T_arg2>::take>(this, &parent_type::emit); }
-};
-
-/** Signal declaration.
- * Signal3 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used. Signal emission returns the return value of the last slot invoked.
- *
- * @deprecated Use the unnumbered template sigc::signal instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_accumulator=::sigc::nil_>
-class Signal3
- : public ::sigc::signal3<T_return, T_arg1,T_arg2,T_arg3, T_accumulator>
-{
-public:
- typedef ::sigc::signal3<T_return, T_arg1,T_arg2,T_arg3, T_accumulator> parent_type;
- typedef typename parent_type::result_type result_type;
- typedef typename parent_type::slot_type slot_type;
-
- Signal3() {}
- Signal3(const Signal3& src)
- : ::sigc::signal3<T_return, T_arg1,T_arg2,T_arg3, T_accumulator>(src) {}
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal3::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- slot_type slot() const
- { return ::sigc::bound_const_mem_functor3<result_type, parent_type, typename ::sigc::type_trait<T_arg1>::take,typename ::sigc::type_trait<T_arg2>::take,typename ::sigc::type_trait<T_arg3>::take>(this, &parent_type::emit); }
-};
-
-/** Signal declaration.
- * Signal4 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_arg4 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used. Signal emission returns the return value of the last slot invoked.
- *
- * @deprecated Use the unnumbered template sigc::signal instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_accumulator=::sigc::nil_>
-class Signal4
- : public ::sigc::signal4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_accumulator>
-{
-public:
- typedef ::sigc::signal4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_accumulator> parent_type;
- typedef typename parent_type::result_type result_type;
- typedef typename parent_type::slot_type slot_type;
-
- Signal4() {}
- Signal4(const Signal4& src)
- : ::sigc::signal4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_accumulator>(src) {}
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal4::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- slot_type slot() const
- { return ::sigc::bound_const_mem_functor4<result_type, parent_type, typename ::sigc::type_trait<T_arg1>::take,typename ::sigc::type_trait<T_arg2>::take,typename ::sigc::type_trait<T_arg3>::take,typename ::sigc::type_trait<T_arg4>::take>(this, &parent_type::emit); }
-};
-
-/** Signal declaration.
- * Signal5 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_arg4 Argument type used in the definition of emit().
- * - @e T_arg5 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used. Signal emission returns the return value of the last slot invoked.
- *
- * @deprecated Use the unnumbered template sigc::signal instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_accumulator=::sigc::nil_>
-class Signal5
- : public ::sigc::signal5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_accumulator>
-{
-public:
- typedef ::sigc::signal5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_accumulator> parent_type;
- typedef typename parent_type::result_type result_type;
- typedef typename parent_type::slot_type slot_type;
-
- Signal5() {}
- Signal5(const Signal5& src)
- : ::sigc::signal5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_accumulator>(src) {}
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal5::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- slot_type slot() const
- { return ::sigc::bound_const_mem_functor5<result_type, parent_type, typename ::sigc::type_trait<T_arg1>::take,typename ::sigc::type_trait<T_arg2>::take,typename ::sigc::type_trait<T_arg3>::take,typename ::sigc::type_trait<T_arg4>::take,typename ::sigc::type_trait<T_arg5>::take>(this, &parent_type::emit); }
-};
-
-/** Signal declaration.
- * Signal6 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_arg4 Argument type used in the definition of emit().
- * - @e T_arg5 Argument type used in the definition of emit().
- * - @e T_arg6 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used. Signal emission returns the return value of the last slot invoked.
- *
- * @deprecated Use the unnumbered template sigc::signal instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_accumulator=::sigc::nil_>
-class Signal6
- : public ::sigc::signal6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_accumulator>
-{
-public:
- typedef ::sigc::signal6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_accumulator> parent_type;
- typedef typename parent_type::result_type result_type;
- typedef typename parent_type::slot_type slot_type;
-
- Signal6() {}
- Signal6(const Signal6& src)
- : ::sigc::signal6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6, T_accumulator>(src) {}
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal6::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- slot_type slot() const
- { return ::sigc::bound_const_mem_functor6<result_type, parent_type, typename ::sigc::type_trait<T_arg1>::take,typename ::sigc::type_trait<T_arg2>::take,typename ::sigc::type_trait<T_arg3>::take,typename ::sigc::type_trait<T_arg4>::take,typename ::sigc::type_trait<T_arg5>::take,typename ::sigc::type_trait<T_arg6>::take>(this, &parent_type::emit); }
-};
-
-/** Signal declaration.
- * Signal7 can be used to connect() slots that are invoked
- * during subsequent calls to emit(). Any functor or slot
- * can be passed into connect(). It is converted into a slot
- * implicitely.
- *
- * If you want to connect one signal to another, use slot()
- * to retrieve a functor that emits the signal when invoked.
- *
- * Be careful if you directly pass one signal into the connect()
- * method of another: a shallow copy of the signal is made and
- * the signal's slots are not disconnected until both the signal
- * and its clone are destroyed which is probably not what you want!
- *
- * An STL-style list interface for the signal's list of slots
- * can be retrieved with slots(). This interface supports
- * iteration, insertion and removal of slots.
- *
- * The following template arguments are used:
- * - @e T_return The desired return type for the emit() function (may be overridden by the accumulator).
- * - @e T_arg1 Argument type used in the definition of emit().
- * - @e T_arg2 Argument type used in the definition of emit().
- * - @e T_arg3 Argument type used in the definition of emit().
- * - @e T_arg4 Argument type used in the definition of emit().
- * - @e T_arg5 Argument type used in the definition of emit().
- * - @e T_arg6 Argument type used in the definition of emit().
- * - @e T_arg7 Argument type used in the definition of emit().
- * - @e T_accumulator The accumulator type used for emission. The default @p nil_ means that no accumulator should be used. Signal emission returns the return value of the last slot invoked.
- *
- * @deprecated Use the unnumbered template sigc::signal instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_accumulator=::sigc::nil_>
-class Signal7
- : public ::sigc::signal7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_accumulator>
-{
-public:
- typedef ::sigc::signal7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_accumulator> parent_type;
- typedef typename parent_type::result_type result_type;
- typedef typename parent_type::slot_type slot_type;
-
- Signal7() {}
- Signal7(const Signal7& src)
- : ::sigc::signal7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7, T_accumulator>(src) {}
-
- /** Creates a functor that calls emit() on this signal.
- * @code
- * sigc::mem_fun(mysignal, &sigc::signal7::emit)
- * @endcode
- * yields the same result.
- * @return A functor that calls emit() on this signal.
- */
- slot_type slot() const
- { return ::sigc::bound_const_mem_functor7<result_type, parent_type, typename ::sigc::type_trait<T_arg1>::take,typename ::sigc::type_trait<T_arg2>::take,typename ::sigc::type_trait<T_arg3>::take,typename ::sigc::type_trait<T_arg4>::take,typename ::sigc::type_trait<T_arg5>::take,typename ::sigc::type_trait<T_arg6>::take,typename ::sigc::type_trait<T_arg7>::take>(this, &parent_type::emit); }
-};
-
-
-}
-
-#endif /* LIBSIGC_DISABLE_DEPRECATED */
-
-#endif /* _SIGC_SIGNAL_H_ */
diff --git a/libs/sigc++2/sigc++/signal_base.cc b/libs/sigc++2/sigc++/signal_base.cc
deleted file mode 100644
index 568cf061c8..0000000000
--- a/libs/sigc++2/sigc++/signal_base.cc
+++ /dev/null
@@ -1,151 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2003, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#include <sigc++/signal_base.h>
-
-namespace sigc {
-namespace internal {
-
-signal_impl::signal_impl()
-: ref_count_(0), exec_count_(0), deferred_(0)
-{}
-
-// only MSVC needs this to guarantee that all new/delete are executed from the DLL module
-#ifdef SIGC_NEW_DELETE_IN_LIBRARY_ONLY
-void* signal_impl::operator new(size_t size_)
-{
- return malloc(size_);
-}
-
-void signal_impl::operator delete(void* p)
-{
- free(p);
-}
-#endif
-
-void signal_impl::clear()
-{
- slots_.clear();
-}
-
-signal_impl::size_type signal_impl::size() const
-{
- return slots_.size();
-}
-
-signal_impl::iterator_type signal_impl::connect(const slot_base& slot_)
-{
- return insert(slots_.end(), slot_);
-}
-
-signal_impl::iterator_type signal_impl::erase(iterator_type i)
-{
- return slots_.erase(i);
-}
-
-signal_impl::iterator_type signal_impl::insert(signal_impl::iterator_type i, const slot_base& slot_)
-{
- iterator_type temp = slots_.insert(i, slot_);
- temp->set_parent(this, &notify);
- return temp;
-}
-
-void signal_impl::sweep()
-{
- iterator_type i = slots_.begin();
- while (i != slots_.end())
- if ((*i).empty())
- i = slots_.erase(i);
- else
- ++i;
-}
-
-void* signal_impl::notify(void* d)
-{
- signal_impl* self = (signal_impl*)d;
- if (self->exec_count_ == 0)
- self->sweep();
- else // This is occuring during signal emission.
- self->deferred_ = true; // => sweep() will be called from ~signal_exec().
- return 0; // This is safer because we don't have to care about our iterators in emit().
-}
-
-} /* namespace internal */
-
-signal_base::signal_base()
-: impl_(0)
-{}
-
-signal_base::signal_base(const signal_base& src)
-: trackable(),
- impl_(src.impl())
-{
- impl_->reference();
-}
-
-signal_base::~signal_base()
-{
- if (impl_)
- impl_->unreference();
-}
-
-void signal_base::clear()
-{
- if (impl_)
- impl_->clear();
-}
-
-signal_base::size_type signal_base::size() const
-{
- return (impl_ ? impl_->size() : 0);
-}
-
-signal_base::iterator_type signal_base::connect(const slot_base& slot_)
-{
- return impl()->connect(slot_);
-}
-
-signal_base::iterator_type signal_base::insert(iterator_type i, const slot_base& slot_)
-{
- return impl()->insert(i, slot_);
-}
-
-signal_base::iterator_type signal_base::erase(iterator_type i)
-{
- return impl()->erase(i);
-}
-
-signal_base& signal_base::operator = (const signal_base& src)
-{
- if (impl_) impl_->unreference();
- impl_ = src.impl();
- impl_->reference();
- return *this;
-}
-
-internal::signal_impl* signal_base::impl() const
-{
- if (!impl_) {
- impl_ = new internal::signal_impl;
- impl_->reference(); // start with a reference count of 1
- }
- return impl_;
-}
-
-} /* sigc */
diff --git a/libs/sigc++2/sigc++/signal_base.h b/libs/sigc++2/sigc++/signal_base.h
deleted file mode 100644
index 3af33d3e99..0000000000
--- a/libs/sigc++2/sigc++/signal_base.h
+++ /dev/null
@@ -1,261 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef _SIGC_SIGNAL_BASE_H_
-#define _SIGC_SIGNAL_BASE_H_
-
-#include <list>
-#include <sigc++config.h>
-#include <sigc++/type_traits.h>
-#include <sigc++/trackable.h>
-#include <sigc++/functors/slot.h>
-#include <sigc++/functors/mem_fun.h>
-
-namespace sigc
-{
-
-namespace internal
-{
-
-/** Implementation of the signal interface.
- * signal_impl manages a list of slots. When a slot becomes
- * invalid (because some referred object dies), notify() is executed.
- * notify() either calls sweep() directly or defers the execution of
- * sweep() when the signal is being emitted. sweep() removes all
- * invalid slot from the list.
- */
-struct SIGC_API signal_impl
-{
- typedef size_t size_type;
- typedef std::list<slot_base>::iterator iterator_type;
- typedef std::list<slot_base>::const_iterator const_iterator_type;
-
- signal_impl();
-
- // only MSVC needs this to guarantee that all new/delete are executed from the DLL module
-#ifdef SIGC_NEW_DELETE_IN_LIBRARY_ONLY
- void* operator new(size_t size_);
- void operator delete(void* p);
-#endif
-
- /// Increments the reference counter.
- inline void reference()
- { ++ref_count_; }
-
- /// Increments the reference and execution counter.
- inline void reference_exec()
- { ++ref_count_; ++exec_count_; }
-
- /** Decrements the reference counter.
- * The object is deleted when the reference counter reaches zero.
- */
- inline void unreference()
- { if (!(--ref_count_)) delete this; }
-
- /** Decrements the reference and execution counter.
- * Invokes sweep() if the execution counter reaches zero and the
- * removal of one or more slots has been deferred.
- */
- inline void unreference_exec()
- {
- if (!(--ref_count_)) delete this;
- else if (!(--exec_count_) && deferred_) sweep();
- }
-
- /** Returns whether the list of slots is empty.
- * @return @p true if the list of slots is empty.
- */
- inline bool empty() const
- { return slots_.empty(); }
-
- /// Empties the list of slots.
- void clear();
-
- /** Returns the number of slots in the list.
- * @return The number of slots in the list.
- */
- size_type size() const;
-
- /** Adds a slot at the bottom of the list of slots.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator_type connect(const slot_base& slot_);
-
- /** Adds a slot at the given position into the list of slots.
- * @param i An iterator indicating the position where @p slot_ should be inserted.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator_type insert(iterator_type i, const slot_base& slot_);
-
- /** Removes the slot at the given position from the list of slots.
- * @param i An iterator pointing to the slot to be removed.
- * @return An iterator pointing to the slot in the list after the one removed.
- */
- iterator_type erase(iterator_type i);
-
- /// Removes invalid slots from the list of slots.
- void sweep();
-
- /** Callback that is executed when some slot becomes invalid.
- * This callback is registered in every slot when inserted into
- * the list of slots. It is executed when a slot becomes invalid
- * because of some referred object being destroyed.
- * It either calls sweep() directly or defers the execution of
- * sweep() when the signal is being emitted.
- * @param d The signal object (@p this).
- */
- static void* notify(void* d);
-
- /** Reference counter.
- * The object is destroyed when @em ref_count_ reaches zero.
- */
- short ref_count_;
-
- /** Execution counter.
- * Indicates whether the signal is being emitted.
- */
- short exec_count_;
-
- /// Indicates whether the execution of sweep() is being deferred.
- bool deferred_;
-
- /// The list of slots.
- std::list<slot_base> slots_;
-};
-
-/// Exception safe sweeper for cleaning up invalid slots on the slot list.
-struct SIGC_API signal_exec
-{
- /// The parent sigc::signal_impl object.
- signal_impl* sig_;
-
- /** Increments the reference and execution counter of the parent sigc::signal_impl object.
- * @param sig The parent sigc::signal_impl object.
- */
- inline signal_exec(const signal_impl* sig)
- : sig_(const_cast<signal_impl*>(sig) )
- { sig_->reference_exec(); }
-
- /// Decrements the reference and execution counter of the parent sigc::signal_impl object.
- inline ~signal_exec()
- { sig_->unreference_exec(); }
-};
-
-} /* namespace internal */
-
-
-/** @defgroup signal Signals
- * Use sigc::signal::connect() with sigc::mem_fun() and sigc::ptr_fun() to connect a method or function with a signal.
- *
- * @code
- * signal_clicked.connect( sigc::mem_fun(*this, &MyWindow::on_clicked) );
- * @endcode
- *
- * When the signal is emitted your method will be called.
- *
- * signal::connect() returns a connection, which you can later use to disconnect your method.
- * If the type of your object inherits from sigc::trackable the method is disconnected
- * automatically when your object is destroyed.
- *
- * When signals are copied they share the underlying information,
- * so you can have a protected/private sigc::signal member and a public accessor method.
- *
- * signal and slot objects provide the core functionality of this
- * library. A slot is a container for an arbitrary functor.
- * A signal is a list of slots that are executed on emission.
- * For compile time type safety a list of template arguments
- * must be provided for the signal template that determines the
- * parameter list for emission. Functors and closures are converted
- * into slots implicitely on connection, triggering compiler errors
- * if the given functor or closure cannot be invoked with the
- * parameter list of the signal to connect to.
- */
-
-/** Base class for the sigc::signal# templates.
- * signal_base integrates most of the interface of the derived sigc::signal#
- * templates. The implementation, however, resides in sigc::internal::signal_impl.
- * A sigc::internal::signal_impl object is dynamically allocated from signal_base
- * when first connecting a slot to the signal. This ensures that empty signals
- * don't waste memory.
- *
- * @ingroup signal
- */
-struct SIGC_API signal_base : public trackable
-{
- typedef size_t size_type;
-
- signal_base();
-
- signal_base(const signal_base& src);
-
- ~signal_base();
-
- signal_base& operator = (const signal_base& src);
-
- /** Returns whether the list of slots is empty.
- * @return @p true if the list of slots is empty.
- */
- inline bool empty() const
- { return (!impl_ || impl_->empty()); }
-
- /// Empties the list of slots.
- void clear();
-
- /** Returns the number of slots in the list.
- * @return The number of slots in the list.
- */
- size_type size() const;
-
-protected:
- typedef internal::signal_impl::iterator_type iterator_type;
-
- /** Adds a slot at the bottom of the list of slots.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator_type connect(const slot_base& slot_);
-
- /** Adds a slot at the given position into the list of slots.
- * @param i An iterator indicating the position where @e slot_ should be inserted.
- * @param slot_ The slot to add to the list of slots.
- * @return An iterator pointing to the new slot in the list.
- */
- iterator_type insert(iterator_type i, const slot_base& slot_);
-
- /** Removes the slot at the given position from the list of slots.
- * @param i An iterator pointing to the slot to be removed.
- * @return An iterator pointing to the slot in the list after the one removed.
- */
- iterator_type erase(iterator_type i);
-
- /** Returns the signal_impl object encapsulating the list of slots.
- * @return The signal_impl object encapsulating the list of slots.
- */
- internal::signal_impl* impl() const;
-
- /// The signal_impl object encapsulating the slot list.
- mutable internal::signal_impl* impl_;
-};
-
-} //namespace sigc
-
-#endif /* _SIGC_SIGNAL_BASE_H_ */
diff --git a/libs/sigc++2/sigc++/slot.h b/libs/sigc++2/sigc++/slot.h
deleted file mode 100644
index f7fbe3cd2e..0000000000
--- a/libs/sigc++2/sigc++/slot.h
+++ /dev/null
@@ -1,614 +0,0 @@
-// -*- c++ -*-
-/* Do not edit! -- generated file */
-
-
-#ifndef _SIGC_MACROS_SLOTHM4_
-#define _SIGC_MACROS_SLOTHM4_
-
-#include <sigc++/functors/slot.h>
-
-#ifndef LIBSIGC_DISABLE_DEPRECATED
-
-namespace SigC {
-
-// SlotN
-/** Converts an arbitrary functor to a unified type which is opaque.
- * Slot0 itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * #include <sigc++/slot.h>
- * void foo(int) {}
- * SigC::Slot1<void, long> s = SigC::slot(&foo);
- * s(19);
- * @endcode
- *
- * @deprecated Use the unnumbered template sigc::slot instead.
- * @ingroup compat
- */
-template <class T_return>
-class Slot0
- : public ::sigc::slot<T_return>
-{
-public:
- typedef ::sigc::slot<T_return> parent_type;
-
- /// Constructs an empty slot.
- Slot0() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desired functor the new slot should be assigned to.
- */
- template <class T_functor>
- Slot0(const T_functor& _A_func)
- : ::sigc::slot<T_return>(_A_func) {}
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- Slot0(const parent_type& src)
- : parent_type(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- Slot0& operator=(const parent_type& src)
- { parent_type::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * Slot1 itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * #include <sigc++/slot.h>
- * void foo(int) {}
- * SigC::Slot1<void, long> s = SigC::slot(&foo);
- * s(19);
- * @endcode
- *
- * @deprecated Use the unnumbered template sigc::slot instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1>
-class Slot1
- : public ::sigc::slot<T_return, T_arg1>
-{
-public:
- typedef ::sigc::slot<T_return, T_arg1> parent_type;
-
- /// Constructs an empty slot.
- Slot1() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desired functor the new slot should be assigned to.
- */
- template <class T_functor>
- Slot1(const T_functor& _A_func)
- : ::sigc::slot<T_return, T_arg1>(_A_func) {}
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- Slot1(const parent_type& src)
- : parent_type(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- Slot1& operator=(const parent_type& src)
- { parent_type::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * Slot2 itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * #include <sigc++/slot.h>
- * void foo(int) {}
- * SigC::Slot1<void, long> s = SigC::slot(&foo);
- * s(19);
- * @endcode
- *
- * @deprecated Use the unnumbered template sigc::slot instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2>
-class Slot2
- : public ::sigc::slot<T_return, T_arg1,T_arg2>
-{
-public:
- typedef ::sigc::slot<T_return, T_arg1,T_arg2> parent_type;
-
- /// Constructs an empty slot.
- Slot2() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desired functor the new slot should be assigned to.
- */
- template <class T_functor>
- Slot2(const T_functor& _A_func)
- : ::sigc::slot<T_return, T_arg1,T_arg2>(_A_func) {}
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- Slot2(const parent_type& src)
- : parent_type(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- Slot2& operator=(const parent_type& src)
- { parent_type::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * Slot3 itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * #include <sigc++/slot.h>
- * void foo(int) {}
- * SigC::Slot1<void, long> s = SigC::slot(&foo);
- * s(19);
- * @endcode
- *
- * @deprecated Use the unnumbered template sigc::slot instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3>
-class Slot3
- : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3>
-{
-public:
- typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3> parent_type;
-
- /// Constructs an empty slot.
- Slot3() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desired functor the new slot should be assigned to.
- */
- template <class T_functor>
- Slot3(const T_functor& _A_func)
- : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3>(_A_func) {}
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- Slot3(const parent_type& src)
- : parent_type(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- Slot3& operator=(const parent_type& src)
- { parent_type::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * Slot4 itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * #include <sigc++/slot.h>
- * void foo(int) {}
- * SigC::Slot1<void, long> s = SigC::slot(&foo);
- * s(19);
- * @endcode
- *
- * @deprecated Use the unnumbered template sigc::slot instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-class Slot4
- : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-{
-public:
- typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4> parent_type;
-
- /// Constructs an empty slot.
- Slot4() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desired functor the new slot should be assigned to.
- */
- template <class T_functor>
- Slot4(const T_functor& _A_func)
- : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func) {}
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- Slot4(const parent_type& src)
- : parent_type(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- Slot4& operator=(const parent_type& src)
- { parent_type::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * Slot5 itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * #include <sigc++/slot.h>
- * void foo(int) {}
- * SigC::Slot1<void, long> s = SigC::slot(&foo);
- * s(19);
- * @endcode
- *
- * @deprecated Use the unnumbered template sigc::slot instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-class Slot5
- : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-{
-public:
- typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> parent_type;
-
- /// Constructs an empty slot.
- Slot5() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desired functor the new slot should be assigned to.
- */
- template <class T_functor>
- Slot5(const T_functor& _A_func)
- : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func) {}
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- Slot5(const parent_type& src)
- : parent_type(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- Slot5& operator=(const parent_type& src)
- { parent_type::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * Slot6 itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * #include <sigc++/slot.h>
- * void foo(int) {}
- * SigC::Slot1<void, long> s = SigC::slot(&foo);
- * s(19);
- * @endcode
- *
- * @deprecated Use the unnumbered template sigc::slot instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-class Slot6
- : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-{
-public:
- typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> parent_type;
-
- /// Constructs an empty slot.
- Slot6() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desired functor the new slot should be assigned to.
- */
- template <class T_functor>
- Slot6(const T_functor& _A_func)
- : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func) {}
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- Slot6(const parent_type& src)
- : parent_type(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- Slot6& operator=(const parent_type& src)
- { parent_type::operator=(src); return *this; }
-};
-
-/** Converts an arbitrary functor to a unified type which is opaque.
- * Slot7 itself is a functor or to be more precise a closure. It contains
- * a single, arbitrary functor (or closure) that is executed in operator()().
- *
- * The template arguments determine the function signature of operator()():
- * - @e T_return The return type of operator()().
- * - @e T_arg1 Argument type used in the definition of operator()().
- * - @e T_arg2 Argument type used in the definition of operator()().
- * - @e T_arg3 Argument type used in the definition of operator()().
- * - @e T_arg4 Argument type used in the definition of operator()().
- * - @e T_arg5 Argument type used in the definition of operator()().
- * - @e T_arg6 Argument type used in the definition of operator()().
- * - @e T_arg7 Argument type used in the definition of operator()().
- *
- * To use simply assign the slot to the desired functor. If the functor
- * is not compatible with the parameter list defined with the template
- * arguments compiler errors are triggered. When called the slot
- * will invoke the functor with minimal copies.
- * block() and unblock() can be used to block the functor's invocation
- * from operator()() temporarily.
- *
- * @par Example:
- * @code
- * #include <sigc++/slot.h>
- * void foo(int) {}
- * SigC::Slot1<void, long> s = SigC::slot(&foo);
- * s(19);
- * @endcode
- *
- * @deprecated Use the unnumbered template sigc::slot instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-class Slot7
- : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-{
-public:
- typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> parent_type;
-
- /// Constructs an empty slot.
- Slot7() {}
-
- /** Constructs a slot from an arbitrary functor.
- * @param _A_func The desired functor the new slot should be assigned to.
- */
- template <class T_functor>
- Slot7(const T_functor& _A_func)
- : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func) {}
-
- /** Constructs a slot, copying an existing one.
- * @param src The existing slot to copy.
- */
- Slot7(const parent_type& src)
- : parent_type(src) {}
-
- /** Overrides this slot making a copy from another slot.
- * @param src The slot from which to make a copy.
- * @return @p this.
- */
- Slot7& operator=(const parent_type& src)
- { parent_type::operator=(src); return *this; }
-};
-
-
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-/* gcc 3.2 reports a strange conflict between SigC::slot() and sigc::slot<>
- * when "using namespace SigC" and later using a slot(obj,func) overload
- * without the prefix "SigC::". Probably a compiler bug. I will investigate.
- *
- * This ugly hack avoids the error:
- */
-// #define slot(...) make_slot(__VA_ARGS__) /* only works for gcc */
-#endif
-
-
-// slot()
-/** Creates a functor of type SigC::Slot0 that wraps an existing non-member function.
- *
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::ptr_fun() instead.
- * @ingroup compat
- */
-template <class T_return>
-inline Slot0<T_return>
-slot(T_return (*_A_func)())
-{ return Slot0<T_return>(_A_func); }
-
-/** Creates a functor of type SigC::Slot1 that wraps an existing non-member function.
- *
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::ptr_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1>
-inline Slot1<T_return, T_arg1>
-slot(T_return (*_A_func)(T_arg1))
-{ return Slot1<T_return, T_arg1>(_A_func); }
-
-/** Creates a functor of type SigC::Slot2 that wraps an existing non-member function.
- *
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::ptr_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2>
-inline Slot2<T_return, T_arg1,T_arg2>
-slot(T_return (*_A_func)(T_arg1,T_arg2))
-{ return Slot2<T_return, T_arg1,T_arg2>(_A_func); }
-
-/** Creates a functor of type SigC::Slot3 that wraps an existing non-member function.
- *
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::ptr_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3>
-inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
-slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3))
-{ return Slot3<T_return, T_arg1,T_arg2,T_arg3>(_A_func); }
-
-/** Creates a functor of type SigC::Slot4 that wraps an existing non-member function.
- *
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::ptr_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4>
-inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
-slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4))
-{ return Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); }
-
-/** Creates a functor of type SigC::Slot5 that wraps an existing non-member function.
- *
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::ptr_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5>
-inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
-slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5))
-{ return Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); }
-
-/** Creates a functor of type SigC::Slot6 that wraps an existing non-member function.
- *
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::ptr_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6>
-inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
-slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6))
-{ return Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); }
-
-/** Creates a functor of type SigC::Slot7 that wraps an existing non-member function.
- *
- * @param _A_func Pointer to function that should be wrapped.
- * @return Functor that executes _A_func on invokation.
- *
- * @deprecated Use sigc::ptr_fun() instead.
- * @ingroup compat
- */
-template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7>
-inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
-slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7))
-{ return Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); }
-
-
-
-}
-
-#endif
-#endif /* _SIGC_MACROS_SLOTHM4_ */
diff --git a/libs/sigc++2/sigc++/trackable.cc b/libs/sigc++2/sigc++/trackable.cc
deleted file mode 100644
index 46e2592ffb..0000000000
--- a/libs/sigc++2/sigc++/trackable.cc
+++ /dev/null
@@ -1,124 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <sigc++/trackable.h>
-#include <iostream>
-using namespace std;
-
-namespace sigc
-{
-
-trackable::trackable()
-: callback_list_(0)
-{}
-
-/* Don't copy the notification list.
- The objects watching src don't need to be notified when the new object dies. */
-trackable::trackable(const trackable& /*src*/)
-: callback_list_(0)
-{}
-
-trackable& trackable::operator=(const trackable& src)
-{
- if(this != &src)
- notify_callbacks(); //Make sure that we have finished with existing stuff before replacing it.
-
- return *this;
-}
-
-trackable::~trackable()
-{
- notify_callbacks();
-}
-
-void trackable::add_destroy_notify_callback(void* data, func_destroy_notify func) const
-{
- callback_list()->add_callback(data, func);
-}
-
-void trackable::remove_destroy_notify_callback(void* data) const
-{
- callback_list()->remove_callback(data);
-}
-
-void trackable::notify_callbacks()
-{
- if (callback_list_)
- delete callback_list_; //This invokes all of the callbacks.
-
- callback_list_ = 0;
-}
-
-internal::trackable_callback_list* trackable::callback_list() const
-{
- if (!callback_list_)
- callback_list_ = new internal::trackable_callback_list;
-
- return callback_list_;
-}
-
-
-namespace internal
-{
-
-trackable_callback_list::~trackable_callback_list()
-{
- clearing_ = true;
-
- for (callback_list::iterator i = callbacks_.begin(); i != callbacks_.end(); ++i)
- (*i).func_((*i).data_);
-}
-
-void trackable_callback_list::add_callback(void* data, func_destroy_notify func)
-{
- if (!clearing_) // TODO: Is it okay to silently ignore attempts to add dependencies when the list is being cleared?
- // I'd consider this a serious application bug, since the app is likely to segfault.
- // But then, how should we handle it? Throw an exception? Martin.
- callbacks_.push_back(trackable_callback(data, func));
-}
-
-void trackable_callback_list::clear()
-{
- clearing_ = true;
-
- for (callback_list::iterator i = callbacks_.begin(); i != callbacks_.end(); ++i)
- (*i).func_((*i).data_);
-
- callbacks_.clear();
-
- clearing_ = false;
-}
-
-void trackable_callback_list::remove_callback(void* data)
-{
- if (clearing_) return; // No circular notices
-
- for (callback_list::iterator i = callbacks_.begin(); i != callbacks_.end(); ++i)
- if ((*i).data_ == data)
- {
- callbacks_.erase(i);
- return;
- }
-}
-
-} /* namespace internal */
-
-
-} /* namespace sigc */
diff --git a/libs/sigc++2/sigc++/trackable.h b/libs/sigc++2/sigc++/trackable.h
deleted file mode 100644
index 4563738dd6..0000000000
--- a/libs/sigc++2/sigc++/trackable.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_TRACKABLE_HPP_
-#define _SIGC_TRACKABLE_HPP_
-#include <list>
-#include <sigc++config.h>
-
-namespace sigc {
-
-namespace internal {
-
-typedef void* (*func_destroy_notify) (void* data);
-
-/** Destroy notification callback.
- * A destroy notification callback consists of a data pointer and a
- * function pointer. The function is executed from the owning callback
- * list (of type sigc::internal::trackable_callback_list) when its parent
- * object (of type sigc::trackable) is destroyed or overwritten.
- */
-struct SIGC_API trackable_callback
-{
- void* data_;
- func_destroy_notify func_;
- trackable_callback(void* data, func_destroy_notify func)
- : data_(data), func_(func) {}
-};
-
-/** Callback list.
- * A callback list holds an STL list of callbacks of type
- * trackable_callback. Callbacks are added and removed with
- * add_callback(), remove_callback() and clear(). The callbacks
- * are invoked from clear() and from the destructor.
- */
-struct SIGC_API trackable_callback_list
-{
- /** Add a callback function.
- * @param data Data that will be sent as a parameter to teh callback function.
- * @param func The callback function.
- *
- */
- void add_callback(void* data, func_destroy_notify func);
-
- /** Remove the callback which has this data associated with it.
- * @param data The data that was given as a parameter to add_callback().
- */
- void remove_callback(void* data);
-
- /** This invokes all of the callback functions.
- */
- void clear();
-
- trackable_callback_list()
- : clearing_(false) {}
-
- /** This invokes all of the callback functions.
- */
- ~trackable_callback_list();
-
-private:
- typedef std::list<trackable_callback> callback_list;
- callback_list callbacks_;
- bool clearing_;
-};
-
-} /* namespace internal */
-
-
-/** Base class for objects with auto-disconnection.
- * trackable must be inherited when objects shall automatically
- * invalidate slots referring to them on destruction.
- * A slot built from a member function of a trackable derived
- * type installs a callback that is invoked when the trackable object
- * is destroyed or overwritten.
- *
- * add_destroy_notify_callback() and remove_destroy_notify_callback()
- * can be used to manually install and remove callbacks when
- * notification of the object dying is needed.
- *
- * notify_callbacks() invokes and removes all previously installed
- * callbacks and can therefore be used to disconnect from all signals.
- *
- * Note that there is no virtual destructor. Don't use @p trackable*
- * as pointer type for managing your data or the destructors of
- * your derived types won't be called when deleting your objects.
- *
- * @ingroup signal
- */
-struct SIGC_API trackable
-{
- trackable();
-
- trackable(const trackable& src);
-
- trackable& operator=(const trackable& src);
-
- ~trackable();
-
- /*virtual ~trackable() {} */ /* we would need a virtual dtor for users
- who insist on using "trackable*" as
- pointer type for their own derived objects */
-
-
- typedef internal::func_destroy_notify func_destroy_notify;
-
- /** Add a callback that is executed (notified) when the trackable object is detroyed.
- * @param data Passed into func upon notification.
- * @param func Callback executed upon destruction of the object.
- */
- void add_destroy_notify_callback(void* data, func_destroy_notify func) const;
-
- /** Remove a callback previously installed with add_destroy_notify_callback().
- * The callback is not executed.
- * @param data Parameter passed into previous call to add_destroy_notify_callback().
- */
- void remove_destroy_notify_callback(void* data) const;
-
- /// Execute and remove all previously installed callbacks.
- void notify_callbacks();
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-private:
- /* The callbacks are held in a list of type trackable_callback_list.
- * This list is allocated dynamically when the first callback is added.
- */
- internal::trackable_callback_list* callback_list() const;
- mutable internal::trackable_callback_list* callback_list_;
-#endif
-};
-
-} /* namespace sigc */
-
-#endif /* _SIGC_TRACKABLE_HPP_ */
diff --git a/libs/sigc++2/sigc++/type_traits.h b/libs/sigc++2/sigc++/type_traits.h
deleted file mode 100644
index c6d6dbbc81..0000000000
--- a/libs/sigc++2/sigc++/type_traits.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_TYPE_TRAIT_H_
-#define _SIGC_TYPE_TRAIT_H_
-
-#include <sigc++/reference_wrapper.h>
-
-namespace sigc {
-
-template <class T_type>
-struct type_trait
-{
- typedef T_type type;
- typedef T_type& pass;
- typedef const T_type& take;
- typedef T_type* pointer;
-};
-
-template <class T_type, int N>
-struct type_trait<T_type[N]>
-{
- typedef T_type* type;
- typedef T_type*& pass;
- typedef const T_type*& take;
- typedef T_type** pointer;
-};
-
-template <class T_type>
-struct type_trait<T_type&>
-{
- typedef T_type type;
- typedef T_type& pass;
- typedef T_type& take;
- typedef T_type* pointer;
-};
-
-template <class T_type>
-struct type_trait<const T_type&>
-{
- typedef const T_type type;
- typedef const T_type& pass;
- typedef const T_type& take;
- typedef const T_type* pointer;
-};
-
-template <class T_type>
-struct type_trait<reference_wrapper<T_type> >
-{
- typedef T_type type;
- typedef T_type& pass;
- typedef T_type& take;
- typedef T_type* pointer;
-};
-
-template <class T_type>
-struct type_trait<const_reference_wrapper<T_type> >
-{
- typedef T_type type;
- typedef T_type& pass;
- typedef const T_type& take;
- typedef T_type* pointer;
-};
-
-template<>
-struct type_trait<void>
-{
- typedef void type;
- typedef void pass;
- typedef void take;
- typedef void* pointer;
-};
-
-
-/** From Esa Pulkkin:
- * Compile-time determination of base-class relationship in C++
- * (adapted to match the syntax of boost's type_traits library).
- */
-template <class T_base, class T_derived>
-struct is_base_and_derived
-{
-private:
- struct big {
- char memory[64];
- };
-
- struct test {
- static big is_base_class_(...);
- static char is_base_class_(typename type_trait<T_base>::pointer);
- };
-
-public:
- static const bool value =
- sizeof(test::is_base_class_((typename type_trait<T_derived>::pointer)0)) ==
- sizeof(char);
-};
-
-template <class T_base>
-struct is_base_and_derived<T_base, T_base>
-{
- static const bool value = true;
-};
-
-} /* namespace sigc */
-
-#endif /* _SIGC_TYPE_TRAIT_H_ */
diff --git a/libs/sigc++2/sigc++/visit_each.h b/libs/sigc++2/sigc++/visit_each.h
deleted file mode 100644
index 7b7978531f..0000000000
--- a/libs/sigc++2/sigc++/visit_each.h
+++ /dev/null
@@ -1,128 +0,0 @@
-// -*- c++ -*-
-/*
- * Copyright 2002, The libsigc++ Development Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef _SIGC_VISIT_EACH_HPP_
-#define _SIGC_VISIT_EACH_HPP_
-
-#include <sigc++/type_traits.h>
-
-namespace sigc {
-
-namespace internal {
-
-/// Helper struct for visit_each_type().
-template <class T_target, class T_action>
-struct limit_derived_target
-{
- typedef limit_derived_target<T_target, T_action> T_self;
-
- template <bool I_derived, class T_type> struct with_type;
-
- template <class T_type> struct with_type<false,T_type>
- { static void execute_(const T_type&, const T_self&) {} };
-
- template <class T_type> struct with_type<true,T_type>
- { static void execute_(const T_type& _A_type, const T_self& _A_action)
- { _A_action.action_(_A_type); }
- };
-
- template <class T_type>
- void operator()(const T_type& _A_type) const
- { with_type<is_base_and_derived<T_target,T_type>::value,T_type>::execute_(_A_type,*this); }
-
- limit_derived_target(const T_action& _A_action): action_(_A_action) {}
-
- T_action action_;
-};
-
-/// Helper struct for visit_each_type().
-template <class T_target, class T_action>
-struct limit_derived_target<T_target*, T_action>
-{
- typedef limit_derived_target<T_target*, T_action> T_self;
-
- template <bool I_derived, class T_type> struct with_type;
-
- template <class T_type> struct with_type<false,T_type>
- { static void execute_(const T_type&, const T_self&) {} };
-
- template <class T_type> struct with_type<true,T_type>
- { static void execute_(const T_type& _A_type, const T_self& _A_action)
- { _A_action.action_(&_A_type); }
- };
-
- template <class T_type>
- void operator()(const T_type& _A_type) const
- { with_type<is_base_and_derived<T_target,T_type>::value,T_type>::execute_(_A_type,*this); }
-
- limit_derived_target(const T_action& _A_action): action_(_A_action) {}
-
- T_action action_;
-};
-
-} /* namespace internal */
-
-
-/** This function performs a functor on each of the targets of a functor.
- * All unknown types just call @e _A_action on them.
- * Add overloads that specialize the @e T_functor argument for your own
- * functor types, so that subobjects get visited. This is needed to enable
- * auto-disconnection support for your functor types.
- *
- * @par Example:
- * @code
- * struct some_functor
- * {
- * void operator()() {}
- * some_possibly_sigc_trackable_derived_type some_data_member;
- * some_other_functor_type some_other_functor;
- * }
- *
- * namespace sigc
- * {
- * template <class T_action>
- * void visit_each(const T_action& _A_action,
- * const some_functor& _A_target)
- * {
- * visit_each(_A_action, _A_target.some_data_member);
- * visit_each(_A_action, _A_target.some_other_functor);
- * }
- * }
- * @endcode
- *
- * @ingroup functors
- */
-template <class T_action, class T_functor>
-void visit_each(const T_action& _A_action, const T_functor& _A_functor)
-{ _A_action(_A_functor); }
-
-/** This function performs a functor on each of the targets
- * of a functor limited to a restricted type.
- *
- * @ingroup functors
- */
-template <class T_type, class T_action, class T_functor>
-void visit_each_type(const T_action& _A_action, const T_functor& _A_functor)
-{
- internal::limit_derived_target<T_type,T_action> limited_action(_A_action);
- visit_each(limited_action,_A_functor);
-}
-
-} /* namespace sigc */
-#endif